{"_id":"@canvas-js/libp2p-rendezvous","_rev":"21-f6aefac2c814c5d62028b3202ea69770","name":"@canvas-js/libp2p-rendezvous","dist-tags":{"latest":"0.5.2"},"versions":{"0.1.0":{"name":"@canvas-js/libp2p-rendezvous","version":"0.1.0","author":{"url":"https://canvas.xyz","name":"Canvas Technologies, Inc."},"_id":"@canvas-js/libp2p-rendezvous@0.1.0","maintainers":[{"name":"rjwebb","email":"bob.wbb@gmail.com"},{"name":"joelg","email":"joelg@mit.edu"},{"name":"raykyri","email":"raykyri@gmail.com"}],"dist":{"shasum":"956f7c29947b1f06f0e680f8b4d7c78a39d2ddba","tarball":"https://registry.npmjs.org/@canvas-js/libp2p-rendezvous/-/libp2p-rendezvous-0.1.0.tgz","fileCount":23,"integrity":"sha512-6tjmTf/X0zon7hzvKNUca7i4gDj97DPCkaY8OKx8m3ybLOC/W0ttNA00fQr36/VChhEcNrI7khmj9BypKIYt0A==","signatures":[{"sig":"MEUCIQCO5jhM+Y0TaYGpZd6ac7ymrRiTT2ycDTNLypM8G87NrQIgaLMRsWggfPFixXECc0ZYm/IsoWS9MrINdkHH8G0O7Hk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59088},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{"./client":"./lib/client/index.js","./server":"./lib/server/index.js","./protocol":"./lib/protocol/index.js"},"gitHead":"190fe515bf8df5ca025984f8b2ab33748555c775","scripts":{"dev":"tsc --build tsconfig.json test/tsconfig.json --watch","test":"ava --serial","build":"tsc --build tsconfig.json test/tsconfig.json","clean":"tsc --build tsconfig.json test/tsconfig.json --clean","generate":"protons ./src/protocol/message.proto"},"_npmUser":{"name":"joelg","email":"joelg@mit.edu"},"_npmVersion":"10.5.1","description":"[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![license](https://img.shields.io/github/license/canvasxyz/libp2p-rendezvous)](https://opensource.org/lic","directories":{},"_nodeVersion":"20.11.1","dependencies":{"it-pipe":"^3.0.1","it-pushable":"^3.2.3","uint8arrays":"^5.1.0","@libp2p/logger":"^4.0.16","better-sqlite3":"^11.0.0","uint8arraylist":"^2.4.8","@libp2p/peer-id":"^4.2.0","protons-runtime":"^5.5.0","@libp2p/interface":"^1.7.0","it-length-prefixed":"^9.1.0","@libp2p/peer-record":"^7.0.25","@types/better-sqlite3":"^7.6.10","@multiformats/multiaddr":"^12.3.0","@libp2p/interface-internal":"^1.3.0"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^6.1.3","libp2p":"^1.9.2","protons":"^7.6.0","@ava/typescript":"^5.0.0","@libp2p/identify":"^2.1.5","@libp2p/websockets":"^8.2.0","@chainsafe/libp2p-noise":"^15.1.1","@chainsafe/libp2p-yamux":"^6.0.2","@libp2p/peer-id-factory":"^4.2.4","@libp2p/multistream-select":"^5.1.17"},"_npmOperationalInternal":{"tmp":"tmp/libp2p-rendezvous_0.1.0_1727280291634_0.5095767041105321","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"@canvas-js/libp2p-rendezvous","version":"0.1.1","author":{"url":"https://canvas.xyz","name":"Canvas Technologies, Inc."},"_id":"@canvas-js/libp2p-rendezvous@0.1.1","maintainers":[{"name":"rjwebb","email":"bob.wbb@gmail.com"},{"name":"joelg","email":"joelg@mit.edu"},{"name":"raykyri","email":"raykyri@gmail.com"}],"dist":{"shasum":"15c8122f5b452d30b007a280872fb733e791254c","tarball":"https://registry.npmjs.org/@canvas-js/libp2p-rendezvous/-/libp2p-rendezvous-0.1.1.tgz","fileCount":23,"integrity":"sha512-kl4v2vU1JF/Ix3tY82uNEN2JcOd18cTJSAEHE3l+2t45ZRJGi+NTa5pfndBBnZ363wXrgEOZH1P3tQCxzvgDBw==","signatures":[{"sig":"MEUCIDUuFX7ltGzAoOKa4ypH1WHZduIugI0K4ZovWNAL4/QFAiEAg0MpJoeKiDmIGgugC/N+f+TLv5KXgjEecrArXa1ez/w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59378},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{"./client":"./lib/client/index.js","./server":"./lib/server/index.js","./protocol":"./lib/protocol/index.js"},"gitHead":"c7890e8147ff5802d2b02ecfb8d95e9a6abd0d0c","scripts":{"dev":"tsc --build tsconfig.json test/tsconfig.json --watch","test":"ava --serial","build":"tsc --build tsconfig.json test/tsconfig.json","clean":"tsc --build tsconfig.json test/tsconfig.json --clean","generate":"protons ./src/protocol/message.proto"},"_npmUser":{"name":"joelg","email":"joelg@mit.edu"},"_npmVersion":"10.5.1","description":"[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![license](https://img.shields.io/github/license/canvasxyz/libp2p-rendezvous)](https://opensource.org/lic","directories":{},"_nodeVersion":"20.11.1","dependencies":{"it-pipe":"^3.0.1","it-pushable":"^3.2.3","uint8arrays":"^5.1.0","@libp2p/logger":"^4.0.16","better-sqlite3":"^11.0.0","uint8arraylist":"^2.4.8","@libp2p/peer-id":"^4.2.0","protons-runtime":"^5.5.0","@libp2p/interface":"^1.7.0","it-length-prefixed":"^9.1.0","@libp2p/peer-record":"^7.0.25","@types/better-sqlite3":"^7.6.10","@multiformats/multiaddr":"^12.3.0","@libp2p/interface-internal":"^1.3.0"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^6.1.3","libp2p":"^1.9.2","protons":"^7.6.0","@ava/typescript":"^5.0.0","@libp2p/identify":"^2.1.5","@libp2p/websockets":"^8.2.0","@chainsafe/libp2p-noise":"^15.1.1","@chainsafe/libp2p-yamux":"^6.0.2","@libp2p/peer-id-factory":"^4.2.4","@libp2p/multistream-select":"^5.1.17"},"_npmOperationalInternal":{"tmp":"tmp/libp2p-rendezvous_0.1.1_1727293498229_0.12377646019052357","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"@canvas-js/libp2p-rendezvous","version":"0.1.2","author":{"url":"https://canvas.xyz","name":"Canvas Technologies, Inc."},"_id":"@canvas-js/libp2p-rendezvous@0.1.2","maintainers":[{"name":"rjwebb","email":"bob.wbb@gmail.com"},{"name":"joelg","email":"joelg@mit.edu"},{"name":"raykyri","email":"raykyri@gmail.com"}],"dist":{"shasum":"8377a847d125bea3104f4de0a542100f083e9169","tarball":"https://registry.npmjs.org/@canvas-js/libp2p-rendezvous/-/libp2p-rendezvous-0.1.2.tgz","fileCount":23,"integrity":"sha512-81KXi3lp8upT34RZ2ozbNC5/pyijoOdduTJdx63ts2EEIONaFMmUmnfS/eKh2T/LzauvnxIttP82/KGi9s7Zxg==","signatures":[{"sig":"MEYCIQDfYGodslZj88g18t7bT9LJp491NARs5LS75LEEdPDRGgIhALXd16IWtQgi9+aZuIt8BkdGuerf9J+xaIIpx6eFRrIJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60019},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{"./client":"./lib/client/index.js","./server":"./lib/server/index.js","./protocol":"./lib/protocol/index.js"},"gitHead":"1eeca0cffd7c92a2fbdc0b276e9e895ee646269f","scripts":{"dev":"tsc --build tsconfig.json test/tsconfig.json --watch","test":"ava --serial","build":"tsc --build tsconfig.json test/tsconfig.json","clean":"tsc --build tsconfig.json test/tsconfig.json --clean","generate":"protons ./src/protocol/message.proto"},"_npmUser":{"name":"joelg","email":"joelg@mit.edu"},"_npmVersion":"10.5.1","description":"[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![license](https://img.shields.io/github/license/canvasxyz/libp2p-rendezvous)](https://opensource.org/lic","directories":{},"_nodeVersion":"20.11.1","dependencies":{"it-pipe":"^3.0.1","it-pushable":"^3.2.3","uint8arrays":"^5.1.0","@libp2p/logger":"^4.0.16","better-sqlite3":"^11.0.0","uint8arraylist":"^2.4.8","@libp2p/peer-id":"^4.2.0","protons-runtime":"^5.5.0","@libp2p/interface":"^1.7.0","it-length-prefixed":"^9.1.0","@libp2p/peer-record":"^7.0.25","@types/better-sqlite3":"^7.6.10","@multiformats/multiaddr":"^12.3.0","@libp2p/interface-internal":"^1.3.0"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^6.1.3","libp2p":"^1.9.2","protons":"^7.6.0","@ava/typescript":"^5.0.0","@libp2p/identify":"^2.1.5","@libp2p/websockets":"^8.2.0","@chainsafe/libp2p-noise":"^15.1.1","@chainsafe/libp2p-yamux":"^6.0.2","@libp2p/peer-id-factory":"^4.2.4","@libp2p/multistream-select":"^5.1.17"},"_npmOperationalInternal":{"tmp":"tmp/libp2p-rendezvous_0.1.2_1727365178872_0.9926368791404465","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"@canvas-js/libp2p-rendezvous","version":"0.2.0","author":{"url":"https://canvas.xyz","name":"Canvas Technologies, Inc."},"_id":"@canvas-js/libp2p-rendezvous@0.2.0","maintainers":[{"name":"rjwebb","email":"bob.wbb@gmail.com"},{"name":"joelg","email":"joelg@mit.edu"},{"name":"raykyri","email":"raykyri@gmail.com"}],"dist":{"shasum":"2b6e26e849be239b82693d64fe03046b491b4fdc","tarball":"https://registry.npmjs.org/@canvas-js/libp2p-rendezvous/-/libp2p-rendezvous-0.2.0.tgz","fileCount":25,"integrity":"sha512-V3F8De7K9LC1G64GCODojsyiMk106bgZgl7AV5k7615zfa9JSWWbgNxCAD5Y05JnuCYhxu90Vhw3jkWsAtD9qA==","signatures":[{"sig":"MEYCIQDL6OA5z+Temhqrxe2ihAE90x5o7v4m68rFEFqBFAMpIQIhAJi0FA4BGSlVNoEyQMTp7s6He+zELYHNOS7P9jOOEjiY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60112},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{"./client":"./lib/client/index.js","./server":"./lib/server/index.js","./protocol":"./lib/protocol/index.js"},"gitHead":"4943a306e1cf5fbcb1b92e3ae02be14f6f55fe79","scripts":{"dev":"tsc --build tsconfig.json test/tsconfig.json --watch","test":"ava --serial","build":"tsc --build tsconfig.json test/tsconfig.json","clean":"tsc --build tsconfig.json test/tsconfig.json --clean","generate":"protons ./src/protocol/message.proto"},"_npmUser":{"name":"joelg","email":"joelg@mit.edu"},"_npmVersion":"10.5.1","description":"[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![license](https://img.shields.io/github/license/canvasxyz/libp2p-rendezvous)](https://opensource.org/lic","directories":{},"_nodeVersion":"20.11.1","dependencies":{"it-pipe":"^3.0.1","it-pushable":"^3.2.3","uint8arrays":"^5.1.0","@libp2p/logger":"^5.1.0","better-sqlite3":"^11.0.0","uint8arraylist":"^2.4.8","@libp2p/peer-id":"^5.0.4","protons-runtime":"^5.5.0","@libp2p/interface":"^2.1.2","it-length-prefixed":"^9.1.0","@libp2p/peer-record":"^8.0.5","@types/better-sqlite3":"^7.6.10","@multiformats/multiaddr":"^12.3.0","@libp2p/interface-internal":"^2.0.5"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^6.1.3","libp2p":"^2.1.3","protons":"^7.6.0","typescript":"^5.6.2","@libp2p/crypto":"^5.0.4","@ava/typescript":"^5.0.0","@libp2p/identify":"^3.0.5","@libp2p/websockets":"^9.0.5","@chainsafe/libp2p-noise":"^16.0.0","@chainsafe/libp2p-yamux":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/libp2p-rendezvous_0.2.0_1727377936550_0.006507859772096003","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"@canvas-js/libp2p-rendezvous","version":"0.2.1","author":{"url":"https://canvas.xyz","name":"Canvas Technologies, Inc."},"_id":"@canvas-js/libp2p-rendezvous@0.2.1","maintainers":[{"name":"joelg","email":"joelg@mit.edu"},{"name":"raykyri","email":"raykyri@gmail.com"},{"name":"rjwebb","email":"bob.wbb@gmail.com"}],"dist":{"shasum":"0e6255703b44a17e2d37335d6888e6fef01961e9","tarball":"https://registry.npmjs.org/@canvas-js/libp2p-rendezvous/-/libp2p-rendezvous-0.2.1.tgz","fileCount":25,"integrity":"sha512-A6HGq6qTBu97YT1SVE+tdlfXI4vaFIJvOHy4px4fauE2NKLZc5Ro7twRwPO0EoodI6Ki3wzOdfOIdEuw5HZu+A==","signatures":[{"sig":"MEYCIQDIgzSp8vCwBPZM+pHcqLJmdHVJPbUWKNpeUvIC4XUxjAIhAKGdDolGxYjDw5cjTLlyiL0ka4z8Kngfh3UmwwQYt5bs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":62920},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{"./client":"./lib/client/index.js","./server":"./lib/server/index.js","./protocol":"./lib/protocol/index.js"},"gitHead":"f3ba6a7a0006f85caf1c97aeab44852551b14871","scripts":{"dev":"tsc --build tsconfig.json test/tsconfig.json --watch","test":"ava --serial","build":"tsc --build tsconfig.json test/tsconfig.json","clean":"tsc --build tsconfig.json test/tsconfig.json --clean","generate":"protons ./src/protocol/message.proto"},"_npmUser":{"name":"joelg","email":"joelg@mit.edu"},"_npmVersion":"10.8.3","description":"[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![license](https://img.shields.io/github/license/canvasxyz/libp2p-rendezvous)](https://opensource.org/lic","directories":{},"_nodeVersion":"22.9.0","dependencies":{"it-pipe":"^3.0.1","it-pushable":"^3.2.3","uint8arrays":"^5.1.0","@libp2p/logger":"^5.1.4","better-sqlite3":"^11.6.0","uint8arraylist":"^2.4.8","@libp2p/peer-id":"^5.0.8","protons-runtime":"^5.5.0","@libp2p/interface":"^2.2.1","it-length-prefixed":"^9.1.0","@libp2p/peer-record":"^8.0.12","@types/better-sqlite3":"^7.6.12","@multiformats/multiaddr":"^12.3.3","@libp2p/interface-internal":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^6.2.0","libp2p":"^2.3.1","protons":"^7.6.0","prettier":"^3.4.1","typescript":"^5.7.2","@libp2p/crypto":"^5.0.7","@ava/typescript":"^5.0.0","@libp2p/identify":"^3.0.12","@libp2p/websockets":"^9.0.13","@chainsafe/libp2p-noise":"^16.0.0","@chainsafe/libp2p-yamux":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/libp2p-rendezvous_0.2.1_1732640539984_0.34669815740976695","host":"s3://npm-registry-packages"}},"0.2.2":{"name":"@canvas-js/libp2p-rendezvous","version":"0.2.2","author":{"url":"https://canvas.xyz","name":"Canvas Technologies, Inc."},"_id":"@canvas-js/libp2p-rendezvous@0.2.2","maintainers":[{"name":"joelg","email":"joelgustafson@protonmail.com"},{"name":"raykyri","email":"raykyri@gmail.com"},{"name":"rjwebb","email":"bob.wbb@gmail.com"}],"dist":{"shasum":"253db84415e7b525cd4b6f5ddd7d7ed52f8f30d1","tarball":"https://registry.npmjs.org/@canvas-js/libp2p-rendezvous/-/libp2p-rendezvous-0.2.2.tgz","fileCount":25,"integrity":"sha512-TRSwpgBKHt1AZL2FPKNfOBOcnlNCFg9OZj3zf0IUazsEBFNyXFUXFw+8RkAWxUo5zRJhU4LOnbqDKVJ64aeZxg==","signatures":[{"sig":"MEUCIQD6PeC/5zV+pSsL2n8E7ZBEgPZJn/5Bpy58ruayb3co8AIgQksIm+0wRg7WIuJihb/dTBnYaQeANltaRTmO6kCFY5Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62940},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{"./client":"./lib/client/index.js","./server":"./lib/server/index.js","./protocol":"./lib/protocol/index.js"},"gitHead":"53c7d3bc0e55cabe75a12dc829a2aefc33f213bc","scripts":{"dev":"tsc --build tsconfig.json test/tsconfig.json --watch","test":"ava --serial","build":"tsc --build tsconfig.json test/tsconfig.json","clean":"tsc --build tsconfig.json test/tsconfig.json --clean","generate":"protons ./src/protocol/message.proto"},"_npmUser":{"name":"joelg","email":"joelgustafson@protonmail.com"},"_npmVersion":"11.1.0","description":"[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![license](https://img.shields.io/github/license/canvasxyz/libp2p-rendezvous)](https://opensource.org/lic","directories":{},"_nodeVersion":"23.7.0","dependencies":{"it-pipe":"^3.0.1","it-pushable":"^3.2.3","uint8arrays":"^5.1.0","@libp2p/logger":"^5.1.12","better-sqlite3":"^11.8.1","uint8arraylist":"^2.4.8","@libp2p/peer-id":"^5.0.16","protons-runtime":"^5.5.0","@libp2p/interface":"^2.7.0","it-length-prefixed":"^10.0.1","@libp2p/peer-record":"^8.0.23","@types/better-sqlite3":"^7.6.12","@multiformats/multiaddr":"^12.4.0","@libp2p/interface-internal":"^2.3.7"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^6.2.0","libp2p":"^2.8.0","protons":"^7.6.0","prettier":"^3.5.3","typescript":"^5.8.2","@libp2p/crypto":"^5.0.15","@ava/typescript":"^5.0.0","@libp2p/identify":"^3.0.25","@libp2p/websockets":"^9.2.6","@chainsafe/libp2p-noise":"^16.0.3","@chainsafe/libp2p-yamux":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/libp2p-rendezvous_0.2.2_1741285063194_0.25003740291080434","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@canvas-js/libp2p-rendezvous","version":"0.2.3","author":{"url":"https://canvas.xyz","name":"Canvas Technologies, Inc."},"_id":"@canvas-js/libp2p-rendezvous@0.2.3","maintainers":[{"name":"joelg","email":"joelgustafson@protonmail.com"},{"name":"raykyri","email":"raykyri@gmail.com"},{"name":"rjwebb","email":"bob.wbb@gmail.com"}],"dist":{"shasum":"22a10449e12bf293cfeb8cda9d1ed9dfa6bf07e1","tarball":"https://registry.npmjs.org/@canvas-js/libp2p-rendezvous/-/libp2p-rendezvous-0.2.3.tgz","fileCount":25,"integrity":"sha512-wvmIZnL1XjOFYAe6+9D47QqNyUi7D3KjVIKaOi0Dv3pmq6FNTafg0UzPmEs6Xsi0gaUIohZKJoa9+aHDfWoIuQ==","signatures":[{"sig":"MEUCIQD8Y2Ru1WTF5yCkn5zrMdZkSKB/nje0aFz5rLDu1OhO+wIgBLSfRTtPR548QwLaDbb8Yn4F8dD5PsRvRcsuAWjUAfM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62996},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{"./client":"./lib/client/index.js","./server":"./lib/server/index.js","./protocol":"./lib/protocol/index.js"},"gitHead":"66fa1a5b8129e132bd2d6e55e3a255e284d441ff","scripts":{"dev":"tsc --build tsconfig.json test/tsconfig.json --watch","test":"ava --serial","build":"tsc --build tsconfig.json test/tsconfig.json","clean":"tsc --build tsconfig.json test/tsconfig.json --clean","generate":"protons ./src/protocol/message.proto"},"_npmUser":{"name":"joelg","email":"joelgustafson@protonmail.com"},"_npmVersion":"11.1.0","description":"[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![license](https://img.shields.io/github/license/canvasxyz/libp2p-rendezvous)](https://opensource.org/lic","directories":{},"_nodeVersion":"23.7.0","dependencies":{"it-pipe":"^3.0.1","it-pushable":"^3.2.3","uint8arrays":"^5.1.0","@libp2p/logger":"^5.1.12","better-sqlite3":"^11.8.1","uint8arraylist":"^2.4.8","@libp2p/peer-id":"^5.0.16","protons-runtime":"^5.5.0","@libp2p/interface":"^2.7.0","it-length-prefixed":"^10.0.1","@libp2p/peer-record":"^8.0.23","@types/better-sqlite3":"^7.6.12","@multiformats/multiaddr":"^12.4.0","@libp2p/interface-internal":"^2.3.7"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^6.2.0","libp2p":"^2.8.0","protons":"^7.6.0","prettier":"^3.5.3","typescript":"^5.8.2","@libp2p/crypto":"^5.0.15","@ava/typescript":"^5.0.0","@libp2p/identify":"^3.0.25","@libp2p/websockets":"^9.2.6","@chainsafe/libp2p-noise":"^16.0.3","@chainsafe/libp2p-yamux":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/libp2p-rendezvous_0.2.3_1741329557316_0.6932756868108023","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@canvas-js/libp2p-rendezvous","version":"0.2.4","author":{"url":"https://canvas.xyz","name":"Canvas Technologies, Inc."},"_id":"@canvas-js/libp2p-rendezvous@0.2.4","maintainers":[{"name":"joelg","email":"joelgustafson@protonmail.com"},{"name":"raykyri","email":"raykyri@gmail.com"},{"name":"rjwebb","email":"bob.wbb@gmail.com"}],"dist":{"shasum":"f709194abf5c3f30db67bfd1ca474ccaf7fd9bb7","tarball":"https://registry.npmjs.org/@canvas-js/libp2p-rendezvous/-/libp2p-rendezvous-0.2.4.tgz","fileCount":25,"integrity":"sha512-MQ+jPea78D4U20f9kWprZlXAXhEVbsQRO3iMXMXKBoHxdIPzMrYCyBoI62Mw/fmQifm9leiv09KLt3sgPwIGyg==","signatures":[{"sig":"MEQCIHVW7Luu3btmMtSdrNIX1l2woF1gqYk+GAmCICEmW0lCAiBbQ/QIG5Gs6R3eOWIn1W8PsMbHQXjb3RjWDz0bToe6QA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63259},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{"./client":"./lib/client/index.js","./server":"./lib/server/index.js","./protocol":"./lib/protocol/index.js"},"gitHead":"aff0348d035a4c1046ca0aac4bc4ff60713e45ce","scripts":{"dev":"tsc --build tsconfig.json test/tsconfig.json --watch","test":"ava --serial","build":"tsc --build tsconfig.json test/tsconfig.json","clean":"tsc --build tsconfig.json test/tsconfig.json --clean","generate":"protons ./src/protocol/message.proto"},"_npmUser":{"name":"joelg","email":"joelgustafson@protonmail.com"},"_npmVersion":"11.1.0","description":"[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![license](https://img.shields.io/github/license/canvasxyz/libp2p-rendezvous)](https://opensource.org/lic","directories":{},"_nodeVersion":"23.7.0","dependencies":{"it-pipe":"^3.0.1","it-pushable":"^3.2.3","uint8arrays":"^5.1.0","@libp2p/logger":"^5.1.12","better-sqlite3":"^11.8.1","uint8arraylist":"^2.4.8","@libp2p/peer-id":"^5.0.16","protons-runtime":"^5.5.0","@libp2p/interface":"^2.7.0","it-length-prefixed":"^10.0.1","@libp2p/peer-record":"^8.0.23","@types/better-sqlite3":"^7.6.12","@multiformats/multiaddr":"^12.4.0","@libp2p/interface-internal":"^2.3.7"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^6.2.0","libp2p":"^2.8.0","protons":"^7.6.0","prettier":"^3.5.3","typescript":"^5.8.2","@libp2p/crypto":"^5.0.15","@ava/typescript":"^5.0.0","@libp2p/identify":"^3.0.25","@libp2p/websockets":"^9.2.6","@chainsafe/libp2p-noise":"^16.0.3","@chainsafe/libp2p-yamux":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/libp2p-rendezvous_0.2.4_1741331042606_0.37930111396545296","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@canvas-js/libp2p-rendezvous","version":"0.2.5","author":{"url":"https://canvas.xyz","name":"Canvas Technologies, Inc."},"_id":"@canvas-js/libp2p-rendezvous@0.2.5","maintainers":[{"name":"joelg","email":"joelgustafson@protonmail.com"},{"name":"raykyri","email":"raykyri@gmail.com"},{"name":"rjwebb","email":"bob.wbb@gmail.com"}],"dist":{"shasum":"153b7d8ef32c5f5e72379507273ceec78a5a6364","tarball":"https://registry.npmjs.org/@canvas-js/libp2p-rendezvous/-/libp2p-rendezvous-0.2.5.tgz","fileCount":25,"integrity":"sha512-GFKOyMVMSD/Q4BsxqjXZkAWg4oDD0De7QWkZMtXM4KHfySaelU7wtDe8aJQPi2FdaAQW7CaWQtynthlYgBvABA==","signatures":[{"sig":"MEQCIEJiPg4bS2eVJpnkqhZWwtQEWRM0HtVUa92nVUk0k8CPAiAddlnHIeJbbkUHI5nnfuFZxoBub6rgFKZEmsBqAmxmyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63279},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{"./client":"./lib/client/index.js","./server":"./lib/server/index.js","./protocol":"./lib/protocol/index.js"},"gitHead":"1a7c72dc346b34708f6c77d67c33fca2ef02b434","scripts":{"dev":"tsc --build tsconfig.json test/tsconfig.json --watch","test":"ava --serial","build":"tsc --build tsconfig.json test/tsconfig.json","clean":"tsc --build tsconfig.json test/tsconfig.json --clean","generate":"protons ./src/protocol/message.proto"},"_npmUser":{"name":"joelg","email":"joelgustafson@protonmail.com"},"_npmVersion":"11.1.0","description":"[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![license](https://img.shields.io/github/license/canvasxyz/libp2p-rendezvous)](https://opensource.org/lic","directories":{},"_nodeVersion":"23.7.0","dependencies":{"it-pipe":"^3.0.1","it-pushable":"^3.2.3","uint8arrays":"^5.1.0","@libp2p/logger":"^5.1.12","better-sqlite3":"^11.8.1","uint8arraylist":"^2.4.8","@libp2p/peer-id":"^5.0.16","protons-runtime":"^5.5.0","@libp2p/interface":"^2.7.0","it-length-prefixed":"^10.0.1","@libp2p/peer-record":"^8.0.23","@types/better-sqlite3":"^7.6.12","@multiformats/multiaddr":"^12.4.0","@libp2p/interface-internal":"^2.3.7"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^6.2.0","libp2p":"^2.8.0","protons":"^7.6.0","prettier":"^3.5.3","typescript":"^5.8.2","@libp2p/crypto":"^5.0.15","@ava/typescript":"^5.0.0","@libp2p/identify":"^3.0.25","@libp2p/websockets":"^9.2.6","@chainsafe/libp2p-noise":"^16.0.3","@chainsafe/libp2p-yamux":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/libp2p-rendezvous_0.2.5_1741361295512_0.6703982847559673","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@canvas-js/libp2p-rendezvous","version":"0.2.6","author":{"url":"https://canvas.xyz","name":"Canvas Technologies, Inc."},"_id":"@canvas-js/libp2p-rendezvous@0.2.6","maintainers":[{"name":"joelg","email":"joelgustafson@protonmail.com"},{"name":"raykyri","email":"raykyri@gmail.com"},{"name":"rjwebb","email":"bob.wbb@gmail.com"}],"dist":{"shasum":"c6f180ac0eb4eaad06ab9de5734878492bfd0f16","tarball":"https://registry.npmjs.org/@canvas-js/libp2p-rendezvous/-/libp2p-rendezvous-0.2.6.tgz","fileCount":25,"integrity":"sha512-cOlBTkUVcUTh6PsBpfyuK0JE60hRLZEMBuKvssz0dtJicNGkcekoIKXFIS9GbZ3Pvyc6SD6GQ3Mc96p+qKGKSw==","signatures":[{"sig":"MEUCIQC1VqJ6sszCaSocdnuufYI5LBkTBC/GvAGLmKx2PFONOAIgShf/5CnSQo3MX3i0fZUs8CbLqp3QDSuxRM8i5nKNpiY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63906},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{"./client":"./lib/client/index.js","./server":"./lib/server/index.js","./protocol":"./lib/protocol/index.js"},"gitHead":"c751ed5d3f8d1e925a1360d41bd34fffc288b111","scripts":{"dev":"tsc --build tsconfig.json test/tsconfig.json --watch","test":"ava --serial","build":"tsc --build tsconfig.json test/tsconfig.json","clean":"tsc --build tsconfig.json test/tsconfig.json --clean","generate":"protons ./src/protocol/message.proto"},"_npmUser":{"name":"joelg","email":"joelgustafson@protonmail.com"},"_npmVersion":"11.1.0","description":"[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![license](https://img.shields.io/github/license/canvasxyz/libp2p-rendezvous)](https://opensource.org/lic","directories":{},"_nodeVersion":"23.7.0","dependencies":{"it-pipe":"^3.0.1","it-pushable":"^3.2.3","uint8arrays":"^5.1.0","@libp2p/logger":"^5.1.12","better-sqlite3":"^11.8.1","uint8arraylist":"^2.4.8","@libp2p/peer-id":"^5.0.16","protons-runtime":"^5.5.0","@libp2p/interface":"^2.7.0","it-length-prefixed":"^10.0.1","@libp2p/peer-record":"^8.0.23","@types/better-sqlite3":"^7.6.12","@multiformats/multiaddr":"^12.4.0","@libp2p/interface-internal":"^2.3.7"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^6.2.0","libp2p":"^2.8.0","protons":"^7.6.0","prettier":"^3.5.3","typescript":"^5.8.2","@libp2p/crypto":"^5.0.15","@ava/typescript":"^5.0.0","@libp2p/identify":"^3.0.25","@libp2p/websockets":"^9.2.6","@chainsafe/libp2p-noise":"^16.0.3","@chainsafe/libp2p-yamux":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/libp2p-rendezvous_0.2.6_1741455365115_0.8895880323081049","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@canvas-js/libp2p-rendezvous","version":"0.3.0","author":{"url":"https://canvas.xyz","name":"Canvas Technologies, Inc."},"_id":"@canvas-js/libp2p-rendezvous@0.3.0","maintainers":[{"name":"joelg","email":"joelgustafson@protonmail.com"},{"name":"raykyri","email":"raykyri@gmail.com"},{"name":"rjwebb","email":"bob.wbb@gmail.com"}],"dist":{"shasum":"ed8945ce567e3d26393fb969e0f019a7e90978d2","tarball":"https://registry.npmjs.org/@canvas-js/libp2p-rendezvous/-/libp2p-rendezvous-0.3.0.tgz","fileCount":25,"integrity":"sha512-mhAzjICS/XVuuvm0Pq3rl06ZcCrK7iGnrpQH4NRwAiCQ5aKUTLp9vtuFZu1Wy/7D5EFSqrNbk4jR9FPtnGorpQ==","signatures":[{"sig":"MEUCIQCgPURyVtauWyGQy5WpjVPAtGf0O7KoS/QUkdGPlQaJRwIgG72l/gZAyr42ai1PKtHG0QGiZjgEwISV9df/b4AW3EE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66091},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{"./client":"./lib/client/index.js","./server":"./lib/server/index.js","./protocol":"./lib/protocol/index.js"},"gitHead":"dc30967be76905110e8c66d970886efc3e6d2c57","scripts":{"dev":"tsc --build tsconfig.json test/tsconfig.json --watch","test":"ava --serial","build":"tsc --build tsconfig.json test/tsconfig.json","clean":"tsc --build tsconfig.json test/tsconfig.json --clean","generate":"protons ./src/protocol/message.proto"},"_npmUser":{"name":"joelg","email":"joelgustafson@protonmail.com"},"_npmVersion":"11.1.0","description":"[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![license](https://img.shields.io/github/license/canvasxyz/libp2p-rendezvous)](https://opensource.org/lic","directories":{},"_nodeVersion":"23.7.0","dependencies":{"it-pipe":"^3.0.1","it-pushable":"^3.2.3","uint8arrays":"^5.1.0","@libp2p/logger":"^5.1.12","better-sqlite3":"^11.8.1","uint8arraylist":"^2.4.8","@libp2p/peer-id":"^5.0.16","protons-runtime":"^5.5.0","@libp2p/interface":"^2.7.0","it-length-prefixed":"^10.0.1","@libp2p/peer-record":"^8.0.23","@types/better-sqlite3":"^7.6.12","@multiformats/multiaddr":"^12.4.0","@libp2p/interface-internal":"^2.3.7"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^6.2.0","libp2p":"^2.8.0","protons":"^7.6.0","prettier":"^3.5.3","typescript":"^5.8.2","@libp2p/crypto":"^5.0.15","@ava/typescript":"^5.0.0","@libp2p/identify":"^3.0.25","@libp2p/websockets":"^9.2.6","@chainsafe/libp2p-noise":"^16.0.3","@chainsafe/libp2p-yamux":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/libp2p-rendezvous_0.3.0_1741476158496_0.38158542408978646","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@canvas-js/libp2p-rendezvous","version":"0.3.1","author":{"url":"https://canvas.xyz","name":"Canvas Technologies, Inc."},"_id":"@canvas-js/libp2p-rendezvous@0.3.1","maintainers":[{"name":"joelg","email":"joelgustafson@protonmail.com"},{"name":"raykyri","email":"raykyri@gmail.com"},{"name":"rjwebb","email":"bob.wbb@gmail.com"}],"dist":{"shasum":"42b05bc3c86e6ccc39ba227d35445342c8f2ecbc","tarball":"https://registry.npmjs.org/@canvas-js/libp2p-rendezvous/-/libp2p-rendezvous-0.3.1.tgz","fileCount":25,"integrity":"sha512-FmqROvXd5L04WfVDfZPQviq9SLtJ1E75f7L5QRBeOmpI/KOHSq50m5vif02jgHnR9X/y028JmumYfDrSMiLCJw==","signatures":[{"sig":"MEQCIC4vZ52cHv3oKBm3WL+E1uA8ifHOVps22uVl8jEXmFfCAiB6wMh+imxjAMYc8U5YZqFvna6/DdPwzH/uHaLfbhPNgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66576},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{"./client":"./lib/client/index.js","./server":"./lib/server/index.js","./protocol":"./lib/protocol/index.js"},"gitHead":"22ec28e1c38f73a68bf35027c280b5769291fd2a","scripts":{"dev":"tsc --build tsconfig.json test/tsconfig.json --watch","test":"ava --serial","build":"tsc --build tsconfig.json test/tsconfig.json","clean":"tsc --build tsconfig.json test/tsconfig.json --clean","generate":"protons ./src/protocol/message.proto"},"_npmUser":{"name":"joelg","email":"joelgustafson@protonmail.com"},"_npmVersion":"11.1.0","description":"[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![license](https://img.shields.io/github/license/canvasxyz/libp2p-rendezvous)](https://opensource.org/lic","directories":{},"_nodeVersion":"23.7.0","dependencies":{"it-pipe":"^3.0.1","it-pushable":"^3.2.3","uint8arrays":"^5.1.0","@libp2p/logger":"^5.1.12","better-sqlite3":"^11.8.1","uint8arraylist":"^2.4.8","@libp2p/peer-id":"^5.0.16","protons-runtime":"^5.5.0","@libp2p/interface":"^2.7.0","it-length-prefixed":"^10.0.1","@libp2p/peer-record":"^8.0.23","@types/better-sqlite3":"^7.6.12","@multiformats/multiaddr":"^12.4.0","@libp2p/interface-internal":"^2.3.7"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^6.2.0","libp2p":"^2.8.0","protons":"^7.6.0","prettier":"^3.5.3","typescript":"^5.8.2","@libp2p/crypto":"^5.0.15","@ava/typescript":"^5.0.0","@libp2p/identify":"^3.0.25","@libp2p/websockets":"^9.2.6","@chainsafe/libp2p-noise":"^16.0.3","@chainsafe/libp2p-yamux":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/libp2p-rendezvous_0.3.1_1741615157370_0.9489880305404177","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@canvas-js/libp2p-rendezvous","version":"0.4.0","author":{"url":"https://canvas.xyz","name":"Canvas Technologies, Inc."},"_id":"@canvas-js/libp2p-rendezvous@0.4.0","maintainers":[{"name":"joelg","email":"joelgustafson@protonmail.com"},{"name":"raykyri","email":"raykyri@gmail.com"},{"name":"rjwebb","email":"bob.wbb@gmail.com"}],"dist":{"shasum":"0ae2aa77aca561bcc01fe29933f900e71353bbe2","tarball":"https://registry.npmjs.org/@canvas-js/libp2p-rendezvous/-/libp2p-rendezvous-0.4.0.tgz","fileCount":25,"integrity":"sha512-Mp8CrYgg6yvV6qdKFdUoXLct/ct4DSeVvkYmwRvwJBKUcUigrJbWY4c7TSFc+bdN0htizgaT0luRY69jlZ6p+w==","signatures":[{"sig":"MEUCIQD48r9S8kSDCxgAMeWynjlZXzuK7RTZxZG/N7tfa4ThEAIgWWCQyt+0unxdaEMGsEYoVsNG+LmnC0jnGaZGHQlszIg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69986},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{"./client":"./lib/client/index.js","./server":"./lib/server/index.js","./protocol":"./lib/protocol/index.js"},"gitHead":"ee6fafe69d0294842d15875d439eaf37803a5578","scripts":{"dev":"tsc --build tsconfig.json test/tsconfig.json --watch","test":"ava --serial","build":"tsc --build tsconfig.json test/tsconfig.json","clean":"tsc --build tsconfig.json test/tsconfig.json --clean","generate":"protons ./src/protocol/message.proto"},"_npmUser":{"name":"joelg","email":"joelgustafson@protonmail.com"},"_npmVersion":"11.1.0","description":"[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![license](https://img.shields.io/github/license/canvasxyz/libp2p-rendezvous)](https://opensource.org/lic","directories":{},"_nodeVersion":"23.7.0","dependencies":{"it-pipe":"^3.0.1","it-pushable":"^3.2.3","uint8arrays":"^5.1.0","@libp2p/logger":"^5.1.12","better-sqlite3":"^11.8.1","uint8arraylist":"^2.4.8","@libp2p/peer-id":"^5.0.16","protons-runtime":"^5.5.0","@libp2p/interface":"^2.7.0","it-length-prefixed":"^10.0.1","@libp2p/peer-record":"^8.0.23","@multiformats/mafmt":"^12.1.6","@types/better-sqlite3":"^7.6.12","@multiformats/multiaddr":"^12.4.0","@libp2p/interface-internal":"^2.3.7"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^6.2.0","libp2p":"^2.8.0","protons":"^7.6.0","prettier":"^3.5.3","typescript":"^5.8.2","@libp2p/crypto":"^5.0.15","@ava/typescript":"^5.0.0","@libp2p/identify":"^3.0.25","@libp2p/websockets":"^9.2.6","@chainsafe/libp2p-noise":"^16.0.3","@chainsafe/libp2p-yamux":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/libp2p-rendezvous_0.4.0_1741631603314_0.653287511060404","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@canvas-js/libp2p-rendezvous","version":"0.4.1","author":{"url":"https://canvas.xyz","name":"Canvas Technologies, Inc."},"_id":"@canvas-js/libp2p-rendezvous@0.4.1","maintainers":[{"name":"joelg","email":"joelgustafson@protonmail.com"},{"name":"raykyri","email":"raykyri@gmail.com"},{"name":"rjwebb","email":"bob.wbb@gmail.com"}],"dist":{"shasum":"ba7a3fda0eb932f7de56d0b9d6aedb66ce835f7c","tarball":"https://registry.npmjs.org/@canvas-js/libp2p-rendezvous/-/libp2p-rendezvous-0.4.1.tgz","fileCount":25,"integrity":"sha512-HgdDRCJhzRYAFuhT8Wv5PrV5uhNbHr+3NJfWuqPr/+uK1yt5P/8HFPthl9hsJnXCPmLSaRVBGlJRqzd9SVKx/Q==","signatures":[{"sig":"MEUCIC4p0j8Pl32plrNIRzjpPIFHHqDwCnesuKWrJzVIy88nAiEAnN8lu9OUMx8xXw6uXjB6JWlp6XxWAU4WO0C7nkuNtGw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70068},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{"./client":"./lib/client/index.js","./server":"./lib/server/index.js","./protocol":"./lib/protocol/index.js"},"gitHead":"b7058648a2ff93b56cf5a04b6fc5441b1d13e284","scripts":{"dev":"tsc --build tsconfig.json test/tsconfig.json --watch","test":"ava --serial","build":"tsc --build tsconfig.json test/tsconfig.json","clean":"tsc --build tsconfig.json test/tsconfig.json --clean","generate":"protons ./src/protocol/message.proto"},"_npmUser":{"name":"joelg","email":"joelgustafson@protonmail.com"},"_npmVersion":"11.1.0","description":"[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![license](https://img.shields.io/github/license/canvasxyz/libp2p-rendezvous)](https://opensource.org/lic","directories":{},"_nodeVersion":"23.7.0","dependencies":{"it-pipe":"^3.0.1","it-pushable":"^3.2.3","uint8arrays":"^5.1.0","@libp2p/logger":"^5.1.12","better-sqlite3":"^11.8.1","uint8arraylist":"^2.4.8","@libp2p/peer-id":"^5.0.16","protons-runtime":"^5.5.0","@libp2p/interface":"^2.7.0","it-length-prefixed":"^10.0.1","@libp2p/peer-record":"^8.0.23","@multiformats/mafmt":"^12.1.6","@types/better-sqlite3":"^7.6.12","@multiformats/multiaddr":"^12.4.0","@libp2p/interface-internal":"^2.3.7"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^6.2.0","libp2p":"^2.8.0","protons":"^7.6.0","prettier":"^3.5.3","typescript":"^5.8.2","@libp2p/crypto":"^5.0.15","@ava/typescript":"^5.0.0","@libp2p/identify":"^3.0.25","@libp2p/websockets":"^9.2.6","@chainsafe/libp2p-noise":"^16.0.3","@chainsafe/libp2p-yamux":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/libp2p-rendezvous_0.4.1_1741632625217_0.8947495166022774","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@canvas-js/libp2p-rendezvous","version":"0.4.2","author":{"url":"https://canvas.xyz","name":"Canvas Technologies, Inc."},"_id":"@canvas-js/libp2p-rendezvous@0.4.2","maintainers":[{"name":"joelg","email":"joelgustafson@protonmail.com"},{"name":"raykyri","email":"raykyri@gmail.com"},{"name":"rjwebb","email":"bob.wbb@gmail.com"}],"dist":{"shasum":"7af9e1b1f16be2da3735b58ffe67845b65d4c2ab","tarball":"https://registry.npmjs.org/@canvas-js/libp2p-rendezvous/-/libp2p-rendezvous-0.4.2.tgz","fileCount":25,"integrity":"sha512-HupTaY4i7CJArrey2usJ12vzb2o7tGDrQ4EsCPRfDM7EQ19zmT2iNIRsTjDl5vJkzZH6aMz1S5+JCGitG0rABA==","signatures":[{"sig":"MEYCIQDLzP4nl1ZttkkYUs0Z5fLr/31hb2c1GuORTs5Pbr98PwIhAOpF19Cjr74Ew/cEN187+Toj76EA5mS3kFAkh7MWOjDy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71451},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{"./client":"./lib/client/index.js","./server":"./lib/server/index.js","./protocol":"./lib/protocol/index.js"},"gitHead":"6c568084cdf669484bcc5e17463ed98a08e98618","scripts":{"dev":"tsc --build tsconfig.json test/tsconfig.json --watch","test":"ava --serial","build":"tsc --build tsconfig.json test/tsconfig.json","clean":"tsc --build tsconfig.json test/tsconfig.json --clean","generate":"protons ./src/protocol/message.proto"},"_npmUser":{"name":"joelg","email":"joelgustafson@protonmail.com"},"_npmVersion":"11.1.0","description":"[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![license](https://img.shields.io/github/license/canvasxyz/libp2p-rendezvous)](https://opensource.org/lic","directories":{},"_nodeVersion":"23.7.0","dependencies":{"it-pipe":"^3.0.1","any-signal":"^4.1.1","it-pushable":"^3.2.3","uint8arrays":"^5.1.0","@libp2p/logger":"^5.1.12","better-sqlite3":"^11.8.1","uint8arraylist":"^2.4.8","@libp2p/peer-id":"^5.0.16","protons-runtime":"^5.5.0","@libp2p/interface":"^2.7.0","it-length-prefixed":"^10.0.1","@libp2p/peer-record":"^8.0.23","@multiformats/mafmt":"^12.1.6","@types/better-sqlite3":"^7.6.12","@multiformats/multiaddr":"^12.4.0","@libp2p/interface-internal":"^2.3.7"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^6.2.0","libp2p":"^2.8.0","protons":"^7.6.0","prettier":"^3.5.3","typescript":"^5.8.2","@libp2p/crypto":"^5.0.15","@ava/typescript":"^5.0.0","@libp2p/identify":"^3.0.25","@libp2p/websockets":"^9.2.6","@chainsafe/libp2p-noise":"^16.0.3","@chainsafe/libp2p-yamux":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/libp2p-rendezvous_0.4.2_1741638424665_0.0016321281057027903","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@canvas-js/libp2p-rendezvous","version":"0.4.3","author":{"url":"https://canvas.xyz","name":"Canvas Technologies, Inc."},"_id":"@canvas-js/libp2p-rendezvous@0.4.3","maintainers":[{"name":"joelg","email":"joelgustafson@protonmail.com"},{"name":"raykyri","email":"raykyri@gmail.com"},{"name":"rjwebb","email":"bob.wbb@gmail.com"}],"dist":{"shasum":"05cb3553ed63b05a6548949fabddbe1c14c6a2bc","tarball":"https://registry.npmjs.org/@canvas-js/libp2p-rendezvous/-/libp2p-rendezvous-0.4.3.tgz","fileCount":25,"integrity":"sha512-uGlNHwqoe5rbk5/buwNV75HQL+YS0UB74NS9Imzp0+Pjq3FhnHUEcMEz25bCJmknBh9PA7A2tEjYeiWj1+Lnww==","signatures":[{"sig":"MEYCIQCp5SFMhHpbE/HgtkR8f1Rb9F3kbssrdyeuYQPzuD5J+wIhAPyobRqNHTykKvLUcdx1ZH6pakg/uMYZABSX82bMX7+i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71583},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{"./client":"./lib/client/index.js","./server":"./lib/server/index.js","./protocol":"./lib/protocol/index.js"},"gitHead":"945b698fd8847dc165217824c0aa1f8e8bfa3fa1","scripts":{"dev":"tsc --build tsconfig.json test/tsconfig.json --watch","test":"ava --serial","build":"tsc --build tsconfig.json test/tsconfig.json","clean":"tsc --build tsconfig.json test/tsconfig.json --clean","generate":"protons ./src/protocol/message.proto"},"_npmUser":{"name":"joelg","email":"joelgustafson@protonmail.com"},"_npmVersion":"11.1.0","description":"[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![license](https://img.shields.io/github/license/canvasxyz/libp2p-rendezvous)](https://opensource.org/lic","directories":{},"_nodeVersion":"23.7.0","dependencies":{"it-pipe":"^3.0.1","any-signal":"^4.1.1","it-pushable":"^3.2.3","uint8arrays":"^5.1.0","@libp2p/logger":"^5.1.12","better-sqlite3":"^11.8.1","uint8arraylist":"^2.4.8","@libp2p/peer-id":"^5.0.16","protons-runtime":"^5.5.0","@libp2p/interface":"^2.7.0","it-length-prefixed":"^10.0.1","@libp2p/peer-record":"^8.0.23","@multiformats/mafmt":"^12.1.6","@types/better-sqlite3":"^7.6.12","@multiformats/multiaddr":"^12.4.0","@libp2p/interface-internal":"^2.3.7"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^6.2.0","libp2p":"^2.8.0","protons":"^7.6.0","prettier":"^3.5.3","typescript":"^5.8.2","@libp2p/crypto":"^5.0.15","@ava/typescript":"^5.0.0","@libp2p/identify":"^3.0.25","@libp2p/websockets":"^9.2.6","@chainsafe/libp2p-noise":"^16.0.3","@chainsafe/libp2p-yamux":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/libp2p-rendezvous_0.4.3_1741638690432_0.981821855091181","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@canvas-js/libp2p-rendezvous","version":"0.4.4","author":{"url":"https://canvas.xyz","name":"Canvas Technologies, Inc."},"_id":"@canvas-js/libp2p-rendezvous@0.4.4","maintainers":[{"name":"joelg","email":"joelgustafson@protonmail.com"},{"name":"raykyri","email":"raykyri@gmail.com"},{"name":"rjwebb","email":"bob.wbb@gmail.com"}],"dist":{"shasum":"8f6d9cc6db196683fecc1695fa490006e73db9ff","tarball":"https://registry.npmjs.org/@canvas-js/libp2p-rendezvous/-/libp2p-rendezvous-0.4.4.tgz","fileCount":25,"integrity":"sha512-T2Kub0Y0/rZaABp5blj3/6eM1HPKDhu5gvs+YNwR/YWEEPDc9ly/ETVklu9xree2uf0LFFh5egNmTS4TPlgXCA==","signatures":[{"sig":"MEYCIQCN1fCHjDMiPVwuZ/E+O+Djw2YjC9DvsuFP4yistLlvvAIhAIw0FLG19TfTSeiL7oQbJe+j6QLxhR4qz9UopG9q4Nty","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71628},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{"./client":"./lib/client/index.js","./server":"./lib/server/index.js","./protocol":"./lib/protocol/index.js"},"gitHead":"8a528ed213baf404dc3294de5fd1cdc809b6e5c7","scripts":{"dev":"tsc --build tsconfig.json test/tsconfig.json --watch","test":"ava --serial","build":"tsc --build tsconfig.json test/tsconfig.json","clean":"tsc --build tsconfig.json test/tsconfig.json --clean","generate":"protons ./src/protocol/message.proto"},"_npmUser":{"name":"joelg","email":"joelgustafson@protonmail.com"},"_npmVersion":"11.1.0","description":"[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![license](https://img.shields.io/github/license/canvasxyz/libp2p-rendezvous)](https://opensource.org/lic","directories":{},"_nodeVersion":"23.7.0","dependencies":{"it-pipe":"^3.0.1","any-signal":"^4.1.1","it-pushable":"^3.2.3","uint8arrays":"^5.1.0","@libp2p/logger":"^5.1.12","better-sqlite3":"^11.8.1","uint8arraylist":"^2.4.8","@libp2p/peer-id":"^5.0.16","protons-runtime":"^5.5.0","@libp2p/interface":"^2.7.0","it-length-prefixed":"^10.0.1","@libp2p/peer-record":"^8.0.23","@multiformats/mafmt":"^12.1.6","@types/better-sqlite3":"^7.6.12","@multiformats/multiaddr":"^12.4.0","@libp2p/interface-internal":"^2.3.7"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^6.2.0","libp2p":"^2.8.0","protons":"^7.6.0","prettier":"^3.5.3","typescript":"^5.8.2","@libp2p/crypto":"^5.0.15","@ava/typescript":"^5.0.0","@libp2p/identify":"^3.0.25","@libp2p/websockets":"^9.2.6","@chainsafe/libp2p-noise":"^16.0.3","@chainsafe/libp2p-yamux":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/libp2p-rendezvous_0.4.4_1741706003668_0.8820949777298683","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@canvas-js/libp2p-rendezvous","version":"0.4.5","author":{"url":"https://canvas.xyz","name":"Canvas Technologies, Inc."},"_id":"@canvas-js/libp2p-rendezvous@0.4.5","maintainers":[{"name":"joelg","email":"joelgustafson@protonmail.com"},{"name":"raykyri","email":"raykyri@gmail.com"},{"name":"rjwebb","email":"bob.wbb@gmail.com"}],"dist":{"shasum":"ccfe027b98c53cc0ab7bc55ecf1bc00382dc0512","tarball":"https://registry.npmjs.org/@canvas-js/libp2p-rendezvous/-/libp2p-rendezvous-0.4.5.tgz","fileCount":25,"integrity":"sha512-Z0iil6IsZ5XsumJSQWkxz1Tlin1xAcVFqsygDMm/2duM+YbNDpv5O1C23w8ScPEYT+jwC6du2hbrlePUCJCsnQ==","signatures":[{"sig":"MEUCIQCOciMI4hJRQ3G3SeCCka42SZOLUedlQJydkHzoXlUpqQIgOe93A/iT2YxQaENZL3TVuFXFOZQO66Ch+rpq5vc3SXc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72878},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{"./client":"./lib/client/index.js","./server":"./lib/server/index.js","./protocol":"./lib/protocol/index.js"},"gitHead":"5f9a9cc5fd8cec040ae72ad08c30ffa1bfa18441","scripts":{"dev":"tsc --build tsconfig.json test/tsconfig.json --watch","test":"ava --serial","build":"tsc --build tsconfig.json test/tsconfig.json","clean":"tsc --build tsconfig.json test/tsconfig.json --clean","generate":"protons ./src/protocol/message.proto"},"_npmUser":{"name":"joelg","email":"joelgustafson@protonmail.com"},"_npmVersion":"11.1.0","description":"[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![license](https://img.shields.io/github/license/canvasxyz/libp2p-rendezvous)](https://opensource.org/lic","directories":{},"_nodeVersion":"23.7.0","dependencies":{"it-pipe":"^3.0.1","any-signal":"^4.1.1","it-pushable":"^3.2.3","uint8arrays":"^5.1.0","@libp2p/logger":"^5.1.12","better-sqlite3":"^11.8.1","uint8arraylist":"^2.4.8","@libp2p/peer-id":"^5.0.16","protons-runtime":"^5.5.0","@libp2p/interface":"^2.7.0","it-length-prefixed":"^10.0.1","@libp2p/peer-record":"^8.0.23","@multiformats/mafmt":"^12.1.6","@types/better-sqlite3":"^7.6.12","@multiformats/multiaddr":"^12.4.0","@libp2p/interface-internal":"^2.3.7"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^6.2.0","libp2p":"^2.8.0","protons":"^7.6.0","prettier":"^3.5.3","typescript":"^5.8.2","@libp2p/crypto":"^5.0.15","@ava/typescript":"^5.0.0","@libp2p/identify":"^3.0.25","@libp2p/websockets":"^9.2.6","@chainsafe/libp2p-noise":"^16.0.3","@chainsafe/libp2p-yamux":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/libp2p-rendezvous_0.4.5_1742478030706_0.890125203479232","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@canvas-js/libp2p-rendezvous","version":"0.5.0","author":{"url":"https://canvas.xyz","name":"Canvas Technologies, Inc."},"_id":"@canvas-js/libp2p-rendezvous@0.5.0","maintainers":[{"name":"joelg","email":"joelgustafson@protonmail.com"},{"name":"raykyri","email":"raykyri@gmail.com"},{"name":"rjwebb","email":"bob.wbb@gmail.com"}],"dist":{"shasum":"b37fb6b9473bbd0b8b790dbcd714580b21ab5589","tarball":"https://registry.npmjs.org/@canvas-js/libp2p-rendezvous/-/libp2p-rendezvous-0.5.0.tgz","fileCount":25,"integrity":"sha512-ZvGLxJZ5O8zahK14uAg3m7o9+4e/mYUliX3Enf3VuC9gLbio8zicmyfEaWlyvphAh1LHwiQTVu7Cse22XQu0NQ==","signatures":[{"sig":"MEYCIQCRtUo1SPJC5nP7yUrUpCS32LZjvrWx0oONUcXbLZrxOQIhAPzKhXcId0plUbwPF40YBN7Epy5ZDgLoEELAmCwpEvxN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73646},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{"./client":"./lib/client/index.js","./server":"./lib/server/index.js","./protocol":"./lib/protocol/index.js"},"gitHead":"6a571a00e3ff7e31789da511661490a2696a6666","scripts":{"dev":"tsc --build tsconfig.json test/tsconfig.json --watch","test":"ava --serial","build":"tsc --build tsconfig.json test/tsconfig.json","clean":"tsc --build tsconfig.json test/tsconfig.json --clean","generate":"protons ./src/protocol/message.proto"},"_npmUser":{"name":"joelg","email":"joelgustafson@protonmail.com"},"_npmVersion":"10.9.2","description":"[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![license](https://img.shields.io/github/license/canvasxyz/libp2p-rendezvous)](https://opensource.org/lic","directories":{},"_nodeVersion":"22.16.0","dependencies":{"it-pipe":"^3.0.1","any-signal":"^4.1.1","it-pushable":"^3.2.3","uint8arrays":"^5.1.0","@libp2p/logger":"^5.1.19","better-sqlite3":"^11.10.0","uint8arraylist":"^2.4.8","@libp2p/peer-id":"^5.1.6","protons-runtime":"^5.5.0","@libp2p/interface":"^2.10.3","it-length-prefixed":"^10.0.1","@libp2p/peer-record":"^8.0.31","@multiformats/mafmt":"^12.1.6","@types/better-sqlite3":"^7.6.13","@multiformats/multiaddr":"^12.4.1","@libp2p/interface-internal":"^2.3.15"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^6.4.0","libp2p":"^2.8.9","protons":"^7.6.1","prettier":"^3.5.3","typescript":"^5.8.3","@libp2p/crypto":"^5.1.5","@ava/typescript":"^5.0.0","@libp2p/identify":"^3.0.33","@libp2p/websockets":"^9.2.14","@chainsafe/libp2p-noise":"^16.1.3","@chainsafe/libp2p-yamux":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/libp2p-rendezvous_0.5.0_1749738985040_0.7957872635811909","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@canvas-js/libp2p-rendezvous","version":"0.5.1","author":{"url":"https://canvas.xyz","name":"Canvas Technologies, Inc."},"_id":"@canvas-js/libp2p-rendezvous@0.5.1","maintainers":[{"name":"joelg","email":"joelgustafson@protonmail.com"},{"name":"raykyri","email":"raykyri@gmail.com"},{"name":"rjwebb","email":"bob.wbb@gmail.com"}],"dist":{"shasum":"dcec0628251cbc122d816378cc7cd04366fd1938","tarball":"https://registry.npmjs.org/@canvas-js/libp2p-rendezvous/-/libp2p-rendezvous-0.5.1.tgz","fileCount":25,"integrity":"sha512-vFPq+4gZPpc0ufj0cVsD7crOr1ZH9Z0d5pEPrcIjfUSkLD5REl1ZIk1UehG2Q5Jz6Ojf9qQL1wyktAjmWXcTPw==","signatures":[{"sig":"MEUCIQDMr0fcs6W+61J891CTInLJk5kIjrn0IYxC58tPePZmiAIgae68e3kR9icSV5x0IcceouWENjEJrcQFjPkoD5eg4tI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73756},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{"./client":"./lib/client/index.js","./server":"./lib/server/index.js","./protocol":"./lib/protocol/index.js"},"gitHead":"cb3967ee14d7f01f75ec1eb69a74d7f824e9457a","scripts":{"dev":"tsc --build tsconfig.json test/tsconfig.json --watch","test":"ava --serial","build":"tsc --build tsconfig.json test/tsconfig.json","clean":"tsc --build tsconfig.json test/tsconfig.json --clean","generate":"protons ./src/protocol/message.proto"},"_npmUser":{"name":"joelg","email":"joelgustafson@protonmail.com"},"_npmVersion":"10.9.2","description":"[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![license](https://img.shields.io/github/license/canvasxyz/libp2p-rendezvous)](https://opensource.org/lic","directories":{},"_nodeVersion":"22.16.0","dependencies":{"it-pipe":"^3.0.1","any-signal":"^4.1.1","it-pushable":"^3.2.3","uint8arrays":"^5.1.0","@libp2p/logger":"^5.1.19","better-sqlite3":"^11.10.0","uint8arraylist":"^2.4.8","@libp2p/peer-id":"^5.1.6","protons-runtime":"^5.5.0","@libp2p/interface":"^2.10.3","it-length-prefixed":"^10.0.1","@libp2p/peer-record":"^8.0.31","@multiformats/mafmt":"^12.1.6","@types/better-sqlite3":"^7.6.13","@multiformats/multiaddr":"^12.4.1","@libp2p/interface-internal":"^2.3.15"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^6.4.0","libp2p":"^2.8.9","protons":"^7.6.1","prettier":"^3.5.3","typescript":"^5.8.3","@libp2p/crypto":"^5.1.5","@ava/typescript":"^5.0.0","@libp2p/identify":"^3.0.33","@libp2p/websockets":"^9.2.14","@chainsafe/libp2p-noise":"^16.1.3","@chainsafe/libp2p-yamux":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/libp2p-rendezvous_0.5.1_1749745863613_0.5173880725315236","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@canvas-js/libp2p-rendezvous","version":"0.5.2","type":"module","author":{"name":"Canvas Technologies, Inc.","url":"https://canvas.xyz"},"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"generate":"protons ./src/protocol/message.proto","build":"tsc --build tsconfig.json test/tsconfig.json","dev":"tsc --build tsconfig.json test/tsconfig.json --watch","clean":"tsc --build tsconfig.json test/tsconfig.json --clean","test":"ava --serial"},"exports":{"./protocol":"./lib/protocol/index.js","./client":"./lib/client/index.js","./server":"./lib/server/index.js"},"dependencies":{"@libp2p/interface":"^2.10.3","@libp2p/interface-internal":"^2.3.15","@libp2p/logger":"^5.1.19","@libp2p/peer-id":"^5.1.6","@libp2p/peer-record":"^8.0.31","@multiformats/mafmt":"^12.1.6","@multiformats/multiaddr":"^12.4.1","@types/better-sqlite3":"^7.6.13","any-signal":"^4.1.1","better-sqlite3":"^11.10.0","it-length-prefixed":"^10.0.1","it-pipe":"^3.0.1","it-pushable":"^3.2.3","protons-runtime":"^5.5.0","uint8arraylist":"^2.4.8","uint8arrays":"^5.1.0"},"devDependencies":{"@ava/typescript":"^5.0.0","@chainsafe/libp2p-noise":"^16.1.3","@chainsafe/libp2p-yamux":"^7.0.1","@libp2p/crypto":"^5.1.5","@libp2p/identify":"^3.0.33","@libp2p/websockets":"^9.2.14","ava":"^6.4.0","libp2p":"^2.8.9","prettier":"^3.5.3","protons":"^7.6.1","typescript":"^5.8.3"},"_id":"@canvas-js/libp2p-rendezvous@0.5.2","gitHead":"96dbcea53b1b31973bc11d3675b995e6ab82c833","description":"[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![license](https://img.shields.io/github/license/canvasxyz/libp2p-rendezvous)](https://opensource.org/lic","_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-MfONTNVt7sfUjlF4zoTCjSaUzRJhNDAqNodqOyekFlrlvOvyrCEequzPFdVnqY0oXWB/iyO4bCmKYrJg+ILu2g==","shasum":"42d0a69b490b50d73138833e57ed97917a5bbd97","tarball":"https://registry.npmjs.org/@canvas-js/libp2p-rendezvous/-/libp2p-rendezvous-0.5.2.tgz","fileCount":25,"unpackedSize":74688,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCfmrMt8W5Uy9tW6Ez1ZJxkGQMTKeNq048jRPPVYNR/bQIgNO2aNQRHcDWOhslhtODiryIr0+MyEqXAavAqTVKapY0="}]},"_npmUser":{"name":"joelg","email":"joelgustafson@protonmail.com"},"directories":{},"maintainers":[{"name":"joelg","email":"joelgustafson@protonmail.com"},{"name":"raykyri","email":"raykyri@gmail.com"},{"name":"rjwebb","email":"bob.wbb@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/libp2p-rendezvous_0.5.2_1749840938911_0.5727800810124144"},"_hasShrinkwrap":false}},"time":{"created":"2024-09-25T16:04:51.569Z","modified":"2025-06-13T18:55:39.380Z","0.1.0":"2024-09-25T16:04:51.871Z","0.1.1":"2024-09-25T19:44:58.424Z","0.1.2":"2024-09-26T15:39:39.131Z","0.2.0":"2024-09-26T19:12:16.728Z","0.2.1":"2024-11-26T17:02:20.183Z","0.2.2":"2025-03-06T18:17:43.400Z","0.2.3":"2025-03-07T06:39:17.482Z","0.2.4":"2025-03-07T07:04:02.805Z","0.2.5":"2025-03-07T15:28:15.709Z","0.2.6":"2025-03-08T17:36:05.307Z","0.3.0":"2025-03-08T23:22:38.661Z","0.3.1":"2025-03-10T13:59:17.651Z","0.4.0":"2025-03-10T18:33:23.570Z","0.4.1":"2025-03-10T18:50:25.447Z","0.4.2":"2025-03-10T20:27:04.862Z","0.4.3":"2025-03-10T20:31:30.637Z","0.4.4":"2025-03-11T15:13:23.937Z","0.4.5":"2025-03-20T13:40:30.903Z","0.5.0":"2025-06-12T14:36:25.220Z","0.5.1":"2025-06-12T16:31:03.805Z","0.5.2":"2025-06-13T18:55:39.116Z"},"author":{"name":"Canvas Technologies, Inc.","url":"https://canvas.xyz"},"description":"[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![license](https://img.shields.io/github/license/canvasxyz/libp2p-rendezvous)](https://opensource.org/lic","maintainers":[{"name":"joelg","email":"joelgustafson@protonmail.com"},{"name":"raykyri","email":"raykyri@gmail.com"},{"name":"rjwebb","email":"bob.wbb@gmail.com"}],"readme":"# libp2p-rendezvous\n\n[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme) [![license](https://img.shields.io/github/license/canvasxyz/libp2p-rendezvous)](https://opensource.org/licenses/MIT) [![NPM version](https://img.shields.io/npm/v/@canvas-js/libp2p-rendezvous)](https://www.npmjs.com/package/@canvas-js/libp2p-rendezvous) ![TypeScript types](https://img.shields.io/npm/types/@canvas-js/libp2p-rendezvous)\n\nJavaScript implementation of the libp2p [rendezvous protocol](https://github.com/libp2p/specs/tree/master/rendezvous).\n\n## Table of Contents\n\n- [Install](#install)\n- [Usage](#usage)\n- [API](#api)\n  - [`@canvas-js/libp2p-rendezvous/client`](#canvas-js-libp2p-rendezvous-client)\n  - [`@canvas-js/libp2p-rendezvous/server`](#canvas-js-libp2p-rendezvous-server)\n- [Testing](#testing)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Install\n\n```\nnpm i @canvas-js/libp2p-rendezvous\n```\n\n## Usage\n\nRendezvous servers maintain a SQLite database of \"registrations\", consisting of a string namespace and a signed peer record. Rendezvous clients can _register_ and _unregister_ themselves for arbitrary namespaces, and _discover_ other peer registrations by namespace.\n\n### Server\n\nAdd the rendezvous server service to a public libp2p peer:\n\n```ts\nimport { rendezvousServer } from \"@canvas-js/libp2p-rendezvous/server\"\n\nconst libp2p = await createLibp2p({\n  // ...\n  services: {\n    // ...\n    rendezvous: rendezvousServer({ path: \"rendezvous-registrations.sqlite\" }),\n  },\n})\n```\n\nThe `path` is optional; an in-memory SQLite database will be used if it is `null` or not provided.\n\n### Client\n\nAdd the rendezvous client service to the peers that need to find each other:\n\n```ts\nimport { rendezvousClient } from \"@canvas-js/libp2-rendezvous/client\"\n\nconst libp2p = await createLibp2p({\n  // ...\n  services: {\n    // ...\n    rendezvous: rendezvousClient({\n      autoRegister: {\n        namespaces: [\"topic-a\", \"topic-b\"],\n        multiaddrs: [\"/dns4/my-rendezvous-server/...\"],\n      },\n      autoDiscover: true,\n    }),\n  },\n})\n```\n\nProviding namespaces and multiaddrs to `autoRegister` will cause the client to automatically dial those servers on startup, effectively replacing the `@libp2p/bootstrap` service.\n\nThe client service will then register each namespaces with all of the peers that support the rendezvous server protocol, track the returned TTLs, and automatically renew the registrations shortly before expiration, re-connecting to each peer if necessary.\n\nThe `autoDiscovery` feature is enabled by default, which will query for other peers registered under each of the provided namespaces, and emit the results as peer discovery events.\n\nAlternatively, you can choose to manually connect to a server and make `register`, `unregister`, and `discover` calls yourself:\n\n```ts\nconst serverPeerId = peerIdFromString(\"...\")\nawait libp2p.services.rendezvous.connect(serverPeerId, async (point) => {\n  await point.register(\"topic-a\")\n  await point.unregister(\"topic-b\")\n  const peers = await point.discover(\"topic-c\")\n  // peers: { id: PeerId; addresses: { multiaddr: Multiaddr }[]; ... }[]\n})\n```\n\n## API\n\n### `@canvas-js/libp2p-rendezvous/client`\n\n```ts\nimport type { TypedEventTarget, Libp2pEvents, PeerId, PeerStore, Peer, Connection } from \"@libp2p/interface\"\nimport type { Registrar, AddressManager, ConnectionManager } from \"@libp2p/interface-internal\"\nimport type { Multiaddr } from \"@multiformats/multiaddr\"\n\nexport interface RendezvousPoint {\n  discover(namespace: string, options?: { limit?: number }): Promise<Peer[]>\n  register(namespace: string, options?: { ttl?: number | null; multiaddrs?: Multiaddr[] }): Promise<{ ttl: number }>\n  unregister(namespace: string): Promise<void>\n}\n\nexport type RendezvousClientComponents = {\n  /** internal libp2p components */\n}\n\nexport interface RendezvousClientInit {\n  autoRegister?: {\n    /** namespaces to auto-register */\n    namespaces: string[]\n    /** rendezvous point multiaddrs */\n    multiaddrs: string[]\n\n    /** registration TTL, in seconds */\n    ttl?: number\n    /** initial timeout before connecting, in milliseconds */\n    initialTimeout?: number\n    /** retry interval between failed connections, in milliseconds */\n    retryInterval?: number\n  }\n\n  /** auto-discover registered namespaces, and add them to the peer store */\n  autoDiscover?: boolean\n  /** auto-discovery inverval, in milliseconds */\n  autoDiscoverInterval?: number\n}\n\nexport declare class RendezvousClient {\n  public static protocol = \"/canvas/rendezvous/1.0.0\"\n\n  public connect<T>(\n    server: PeerId | Multiaddr | Multiaddr[],\n    callback: (point: RendezvousPoint) => T | Promise<T>,\n  ): Promise<T>\n}\n\nexport declare const rendezvousClient: (\n  init?: RendezvousClientInit,\n) => (components: RendezvousClientComponents) => RendezvousClient\n```\n\n### `@canvas-js/libp2p-rendezvous/server`\n\n```ts\nimport { TypedEventTarget, Libp2pEvents, PeerId, PeerStore } from \"@libp2p/interface\"\nimport { Registrar, AddressManager, ConnectionManager } from \"@libp2p/interface-internal\"\n\nexport type RendezvousServerComponents = {\n  /** internal libp2p components */\n}\n\nexport interface RendezvousServerInit {\n  path?: string | null\n}\n\nexport declare class RendezvousServer implements Startable {\n  public static protocol = \"/canvas/rendezvous/1.0.0\"\n\n  public constructor(components: RendezvousServerComponents, init: RendezvousServerInit)\n}\n\nexport declare const rendezvousServer: (\n  init?: RendezvousServerInit,\n) => (components: RendezvousServerComponents) => RendezvousServer\n```\n\n## Testing\n\nTests use [AVA](https://github.com/avajs/ava) and live in the [test](https://github.com/canvas-js/libp2p-rendezvous/blob/main/test) directory.\n\n```\nnpm run test\n```\n\n## Contributing\n\nOpen an issue if you have questions, find bugs, or have interface suggestions. Only minor PRs will be considered without prior discussion.\n\n## License\n\nMIT © Canvas Technologies, Inc.\n","readmeFilename":"README.md"}