{"_id":"@libp2p/interface-connection-encrypter","_rev":"27-5f0af340e104b4b3836a384696393fe7","name":"@libp2p/interface-connection-encrypter","dist-tags":{"latest":"4.0.1","next":"4.0.1-d853d124"},"versions":{"0.0.0":{"name":"@libp2p/interface-connection-encrypter","version":"0.0.0","description":"Interfaces for JS Libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/libp2p-interfaces#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-interfaces.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p-interfaces/issues"},"keywords":["interface","libp2p"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"import":"./dist/src/index.js","types":"./dist/src/index.d.ts"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"chore","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Trivial Changes"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build","release":"aegir release"},"dependencies":{"@libp2p/interface-peer-id":"^0.0.0","it-stream-types":"^1.0.4"},"devDependencies":{"aegir":"^37.0.7"},"gitHead":"96a4bcc79da19fd63171b90f81abbb7cead6e9ce","_id":"@libp2p/interface-connection-encrypter@0.0.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-Kfe2W9K4budsqksDIy/ymPuUXju2HQl53UfWHuCvxzSVldviFBNOtT3rjW/tZFyGDTET8oeI9QsAmCy3Dvan5Q==","shasum":"851fdf04dfbf5f38bb2fac6b979a7f913dc9da00","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-0.0.0.tgz","fileCount":5,"unpackedSize":9178,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGjspJUC0fX85RnZjysSgd0wE8nXR3COaNFnGx+McD5/AiEA1TrRZhplnq3IrzXH8J366dk0NOa2goZ6MeSFb+C8pJQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiov0vACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpXLA//b/5+eUIBJYnyjXhfH5Q9qZSdmSwJBj6hQq790XnqyiVvohg+\r\nf5tb8591HZsRFaWHOUj+qUD9tJ1UbmTWgCw11Jv0CXvLi9sUMb7bGItAEMYW\r\nHPACZVGqJlIPbjgb1zuh9/Wi8wKYO7f6Y3tyYqyQmD7Z4R2RArbRKZEfHoNm\r\nB7frCntmhoZait1cxffJmvOQfTDGijnrbvfG7mgT5UBo/zRzdVeYCRuigxul\r\nGdzmbuDfOR4Ywv4FPx217263OSKV4oZPXe65lgK/nhn+iL1QHDQNBPQcNHLR\r\nfu+vTT9x26OfLmerz0vpAoDQBVQ/eF7VgA/HOzJ9urnLCK07EqDClgDbKi3U\r\ndaekkZmGR34ulbrAv6rVED8Rd/xMLNmwXzpXEkek2+T3N2WkZbVX5I73BQ8a\r\nh34ts2WzqKMnC4aQ6+VihgBZILt0rx+Z5Jh4XGlWZW9nfF5uKX/qIRj/AQyq\r\nDfOT0+z9b85RD1VX3ELR0OaNxbMh1EibatSg0uAkNpx5uNEXO7R/wP0Nj5Pc\r\nizqaEgbuH6zMId4+qURbHVGLuKtB61WC3xHlq14PG0ngzxcaQvZAAbc05Xqc\r\nRg2v1+xLqXzUa8IivtKDbxqQ2PASc+4mLRUcGecZXXuAGy+7PEkFNj0YqaoS\r\nrYhwS2golV1dY3fszc7CXi9/x0IjGe/WjWU=\r\n=d8sX\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_0.0.0_1654848815422_0.9524202215544095"},"_hasShrinkwrap":false},"1.0.0":{"name":"@libp2p/interface-connection-encrypter","version":"1.0.0","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-interfaces.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p-interfaces/issues"},"keywords":["interface","libp2p"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"chore","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Trivial Changes"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build","release":"aegir release"},"dependencies":{"@libp2p/interface-peer-id":"~0.0.0","it-stream-types":"^1.0.4"},"devDependencies":{"aegir":"^37.0.17"},"gitHead":"06d07d344fc6d4c5f895a9009a78b8768ac4607f","_id":"@libp2p/interface-connection-encrypter@1.0.0","_nodeVersion":"16.15.1","_npmVersion":"8.12.1","dist":{"integrity":"sha512-dOUdWtuFrFKY4KhZCrhdv01PWLSdFNIbIf6PXZZsJUK4/0TbvUM2aEIqckRlnq/YZZI1Nk/w1qSrjVjdEV/FdQ==","shasum":"faf00c85f774d7793ba2ccc81b519b074c295d05","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-1.0.0.tgz","fileCount":13,"unpackedSize":13559,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDw11YQ2oc6jb6A5d05P5ZxkUHs3RtIiKOaP9PmU5ghKwIhALKY/Tr0uusRUcNMBrmzhj2rRe7rUhH3J7k+riRGWE6T"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqHKNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqmQRAAgWMyRCobKnC582anOjHjWUTdjOCeS0Ea6yujRMZcAsrLIoJg\r\n9nJ72xFcBfPGKwm5mkhzCnJZyr3BWRmH/GDLQguOe+hgQNRnfMyL82eYeypF\r\nmrHSctUBUrGm9JYXqhc91y/maWDH5FunGMRSuqMeMHXbX8mb5g6OWmmvB9Ro\r\nwfw/ph8iczJbIFnv1cwr1IbSKdoBOfDGFgwMboCBjc8a5UIR1OBsHYxBlgmo\r\nIChkkkQVJafh/zrx4MLYchBaqQlKtLn7B+sJBEbSOa6ZSSxOMyJpPO9VcFA7\r\nTaS3nuDsCpTpX1tZm/sfQgIFVcKpkrqgrNDLxbZlUqRbJrMb1fdF/2kf3z8k\r\nGTxOi79wyPBQ7LK1GrjRjmxNn63RT61gZ0DpPz0NrcZ+e0YT+fVzvjHst71T\r\nc51F9+qLn6L8wDuCEU2g1LgYI0Q+SmD699XK+YLrB6UHzg3+2O2zWWi3vym5\r\nL3MHYx8r3Z8GLs6EGwZcebZ1Xq8PK048XvHXWR0RfesMVtnB7JRUSNWS7YvJ\r\n035CRxdRVjqTGx6hM/w0JeU/BYuLx7cZZYCdhZGgqeYjN4qZdlOH9kJz+0fv\r\nZpO5LjFSpObEh64Lu0ACfk7PWNkzqk40laPIC+3DEUd00MOauMoWfvEYWq0J\r\nMWYuYd1aKUo6pQRU6mK+KrRQQe/lbvsR2Z8=\r\n=rHgC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_1.0.0_1655206540908_0.8916323155353754"},"_hasShrinkwrap":false},"1.0.1":{"name":"@libp2p/interface-connection-encrypter","version":"1.0.1","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-interfaces.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p-interfaces/issues"},"keywords":["interface","libp2p"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"chore","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Trivial Changes"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build","release":"aegir release"},"dependencies":{"@libp2p/interface-peer-id":"^1.0.0","it-stream-types":"^1.0.4"},"devDependencies":{"aegir":"^37.0.17"},"gitHead":"965bcdfa351d66df4de73db7e4d9dafdbcbfd5ed","_id":"@libp2p/interface-connection-encrypter@1.0.1","_nodeVersion":"16.15.1","_npmVersion":"8.12.1","dist":{"integrity":"sha512-k5XGqSrCPNjt82xh2cKtPUlK1SXQjCHpm5LBfk1C9a28vtUpLMJGruwwhaVNu4cAx18sawQQ/+piYPFNK4kt0A==","shasum":"ac19a994fe6fd91565e01611e9b2b91d599c5fd0","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-1.0.1.tgz","fileCount":13,"unpackedSize":14090,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCS8l826tY+mzw88OtzGxjeDc8wF5R2fI/hB6RSHZLvDQIhAJE6VszbZbKQNErSOuWECdVm22hkPi/Sr88pGOU2s/NL"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqJlYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo0zA/+OuphDD88emAvjaAU9X/wDT8VlV1B5uxcZF2pbREE9QR5gV2H\r\nuHG6bHnAIf6S+SKPeBoLgyMY1J306vWGkpsI70DIX5W5hQK9nCcinNLOGX2A\r\nRslbg3uyQUGC0THewNhCJye70UvcabH78vIOdhjm1y6GrcZLbzBUmGZqf8K9\r\neBftqHFtVlSmF4m8+JSXj8eqc6GucK5oTMnWrH7cfXrjLmARrGIAtiy/HZPn\r\nOAryUwQ5jCvB/Q37n6v8gXe1CeBljbcEVlN8yi+MFhIwTI+a2y7TWfYbgz1x\r\nll0KiaoPwg0B0vIhrGnPiMSRlGHPH9396zh/WcrCjJxQ1a/YhkjkBgK43ozc\r\nCE/NBqw3EkwZOL8bctQhI79fWH8OMV38wOwne5ssTFo76AAw2GUCqqNNTWm1\r\nzt0bVvhnGXDVxzBGrqBhjkAJet70QNTATIgFegUrzdkrgt3eErkplhN7pNIS\r\ntYMY5CDK9MZL/XswJ95xzlX9NEAVR+YijesEXQRd/Vxp+0RU0ZktMRelHRZu\r\nJscqFnFFYPGvLxIQMMOO4Qy6Ucwz66op3wGhoSbf8r3chsG2zN1QwC/9MS+i\r\nPMINyMa7klNCkF/ShlG7dpkAIozmtAmZ1N1e2lg5wOT+SP0wFKpFzSKRoHQ/\r\n1CzAaAlX5hllJ69CeF/7LmCFofSQRu+Ufnc=\r\n=xK5u\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_1.0.1_1655216472120_0.6351366821782627"},"_hasShrinkwrap":false},"1.0.2":{"name":"@libp2p/interface-connection-encrypter","version":"1.0.2","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-interfaces.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p-interfaces/issues"},"keywords":["interface","libp2p"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"chore","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Trivial Changes"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build","release":"aegir release"},"dependencies":{"@libp2p/interface-peer-id":"^1.0.0","it-stream-types":"^1.0.4"},"devDependencies":{"aegir":"^37.2.0"},"gitHead":"0e1d0d4a7527a84336b729d08193b5f10611a1ac","_id":"@libp2p/interface-connection-encrypter@1.0.2","_nodeVersion":"16.15.1","_npmVersion":"8.12.1","dist":{"integrity":"sha512-Ed5o8eP8H3KMKDgsEaId+R7BdGGFCpjT5Ng2PYtFS+7kECZ+7fYL+nYDMP7h5cf65GJTQNrelGQwyeXQqx8Z9A==","shasum":"e0b3283c61a7ef02488045b4e9b1af9eef3038d9","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-1.0.2.tgz","fileCount":13,"unpackedSize":14089,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHGFIIBu9EQVb7/Pazz5yTkEFik04WlU84lfycicfGyfAiEAvzjJWu7SDxcZqssNxQZ8bUhmt1pfXVeBBu4nxP0wVEc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqJ9JACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqafA/+JHgDN+NC3a2RP+todH7rwBs1XIB+ZDsyGW13SRH8qvB/s3yT\r\nro+r1LLjLmNLA+qHb8zCgrVOhBKzjO8qYIv98+v3xIYLQZUF9wBm1RnoVXli\r\nu3B1Yb+vbWsyOV3lT/b/iBdwIE/MqYloxjxw3WTD5pTVb5O4c6Zf4JhJSr7t\r\ngQ1fkc0UqEZ0uFFQkHmBdiw2EO9RlMAd3XHy9MZ8YrJfAA6RVBd57u/maFmD\r\nrO7bJRBF9cqnB4leGh8UnlMscnrE4hbS8RShP9Ft9/21db9cUQ+pmQVjeEPu\r\nUoAYWtpb4bdmEZ6Jg2yAYhvk4+2/ISqZkJ4DkqdCQNrfd0d5XDE18mgGATgg\r\nltSutUAwAdfsB+EjTSgkQxnBdybuUn87o8anCmPHgx5ERZZs2tWaWUPVE8L0\r\nRUVeaoAhT7tiT+ntKZ+hffZ5MbBtMaqZYumu7yG8mYEQu6WJ83HLV1ShN/3S\r\nel24jI5j5KULEeFYoWYa0VfBnQ6hY2WaE30hBtjgklhrghuzRIpdOzF6tcc/\r\nL8iyWAqew5jCfk9yJyNj5PCpIOlgSHu5ZCC4akiX/OxmhiTEFstSSNmZ4JR4\r\n10ckrxlZQTaocRXh9qkDY9IXVffEy6Ro3shm910N0uq2EYWlhpgToVGZ8v/f\r\ntRztSFc8crKlw+D/uJQ4xPCQxoCAOCzp4Kc=\r\n=37U6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_1.0.2_1655217993414_0.18197141843120845"},"_hasShrinkwrap":false},"1.0.3":{"name":"@libp2p/interface-connection-encrypter","version":"1.0.3","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-interfaces.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p-interfaces/issues"},"keywords":["interface","libp2p"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"chore","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Trivial Changes"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build","release":"aegir release"},"dependencies":{"@libp2p/interface-peer-id":"^1.0.0","it-stream-types":"^1.0.4"},"devDependencies":{"aegir":"^37.4.0"},"gitHead":"65bdf5d24a928352de1ff37c1fa7641d004c0073","_id":"@libp2p/interface-connection-encrypter@1.0.3","_nodeVersion":"16.15.1","_npmVersion":"8.13.1","dist":{"integrity":"sha512-3HNg52HmanRuV2rbQRMFUVTPceSqoC1+ifK9Jkqw3mbiTXXf1mdsv5uKbqts6QvNY5ABZeQWuqJb2QqibaI0mw==","shasum":"66f32a84fb6c2e350889805be4b06ecce2332529","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-1.0.3.tgz","fileCount":13,"unpackedSize":14089,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCFdSRUmLQYPPAwffXtRdo/pBoyzCfSJk1RRKQp6Pz6igIhAOkSoY+I5Mw9XoygEvlPUw4hMJw058T/p3vVV2r31kdX"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiueQwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqIjA//b7qEyPwxJlKQiXRVmr3KU6NeI0IxZaCQpWTacbTLgSMLmvvI\r\nAN6limva9J8iJzLtDhr+pi2XT28MSHfEYC3W7xjmjQhKWJxgByaL+7qpus9W\r\nF8SMk+NjHGfRoTe13eJjbOH+OusNp+MEZIQBcQHeFIghxwmVgayJkH4j+ygc\r\nDCMjfQ3D9UQmJknxWsmrOTxsy8xw5ea7RHr/PXMWMtUC/ZbWuxzIwaUfOGkr\r\nDVjjVcG00vp/qFvK+cgGd3V3jOe44VDzVTheq1PEGnwa0uk28FypH7iuOeIl\r\nRBezLwaK4wNjI9umQUzMaK5+SYVOlhEU1h2sVi6D8xP6q0QVdg2E7GgQyh4T\r\nr/4LtqWnxY+iOjmK54loO6HoCtsQ3G2TMeiGz4Mmi03nxqhzGSGAe2rubbK4\r\nIsbK1aDrpRbphCkHSpbobf6WXbwmM62MS4jQrbnU2F3dRYk1nJfR4ingSMf/\r\nbyt0TdY6STETCqnZ9I8P26iMrkh6ayVPt1uJAjpSDeUaV2ektKR6q9mMl7cY\r\nSRucKmyniBeDdzHJ8OToKYmPDrV7hkTD2NHo0CFT1PT/BrDdpyDMEP5VGdfu\r\nr0HSPFWLW1EtevPi9XybhbG+UEAgzRfkBDXXlWXMXpJw/YHZhzQi5BnUxRIt\r\noawoEH1SXNrusDNM+0Li9Kk1ksYH0KR5v1Y=\r\n=0OjD\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_1.0.3_1656349744342_0.15007871892818692"},"_hasShrinkwrap":false},"2.0.0":{"name":"@libp2p/interface-connection-encrypter","version":"2.0.0","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-interfaces.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p-interfaces/issues"},"keywords":["interface","libp2p"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build","release":"aegir release"},"dependencies":{"@libp2p/interface-peer-id":"^1.0.0","it-stream-types":"^1.0.4","uint8arraylist":"^2.1.1"},"devDependencies":{"aegir":"^37.4.0"},"gitHead":"e16d571e1af6d158ce5ef7faf9a7651c691cdfb0","_id":"@libp2p/interface-connection-encrypter@2.0.0","_nodeVersion":"16.16.0","_npmVersion":"8.16.0","dist":{"integrity":"sha512-kh0VetdVXaM2SrSu7/hBGXFLOvQcHx7PpjctI1DVR0hLsh9sBEUe44W6ZzhmMx0t3Q9B3XaZOyBhWBcZNDrEtA==","shasum":"c05fbead194fa9b0ef6acce74847a9e2944d76a2","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-2.0.0.tgz","fileCount":13,"unpackedSize":14404,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCEjpLXWY7Vl/Tz36jXP7enlM2ND1YcgjwyLqauOK7EkAIgS83MdWrB4fdex4+17/imebEiJDrNTlmweeIQ2HB7Rh0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi78uEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrzuQ/8DAbWBehZTEQ5W/7AAQrB9Uto7V7T0PGjWCBpIUuLBMa96EBl\r\nysRuh8T9OeUKEwV1Ptl1SBJCMSeWdFrUvdA3kBzPrzBrMpAN7+99z0Nypb6u\r\nlDAuw9bB80z1ufdVy7dezO4IQQ2vY03gXLkIPplepb97sUkIQKxUqQ4ZUN8q\r\n+Zaz6zU5r/Fu8O8UbZ7LtEpxnFCW0UKqJVC4U0b72h8RotxJmqd7J4GVTNcG\r\nGizAKwZhdX64rAN4lsOuRHKwZb1j14PbO2COGtr4QzZvfl+jUtwHqjlHcV3F\r\nc9wUG7Ib/N0t7U1SNLgWZh/R063Zk0IXyJ9pGY94y/hTSj4nObCwFfKu8yv1\r\nKyE5PkPDcXQwxuL0SciWU3ZuyhR8dX8va5tNpqHplTqnIGtxBTTM3iXEdeNh\r\nypUJZzgz48Rf5jIyixmWDcOoGqo2ibOdAYJzvz9wqheo/jb08al0QpCPQUWv\r\n6mwu2U2zgtT740pdG8RY7CuBOWcB3EHoYKuCYb+aR4E+A469zCIpAg+su9fA\r\nOM0cFSXdKswI7mzS0fImQcUOglrO+q8mEY4x6aUXnvJvJ4MukFCBM42kzDFL\r\nIG6ax2hEk2RpPrikrNNSAP/mfKtQ7IpNxuHPI+gzJpfe12hYbbYSUvlhN2k+\r\nPCyjpwSGUsnrgUUxSSOR3uzC9VAT28HiEwQ=\r\n=ux2M\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_2.0.0_1659882372486_0.5531459809545902"},"_hasShrinkwrap":false},"2.0.1":{"name":"@libp2p/interface-connection-encrypter","version":"2.0.1","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-interfaces.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p-interfaces/issues"},"keywords":["interface","libp2p"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build","release":"aegir release"},"dependencies":{"@libp2p/interface-peer-id":"^1.0.0","it-stream-types":"^1.0.4","uint8arraylist":"^2.1.1"},"devDependencies":{"aegir":"^37.4.0"},"gitHead":"a1dba74bbd7d5a5fc83e6cb6063aeef79eb7e817","_id":"@libp2p/interface-connection-encrypter@2.0.1","_nodeVersion":"16.16.0","_npmVersion":"8.16.0","dist":{"integrity":"sha512-GtqsNJuL1q7LWX3z41t9eFFFrlLSmMH92E0rupoXeFx1dJ8Gs/Zy8b6lZro96Ld6rjU1CeZa87SmYeqQQeHRmw==","shasum":"158d3705fd279db44c5000a8528a52e33457e480","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-2.0.1.tgz","fileCount":13,"unpackedSize":14226,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID3O0FjVVHBTsY0J+6ZzI6BLfpu23D5wPqvg40NF5sCVAiEA46e9W2RLqhkvj3a3hmlZMaWJKX88QLb1WBsJ2xeCgus="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi82BJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq8RRAAkiMLbRvw5y3fcd7EzRIWCSy1D66su5petuCbMUwHfDhRRAX5\r\n8oFafAyGwAwyxvPyjrRIOKMYdafcsd62Ygj72QluaUbpNTFQAjnVOFuhP/YA\r\nP3xg/Zu12F3u6Sm4TJ2ExE+nx1iaHBRUYAew+xOAorIMSXyPtQIZBNn5yrRc\r\niv2QDFxLdw1YkVMtr9vwn6f1RF7MH8jFD3EIaZy8AwWHuRf31hdpoZ1FqYlv\r\nHe5GDf48GEz9eafibT8cPDVYSh6tICo82ruEXScHkoxjhlYImizbRnPQvVYj\r\n+GX5HvAIM/q2o6SJdOys9zb0beQb18K8ezSuzTOGz3l/PTx+mFWSnmNIpWGh\r\n6mg5TUF9AtqDTYjmMgd0JJNVhdFj4M2y7nUYG0Vg7ntGUwMekvR9sAjkx5bo\r\nu2qGOI1P2QBdLf/VC1GS1Z8ARJfeLPgf2GfAS5ixUZ1f72BN2u0pMY0+V0nW\r\njaxz6WCNjrhaVUg3DzpPLAUMAeLia5lmio0LEZZ1nbywZYaPNbf97HDe+4bn\r\nXB50Lf2nfqkq+OT1tlXVAjnltKl9fSOA/H9NhxbxDWhzLn5GuFWii9i9REx7\r\nHWvqM71YKbAZog7mMZ10rgFYRqyAaOFmCAvM6mT0Pe5SlQwjfOsK18mlSg16\r\nef2heKH/hUupOjOpHHQZG5xy31Z82AlkhHg=\r\n=5cm2\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_2.0.1_1660117065411_0.6932384101896609"},"_hasShrinkwrap":false},"2.0.2":{"name":"@libp2p/interface-connection-encrypter","version":"2.0.2","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-interfaces.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p-interfaces/issues"},"keywords":["interface","libp2p"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build","release":"aegir release"},"dependencies":{"@libp2p/interface-peer-id":"^1.0.0","it-stream-types":"^1.0.4","uint8arraylist":"^2.1.1"},"devDependencies":{"aegir":"^37.4.0"},"gitHead":"4f440c6eb212ea376c62c162320a7d7c12a59068","_id":"@libp2p/interface-connection-encrypter@2.0.2","_nodeVersion":"16.17.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-kp8CgNICXTE/j21l6j3H7y028OR+I7yqwQH1769c5A1ikh2Gl/e1rgoMcwz8HPVNyS8qtw2TEWn45th8Kn4NMQ==","shasum":"364d3d1b8099c6af00bba273b5b22b6617bc167e","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-2.0.2.tgz","fileCount":13,"unpackedSize":14751,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpRBMk+iZEV0RUOkygRoDUnzjK+E+CF1Up+qZbqdrXcQIhAMR7oC5ONfFA6vG5Vb85anEa642koqYAHY9ve4Ki6Kbs"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNrQKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpGJQ//dwqsm4iThHW36ByRvCIvoFSSeMcRUXlaPyYqRsbK/jp3OEAc\r\nOGLI3ncec4VTKeEkSQULkbjAJCt76gkCii1puDs3mqWcxS+qSlGelgNj7DwT\r\n52FDxvfuUgfy5E93BqqkbqY1Li/GIh0EvOezqgwP4Zx1aB/eoNbI27LLZ7R5\r\nQEJmmhxaVMkh7njXVB3+90+dJaC75BAWo5W2pvprcX6dCWd6g2Kl1f+cNl/D\r\nrUByI6T3VNeQ2u/HAgYGDfKGoBCleUj4u98kkKcY+HSSWfAgPGjfKN1zNV6m\r\nA9omZa6R09eE6zULaqj1jhDrLyzH7VEPw9LH7h+m0P1/9Ktq9RjP40QUrvgV\r\nXV0WqIBueLb81InDn2AuoHRLisc4a1KFGoPp0d4D+6HnF2GaD/aXoofUfKWN\r\nURujsJtGeelkuE4W6hjmkNnl5Y7rVW+7cZAmmrLtS6w4P3g71CJHwvgkTAcq\r\noa6H2wKzhWLKQnumZEg4ur+lASVHExZ6frRt2g3D0csWbttH5GHWan/hqGdw\r\n2wB6fY8ihFgEtA0mJU8aTwb0rHo8J90kpy7NZpY4MS+jgHEt6ZO7o5CHoUgQ\r\nBTWoB3fpUJtDlsqt3e/AIseLmLXRuN4aLF/btomEUjXwmP/TZQPZ4rcnblDm\r\nvjHvyT+pPXchjeVnTnVtvDKaW5KO+wDw8UM=\r\n=Z4GE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_2.0.2_1664529418540_0.048135287526845705"},"_hasShrinkwrap":false},"3.0.0":{"name":"@libp2p/interface-connection-encrypter","version":"3.0.0","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-interfaces.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p-interfaces/issues"},"keywords":["interface","libp2p"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build","release":"aegir release"},"dependencies":{"@libp2p/interface-peer-id":"^1.0.0","it-stream-types":"^1.0.4","uint8arraylist":"^2.1.1"},"devDependencies":{"aegir":"^37.4.0"},"gitHead":"1a85854e61bd74cea30cf404a441e457deb9f031","_id":"@libp2p/interface-connection-encrypter@3.0.0","_nodeVersion":"16.17.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-6sqm0xqNxmxeFWrM9XWbTNAv5rwbV+04EuhkGSE0Ax1coHDzXUdqniHz33/1NsP3kVVbIGEcPwczyrqpZbLPcg==","shasum":"975be38b725692f016340908a514faf06b2dc195","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-3.0.0.tgz","fileCount":13,"unpackedSize":14896,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGg2omgRlBrkiZwuhgg0zHMU+OJoVtgQYAfGfaboPcZmAiEA3xga1vYiXa6+TWtRvK+YpFQ+kCWdpedW579pWrBtoeM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPBUVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoW1g/+IdmJo4YN80fEUjzeo3pGPR3qLcWw1VDToWuRi8vq80iVJ+Az\r\nFt1TqZb6quPjj7k7OLKZ4Ll76ljbrgLHUJmiWJNMVOlxDSYGNhla0zB7PSSY\r\ngmK0yoaBl0W7KW3q6T5CBvI2ZtemeeVD0RPJWBg2mP2Fw2MzItG3HfrEn7dS\r\nxYmqgnT69g+GmjPZ+wDYxfev2IL/3yCB7qy/fOHYAgkUJv3TPt3nHv5Jpa3d\r\nioJgZ0P2FNHRNV0AbvdH5dBmvoASq8h36OVhYQFx//4r5RKyasW8PsOD56dv\r\nqVsJ8nJ8HhgHuNvhoGr8XDUONrJ13yZI3AaszzVvG9h1cdGDZWAQu1jPOf84\r\nMM2kLmvsuejDdr/vh/efz7TUykIrHrDw0xCMcJ+mb/xzr+4g40xdCWF8B3Qy\r\nyWr482Auq/dS3Qjmwp9AUgshmp3+fb7Fnq0p7DGg47C+7CNxqUuhL5OZvem6\r\n/Q1KjWWbBU1OwpmkjYpLCUgplbRVi2/RT997avIyoDndAP3JT8ZiT/HcP4vn\r\npQLyqwNxnuoUyFWCdI2YDrd1UE7Ism3v4tWmhUlkOrxc/aKtiULj/TWvth6J\r\npaYUJ5se0kLkeyP+aN6qPD1WNVhS4kxXIQq87w4XtKEWYsyu93yW6HL3B3SQ\r\ncbcjbGZfOlHCulUW03s6YGF9SxqXEYfTh4Q=\r\n=TO98\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_3.0.0_1664881940868_0.9872324907492083"},"_hasShrinkwrap":false},"3.0.1":{"name":"@libp2p/interface-connection-encrypter","version":"3.0.1","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-interfaces.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p-interfaces/issues"},"keywords":["interface","libp2p"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build","release":"aegir release"},"dependencies":{"@libp2p/interface-peer-id":"^1.0.0","it-stream-types":"^1.0.4","uint8arraylist":"^2.1.1"},"devDependencies":{"aegir":"^37.4.0"},"gitHead":"242608d47a3a9bee6303b5bf6a76f8064d386637","_id":"@libp2p/interface-connection-encrypter@3.0.1","_nodeVersion":"16.17.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-KZ/4vuLokv2fNCnEAM5S91t8v5lMWXdYa26v/iGLqLgiH5MXmIGOgLLGdboXNMYM2ZYYCBgEpSHv+ZRbfO524Q==","shasum":"5a68ce162930b756e8177a88cb807d2937799d32","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-3.0.1.tgz","fileCount":13,"unpackedSize":14958,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtNWVKQKSi7IwMEUpfXQC49lByH0aPngrC3AJfAhjqsAIhALwZjXGTXw7EjrqxD7yv9N/A8/4JKOShvdMHG9kb/eUJ"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPHGeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq51A/+J3gmg+svoNFlbYGOovmI9Edzs6oDNACts86gljRHQH7peSmU\r\ng+06ermJd9AZQ53RWSy50RhD3ccgxn5Z2l/cGkblCzE4PYDPgUV92y4egHHQ\r\n3+H8aCCeMJ7+wANEwRZAbepg07I7PLrrkL3ANhQpw4LqoZ6ui75kC/kFyAau\r\nZlGGPRKECMv6RiAQoD2UaPVMVzZ3ghrMYiYkfWBp08dbHCYSwcdiM8ILtdxI\r\n5JbJQDqGRoAzNGpBl4CiRObBRwWUJrzzaTot8ynbI3Vx8GCheIWVW8Z4Nmyb\r\nvQaW2Q1kkilPiA+x3VTVtdpdObJhWoaEHvZzDi/fbYuW3wGsOWgZgijMIj6R\r\nwwGGQC2INNUN49BOUUvRUy8veK0x5yZqK4X9rxnRJEPVW3SEJNl1+eia3dA2\r\neYgabNUMUsYLkyQSElNjCx7FtsD/XMb2iDllyxNGvBjGIRbVZ8RzbGYLMQg3\r\ntLkOk1TSKPQVM1m2chJQCBOa7RIHA+Zh/AwaJAmrn2n3s0Yc7WNGzzG3CWZc\r\n28VQwzMy/CJrQXL5mou0lhUaRN6al/LIIuEcYtit656FC0cOoWZUJFVTIlYD\r\nqGCbSN1cIadVvyE/bGC7HkWJqbGCd2OHyGLaVyFdhRcY5WP7z9gPOKFEn4BO\r\n7T2059M1SOQiKUjeP5EfxwTTf45sY4PrmJg=\r\n=RSBV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_3.0.1_1664905630405_0.037414810339192694"},"_hasShrinkwrap":false},"3.0.2":{"name":"@libp2p/interface-connection-encrypter","version":"3.0.2","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-interfaces.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p-interfaces/issues"},"keywords":["interface","libp2p"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build","release":"aegir release"},"dependencies":{"@libp2p/interface-peer-id":"^1.0.0","it-stream-types":"^1.0.4","uint8arraylist":"^2.1.2"},"devDependencies":{"aegir":"^37.4.0"},"gitHead":"c27e8ce2e6dec9680ab82b0509b4f86623c91f7d","_id":"@libp2p/interface-connection-encrypter@3.0.2","_nodeVersion":"18.12.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-7b4t1aW3xbPcq3ORBi/nplIia8X7mdHlUg4SRWs92fDNciFwm1NUr63aVVs9WMwXmN3XB9UNbxKrrrXAWHRuHw==","shasum":"1817d7d0fb56e059108802c4ad0a80b237fcdd81","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-3.0.2.tgz","fileCount":13,"unpackedSize":14816,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHMd1oHh7BN+nEvQ7brhUbTjY/ZET5302crhOse3kZQbAiBaVBX+TDPWOeRWznb4wowHxBjKBRZYljkwlxevdhuvUw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZqmlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpkKA/8CqMGMh/VdWP+HD3VHrd0DfNVgthotmBvzir1uD0Nv0BXvnzL\r\nnWuH8uSa/6auRL9wZXPWgwl+JYwSau8LwxbGjlDFdaSuHP6FnLuzJvS+Up7q\r\n112vRBeQxrOISddvlq2XcqfPhVsdUbB+/3rE4/9iZVVEKEl/26LZhZP+1L93\r\nDPewCt+gXB5/sqIMtTCDSFyXM0XWiLndKf0t3n7PXLSojr2hHPu8AQI32z0y\r\nMZDDnh6WJ1n0n073mfVvQl83bRArMHrkFEYDl8PMJCWz6K+LYw9lWYK6A3Ug\r\nHclFozvrREiEdmoNdNCbI9T/empRVLunIrLZhJu1AgOGDmhArw3FojBk07yf\r\nKfqAVhmRRsPEEbO8Wpaa0seQjv607jEO14KM0YRfn2TX8GPYhUiwUUxenZEZ\r\n1FIPgEE94g5SP1a3mFcFbafnxhb9s79DBX0b54wsm1EjCN6jz0/Q4sX5lUbB\r\nVN7s6Q8s6ZfBi1q06OsLxKkgbz3jLQ2b5EHDTB0Msn9H/krUELzVSBSMh18m\r\nCk49XZ4sAqcPfV93cLeMp3hVeYAlgSCFy6+dhdohdEqm+UBDQotufn2YRq8z\r\nytbO7INAGVdhzt/6Gc6ZRG/MRcTbBG/CKJBB6NR2DtJttyWknvFn/h2uAWWM\r\nSHPy0aN+t5ufwsyh1PqUY9kJ+c336ZG9H4M=\r\n=FfYP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_3.0.2_1667672484923_0.21193689670470572"},"_hasShrinkwrap":false},"3.0.3":{"name":"@libp2p/interface-connection-encrypter","version":"3.0.3","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-interfaces.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p-interfaces/issues"},"keywords":["interface","libp2p"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build","release":"aegir release"},"dependencies":{"@libp2p/interface-peer-id":"^1.0.0","it-stream-types":"^1.0.4","uint8arraylist":"^2.1.2"},"devDependencies":{"aegir":"^37.7.3"},"typedoc":{"entryPoint":"./src/index.ts"},"gitHead":"51eec57b21590e980767a93e4e8768ae8345f6af","_id":"@libp2p/interface-connection-encrypter@3.0.3","_nodeVersion":"18.12.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-LrxOL2LShhwbhd7GvW2LNXZXuZdkQ/IR6EHUJIjuw3DwLktvLDMfnVz4FCg75fe6N2rw1i6O4MqzmSiPpUlosA==","shasum":"ea9d57a02f8f060d509335af38fd2b2c2e328bab","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-3.0.3.tgz","fileCount":15,"unpackedSize":15951,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGnJ1d9ndFoX6SmPXkvo9Ea9Di3LqPlGO6cjeTH5a8jdAiEAn7wCkL8OW4f8NVvhg9idJBVV7FaE/foldWpDVkd7yb0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmhkgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmolmA//fi/MAwuQjHacZ12n+/RRNYqZj8XoIFtCOEN/iwEPUUcmqVfR\r\nv+IcIcZFZdeSv/JwiwGSwvc+hwXzzmdn4jmRDG+3uFqTLdy42pGV44S0a/Lr\r\nSMg3nOkAIfc0ceHB5GMsQbUr7YJ79aaIsnlc974IyoCsrtgwxP4kGKfalHVm\r\nkShgtu0eUjQ0jTGObl0IMzU7YFv4yvuMk3UQ+9WJjP4P3eO/X8gbGxs48h/C\r\njDAIF6QYMctjO4Kad2xLqp3Hc1qd886kfEig58eoazOfkp70A+nolHhk3mNm\r\nBbwU6DOgGRUw21JCiaHDI6oUXCr3bXAfAMyfPeLbFIG3+yP+e1qaVv8jUTvi\r\ntIJYe9vpw4kR8Emgm2VD2RUwEnLUFf5tzOGrHPilOIjqm3+wTL0vzBFyDNCu\r\nyGZc/Hk171oit6+PJonsI8TqqOqHz3rOu5+6zZIIU0Fi52tH7nLmFaWvmj3P\r\nsKukbK1vnjJYksDGPU5WVRTrzsIn5mE6QIlIpsROF/9VymYeoI3dc6XS3CJi\r\nrBxDsin0hFuTZjOTAIpbxrGBLcS80It9rBl/JsrMJLvQ0UccZ2fRu5SCFiKz\r\nor6abpudiVjW4I7w9D7M6OLmdQ0nxd6dHSlmhEhiIadsDTleLhpqd9tFkdVS\r\n+dMiwocwUCrw5Ab9M94x4++CFOLcMBlWzoY=\r\n=NBMn\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_3.0.3_1671043360235_0.2766543844278502"},"_hasShrinkwrap":false},"3.0.4":{"name":"@libp2p/interface-connection-encrypter","version":"3.0.4","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-interfaces.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p-interfaces/issues"},"keywords":["interface","libp2p"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build","release":"aegir release"},"dependencies":{"@libp2p/interface-peer-id":"^1.0.0","it-stream-types":"^1.0.4","uint8arraylist":"^2.1.2"},"devDependencies":{"aegir":"^37.7.3"},"typedoc":{"entryPoint":"./src/index.ts"},"gitHead":"9048f00d55f7ebcdb3f5032bc6921640e3361dca","_id":"@libp2p/interface-connection-encrypter@3.0.4","_nodeVersion":"18.12.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-7HV/7F4Ki8YQrwOpHU3x89ylxRbqmFxOJ/uqXI6zbcm91SGthuqESZFzz2DKW9u6WNpNZAbg4t+amr2QsweRDg==","shasum":"78b7728b9d823630a993c42e6ce1120e42e251fe","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-3.0.4.tgz","fileCount":15,"unpackedSize":16038,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID9+C7Cd/3wpXSjHIrygFa/Vt96F8gZfrsVsBH/pLEwrAiEAoRW8Ou5FQwNkWyBXA3tqdpYK/sLWF+PvFZG2BdbKBh0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjnEFgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrkNw//dMeKLsNoYfpVZn8JIOOf3S0NXWXcTVP3cm9Xico8kLb+TqOz\r\nf5skM0psUqHylrQn4PM9JYOSpwe2ONYA3Cq3JohiIsAEX47JT22nv5ha66lT\r\nmv4HGpgaX+BoUKXCyztoVEEYZDbbjt+zLAqYC9O/TSBwrsgOGu/QU3TLr8x/\r\nNz2LpZLUA5INp+wH8ea36RKyYbJM0Tkz6cT2VuXjG3nxcVjJaPotahn3WZAV\r\nKE7CpgNvR3qf8WVGefBxiivccIxpO5zH0hQQY0ZuiAEF+1PsRfA3DxOw2XOv\r\nV5gTiiapiv3iSLVyBbrvMBm7TNAeqzMRjb3BIHC5mI1QseUpJEbH0TLrrZnC\r\nsGKEj1GwFQe+yJqHI+ilU8qy5eSz35PetL6fHe2nyEIxw3mTD/WtexCMZNoA\r\nFQV5H7S3d46yn619eZzcfkBT7ZZlBZHXVLjGyMvhwEW5DfqyE+1a1DZIjuyU\r\njOw+3u3/l5cs1WN249Eg3dw0tTq3okZ8cwY0VEgFTnTW4NHbl0vARLSRpjJh\r\nYFXIpm09MSx5knGhBenxcFFRlkMV1V3kwb1RvRO+9rfQGBoKRx9xK5djbSl9\r\nbmRhfaAevtEnpJciw3BLc92llT/hiMsQSr2jxKNQRDtpqynBkz/tupXaZBBS\r\nlvgOkn6VMddM3ukp+QrNxRh2AvGq2w2Hv/g=\r\n=TWiA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_3.0.4_1671184736364_0.4800069041260153"},"_hasShrinkwrap":false},"3.0.5":{"name":"@libp2p/interface-connection-encrypter","version":"3.0.5","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-interfaces.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p-interfaces/issues"},"keywords":["interface","libp2p"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build","release":"aegir release"},"dependencies":{"@libp2p/interface-peer-id":"^2.0.0","it-stream-types":"^1.0.4","uint8arraylist":"^2.1.2"},"devDependencies":{"aegir":"^37.7.3"},"typedoc":{"entryPoint":"./src/index.ts"},"gitHead":"160adca19829cc9a456d135e3460a35d11d82e38","_id":"@libp2p/interface-connection-encrypter@3.0.5","_nodeVersion":"18.12.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-Mn905Cc6xgGYlU3iQqypd/blWqmznaITYpPZz417Xgdg274OtBk9xFU4IhnUsAfRtXOTZtN3u+4tdk0mx/N+/w==","shasum":"79cca426c4d855baf9ebf58887425bed18851a0b","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-3.0.5.tgz","fileCount":15,"unpackedSize":16038,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDel8eYi6yacVB8L3+zNOedu3aSwt/FmE4b60e9EcQnywIhAK9blrPfWDPM/x09yNLoneUjJtw3ZpSztuCZNDhDhxd5"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjuA82ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp96hAAlq7w82efL0pdYSVA17yN0B6ORx+sKIv/I/VSZ2gTgT2+TBMb\r\n8EjAjlkB+d7etRGD3nV3SQ6eSlPWMmCE2D6CjbjkhXj75V0CSowZw3N8go+F\r\nBrzicfr9Zs4xYIjog7n0n7D2gqLbJor+OdCL2qX0sVgHB9bhRAwExJuLReZa\r\nXiuVCIdgmAkCUIDS2gOpyTnXihBw86fjaRIKGRS62eKGmxBaO+eZP15M00T3\r\nym78Gk3v+axlnfooC1ilJ6z/hvXSl4cNn2GPX6NDufXtZzj47Pls+Z4eITb5\r\nuDAHX223ws9rYglF2c/tPswiKkFqBXge+j5qpwU4qjij9fiOdy1ddG5hao/g\r\nsqZ0R9TJ07w/xVF5rthPUBmcWFK+Orwdh+aigu8/DHzvV5ETn4FrKE8I3Cef\r\n/C1GG25c6M2Z229hXZagrkE3c6OgKw0HMXQjFxkO5r4sKcrEFPYF6Q+KSdUj\r\njexRUloFhKH/5dupRwEmwdAmcBbBRT1pwIq7Yx+zCWXC00b5uT0oFe4VNJw2\r\n8fe6Rm3eIlF6ptFmE4xgXgeS8JD6lRezjTdbpMr44aqML4xvoBGoVOzVMLXu\r\n+GhKFJmaUN5NjM/EvDRZcXolO1pyHL/HKSwMPjR4kHZ/Fu6yR0JH2qjSy6Zd\r\nuLktm8rJckj8KmfYGF90bRkKIKfHj4K98kg=\r\n=7w4m\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_3.0.5_1673006901826_0.015475577778086613"},"_hasShrinkwrap":false},"3.0.6":{"name":"@libp2p/interface-connection-encrypter","version":"3.0.6","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-interfaces.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p-interfaces/issues"},"keywords":["interface","libp2p"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build","release":"aegir release"},"dependencies":{"@libp2p/interface-peer-id":"^2.0.0","it-stream-types":"^1.0.4","uint8arraylist":"^2.1.2"},"devDependencies":{"aegir":"^38.1.0"},"typedoc":{"entryPoint":"./src/index.ts"},"gitHead":"983812014dc2b864b41b2205dd582008e2c3c92a","_id":"@libp2p/interface-connection-encrypter@3.0.6","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-LwyYBN/aSa3IPCe7gBxffx/vaC0rFxAXlCbx4QGaWGtg6qK80Ouj89LEDWb3HkMbecNVWaV4TEqJIM5WnAAx1Q==","shasum":"1f7c7428d5905b390cfc5390e72bd02829213d31","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-3.0.6.tgz","fileCount":15,"unpackedSize":16101,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4LDcWzQYLVc+kYm4wXXw3ihYpwj7weGV1Yvd74xpfLgIhAMvop0yiijgNXUPFnn33WAuOHCt96ovwrdoyeZLg4kmD"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjx/rCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo5oA//a9h4AQI9WvQs7m3OnWn3RquMkGQeHE6eDJGZZc2iR9/LJomr\r\nwkxBVL1edGwsEGGSxM2upzEUDQuTiIdzX2D7xCM7s4PD67GqCtrj4jqY/D62\r\nH4hRdA3tuX7DBLNuF4lAq9cteewOf9VIPbs5F2E7cvR9BzNG5m5pFlSYWT8b\r\nFMYJYmvbq3PCwk7f+sksfzvvqQWliX8k6eZfkGfDU+tLRKnywj2WrEgZQ/0x\r\n+J8cIeUEy6YoHozfByi2djdii1+plpAJLCybPZCrLYP2i5FI+vAgfF/VUTaL\r\nUWrPnQkLrLRTuNLu//tpWl4tWG8ycUXKGGkq6uZqroSCtlgApeGa9RhCAJr3\r\nhoCrpOs5MscQvQ1cqJXR4mOxvwG80qXD23eHINsPfJMubzIX+UYf0o8oj7W7\r\nZH8rz7AkRUSVF2SRHu0hDsfRZ0w/8TuO4hgcUci5ozJbWLj8uhOQzIjr5By2\r\noXrCkpt0ZpGWwbqrEz/jyJhN8t+drYwLLKx47uVFPlKcxvKwAbY6WhwGDsoe\r\n5yvGGLFyW1jJvbIcYC4JycHyA+Ch9l+mOx1L70iu/8zcxo02b+6faF/vMvUw\r\nryh8HhNaWsEwXXPtIKMVORhfzeTx5eMU8n76FfwoiuGI7v9P1ajM8ncFMwN/\r\n/HR8ZzgL6YeRr13aAdOCL3ekHSdpY6OoVNI=\r\n=mLJf\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_3.0.6_1674050242060_0.7841197367294415"},"_hasShrinkwrap":false},"4.0.0":{"name":"@libp2p/interface-connection-encrypter","version":"4.0.0","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-interfaces.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p-interfaces/issues"},"keywords":["interface","libp2p"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build","release":"aegir release"},"dependencies":{"@libp2p/interface-peer-id":"^2.0.0","it-stream-types":"^2.0.1"},"devDependencies":{"aegir":"^38.1.0"},"typedoc":{"entryPoint":"./src/index.ts"},"gitHead":"134e210fb37ed273bb1e8615d076fe9835c210fc","_id":"@libp2p/interface-connection-encrypter@4.0.0","_nodeVersion":"18.15.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-cSSbiu8h+G8eHDulZz+fjAZCMb3GeVBR4c5c4RgMQk3Rmw8ImvpPl4t74KS+E47n6s6gtLmrb/qVNMqaK03quw==","shasum":"f82428352b6774b507fdd9cafc9b64a0f67f0699","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-4.0.0.tgz","fileCount":15,"unpackedSize":16596,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCGf2uIHeblpyk3umVQo/UtZ1VLPoecMTjeF/OghuthxgIgItpNiUaoNsBl5s1f+u3Az0h3SDikjV40HHZfcbc0nQA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPsXFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrn+A/9HgTxLogwF+OIivT+NldXOmW2Jwgeg7u094saeswmE9CKZZZR\r\njR5brqOt5r6hejie2D/08TP80ZenvdajwlV00BlGs/VFNyMdlpeXsLLs+ZDu\r\nvyG8bX3d5SGI+QKja/zXBP9RryJrbm+K45av5lx9xhMNMvUVV0J6PXn+Rs6+\r\nHssnFOlK2DeRrRbE+fI5gZWczBajwRTQ29TF2BVEbh2mJodmY8RpfZTLmx8h\r\n0QytJnJ2fpk0CHLCLGTRU9aZ5LaQJuXE08aaoI1gAwOj/aibgUYliGyuYuUq\r\nL+0eiCSQjOeNn5uxxOOfXj+Q2tLJFg/ymeCcrBYWybUsp7/QvEWaSuZrJTcW\r\neKO4JQx9TPzfp6QyELPdkZ7YoPibIhOPgeljy5Pk/aNOFQgyy1aixYIRnLpL\r\n0tw9bLqjj2DL/V6xwEI40WDrkXOu3kcTQbzkHcXj3UG/KfyhDNcEjgqJ0uh3\r\nSODWPHl4NMMdFudhKJ9zmzuH/WJrE08JYCC/SvnJ8dOpg9EHxXdoPfbEgPzA\r\nzit/CkQm0nHqdscS3KO/gRfHENDUTcIqfiAcV4tDRzkbwYkLL0ZS4V0iG2Lp\r\nImb9vPjaC9uVIGtRz3onqxT6z43oJveWnbMdPCwxShdMGDhUAHcwCzTGVfrz\r\ngd08qqsqty4XlimEpmcF5qW6oPva0hpj7Jc=\r\n=PcJ1\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_4.0.0_1681835461512_0.3232849618652043"},"_hasShrinkwrap":false},"4.0.1":{"name":"@libp2p/interface-connection-encrypter","version":"4.0.1","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p-interfaces.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p-interfaces/issues"},"keywords":["interface","libp2p"],"engines":{"node":">=16.0.0","npm":">=7.0.0"},"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build","release":"aegir release"},"dependencies":{"@libp2p/interface-peer-id":"^2.0.0","it-stream-types":"^2.0.1"},"devDependencies":{"aegir":"^39.0.5"},"typedoc":{"entryPoint":"./src/index.ts"},"gitHead":"c8a4c0dbe8c4a04174afca7dcd03e4f434482773","_id":"@libp2p/interface-connection-encrypter@4.0.1","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-fOtZpaFL2f5vID/RaBpVMAR9OKx5DmDT/yMEFTCarNc6Bb37fWwClI4WNCtoVbDQwcnr4H4ZIo0+9yCxjEIjjQ==","shasum":"8eea0889fb5a7bafaf331ab0e6f2d341e0734c56","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-4.0.1.tgz","fileCount":15,"unpackedSize":16554,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHt4wZNuMx3pY8SxbIzGgyQECB/czbFn7J5ZhYs70g3aAiEAj/Fzr5HCOJt6cicxirOEM9DPyKYa2y139055Z2a2hCM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkU+X8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr9yw//WE1mPQewvmd7MS1mocDCgtvQ93+I/W2cobJViMCs8jZr8Hxs\r\n59RL5Hfdtesgd9ljNXQOYFdLOUsmva0FjSOvE7qDTrX4jy/OJzYB4UYc18yC\r\n8hcCxJow/F53ewmIf/y5HqbHS7eSe9TmEkQESKEpLeO89mKWyqakdV6QhmNd\r\nUCzTHt4gvvSrcxXjXuQRZ643QRsiU48jSr3HAHf2kUjV67zBuBoYUSLicS82\r\nzbUYJg7wdjFU/cxnoddQ9OrpWlSi2WWur8jaXqu6fg1IDnUKsRFkZ428UlBH\r\ndLBBulYLPHU+AOAJJbzqbO6UHn/dOuseWjUx/HpQXcy3lloJ2TmRJyexiYpR\r\ngpjy3Y7R8otAwoOS4gt2cXeQYGAG5Sd40u0TTHcaNTMKA0pR+25B7/hk+6Sf\r\nvP3MW6cRMu9xLW3lUqgvbWZb53t0CCdT+9OJTdtvAv/yslWjSUafPPgbG9gO\r\nulNDXteMqZVZ/zz57Bmnc8lo9nENBNQbWr0Z/RHDlBexhNMTMtjfwssJPfn9\r\n403xQM5YJK/et07E8fE8z8pN53Z8GJas7J8grW4PZk60WkGjbm0g0GVEKvRF\r\n8A/aQ0sdPQ6KOjpEz7QKx7Kl3gttkOALlsaZz73uYrIYehBT+06G7zS8c3iW\r\n9ZP1TanXjqHOFoGIfpCnqHcc4pbt/ea3quU=\r\n=Qxm+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_4.0.1_1683219964170_0.32383024028335505"},"_hasShrinkwrap":false},"4.0.1-1c6702c8":{"name":"@libp2p/interface-connection-encrypter","version":"4.0.1-1c6702c8","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p/issues"},"keywords":["interface","libp2p"],"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build","release":"aegir release"},"dependencies":{"@libp2p/interface-peer-id":"2.0.2-1c6702c8","it-stream-types":"^2.0.1"},"devDependencies":{"aegir":"^39.0.5"},"typedoc":{"entryPoint":"./src/index.ts"},"readme":"# @libp2p/interface-connection-encrypter <!-- omit in toc -->\n\n[![libp2p.io](https://img.shields.io/badge/project-libp2p-yellow.svg?style=flat-square)](http://libp2p.io/)\n[![Discuss](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg?style=flat-square)](https://discuss.libp2p.io)\n[![codecov](https://img.shields.io/codecov/c/github/libp2p/js-libp2p.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p)\n[![CI](https://img.shields.io/github/actions/workflow/status/libp2p/js-libp2p/main.yml?branch=master\\&style=flat-square)](https://github.com/libp2p/js-libp2p/actions/workflows/main.yml?query=branch%3Amaster)\n\n> Connection Encrypter interface for libp2p\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [API](#api)\n  - [Secure Inbound](#secure-inbound)\n  - [Secure Outbound](#secure-outbound)\n- [Crypto Errors](#crypto-errors)\n  - [Error Types](#error-types)\n- [API Docs](#api-docs)\n- [License](#license)\n- [Contribution](#contribution)\n\n## Install\n\n```console\n$ npm i @libp2p/interface-connection-encrypter\n```\n\n**Modules that implement the interface**\n\n- [@chainSafe/js-libp2p-noise](https://github.com/ChainSafe/js-libp2p-noise)\n- [js-libp2p-secio](https://github.com/NodeFactoryIo/js-libp2p-secio)\n\n## API\n\n- `Crypto`\n  - `protocol<string>`: The protocol id of the crypto module.\n  - `secureInbound<function(PeerId, duplex)>`: Secures inbound connections.\n  - `secureOutbound<function(PeerId, duplex, PeerId)>`: Secures outbound connections.\n\n### Secure Inbound\n\n- `const { conn, remotePeer } = await crypto.secureInbound(localPeer, duplex, [remotePeer])`\n\nSecures an inbound [streaming iterable duplex][iterable-duplex] connection. It returns an encrypted [streaming iterable duplex][iterable-duplex], as well as the [PeerId][peer-id] of the remote peer.\n\n**Parameters**\n\n- `localPeer` is the [PeerId][peer-id] of the receiving peer.\n- `duplex` is the [streaming iterable duplex][iterable-duplex] that will be encryption.\n- `remotePeer` is the optional [PeerId][peer-id] of the initiating peer, if known. This may only exist during transport upgrades.\n\n**Return Value**\n\n- `<object>`\n  - `conn<duplex>`: An encrypted [streaming iterable duplex][iterable-duplex].\n  - `remotePeer<PeerId>`: The [PeerId][peer-id] of the remote peer.\n\n### Secure Outbound\n\n- `const { conn, remotePeer } = await crypto.secureOutbound(localPeer, duplex, remotePeer)`\n\nSecures an outbound [streaming iterable duplex][iterable-duplex] connection. It returns an encrypted [streaming iterable duplex][iterable-duplex], as well as the [PeerId][peer-id] of the remote peer.\n\n**Parameters**\n\n- `localPeer` is the [PeerId][peer-id] of the receiving peer.\n- `duplex` is the [streaming iterable duplex][iterable-duplex] that will be encrypted.\n- `remotePeer` is the [PeerId][peer-id] of the remote peer. If provided, implementations **should** use this to validate the integrity of the remote peer.\n\n**Return Value**\n\n- `<object>`\n  - `conn<duplex>`: An encrypted [streaming iterable duplex][iterable-duplex].\n  - `remotePeer<PeerId>`: The [PeerId][peer-id] of the remote peer. This **should** match the `remotePeer` parameter, and implementations should enforce this.\n\n## Crypto Errors\n\nCommon crypto errors come with the interface, and can be imported directly. All Errors take an optional message.\n\n```js\nconst {\n  InvalidCryptoExchangeError,\n  InvalidCryptoTransmissionError,\n  UnexpectedPeerError\n} = require('libp2p-interfaces/src/crypto/errors')\n\nconst error = new UnexpectedPeerError('a custom error message')\nconsole.log(error.code === UnexpectedPeerError.code) // true\n```\n\n### Error Types\n\n- `InvalidCryptoExchangeError` - Should be thrown when a peer provides data that is insufficient to finish the crypto exchange.\n- `InvalidCryptoTransmissionError` - Should be thrown when an error occurs during encryption/decryption.\n- `UnexpectedPeerError` - Should be thrown when the expected peer id does not match the peer id determined via the crypto exchange.\n\n## API Docs\n\n- <https://libp2p.github.io/js-libp2p/modules/_libp2p_interface_connection_encrypter.html>\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[peer-id]: https://github.com/libp2p/js-peer-id\n\n[iterable-duplex]: https://gist.github.com/alanshaw/591dc7dd54e4f99338a347ef568d6ee9#duplex-it\n","readmeFilename":"README.md","gitHead":"1c6702c8a48a25e97910c0821f748802edf9ac42","_id":"@libp2p/interface-connection-encrypter@4.0.1-1c6702c8","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-vDL8DYAxpcj8I+lhBSTqfpJGsleNa60lFheSqNc68si1M1kyuDFQVBctsnDBqXb1G2dp0wXROXHGU9K5+cp43w==","shasum":"3111737a3d61aa7ca9acfec0be2fbc5df11bfc59","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-4.0.1-1c6702c8.tgz","fileCount":14,"unpackedSize":16092,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkDiDgUtYG/mFaMLj347OXcQ+gJxuiD5rYqX1ctXA6cAIgafxC0CPxToVHEu5xjh5rtn+q7dyWJBCA64k/UL3FIzM="}]},"_npmUser":{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_4.0.1-1c6702c8_1686816633990_0.41386870066157266"},"_hasShrinkwrap":false},"4.0.1-883082ca":{"name":"@libp2p/interface-connection-encrypter","version":"4.0.1-883082ca","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p/issues"},"keywords":["interface","libp2p"],"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build"},"dependencies":{"@libp2p/interface-peer-id":"2.0.2-883082ca","it-stream-types":"^2.0.1"},"devDependencies":{"aegir":"^39.0.5"},"typedoc":{"entryPoint":"./src/index.ts"},"readme":"# @libp2p/interface-connection-encrypter <!-- omit in toc -->\n\n[![libp2p.io](https://img.shields.io/badge/project-libp2p-yellow.svg?style=flat-square)](http://libp2p.io/)\n[![Discuss](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg?style=flat-square)](https://discuss.libp2p.io)\n[![codecov](https://img.shields.io/codecov/c/github/libp2p/js-libp2p.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p)\n[![CI](https://img.shields.io/github/actions/workflow/status/libp2p/js-libp2p/main.yml?branch=master\\&style=flat-square)](https://github.com/libp2p/js-libp2p/actions/workflows/main.yml?query=branch%3Amaster)\n\n> Connection Encrypter interface for libp2p\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [API](#api)\n  - [Secure Inbound](#secure-inbound)\n  - [Secure Outbound](#secure-outbound)\n- [Crypto Errors](#crypto-errors)\n  - [Error Types](#error-types)\n- [API Docs](#api-docs)\n- [License](#license)\n- [Contribution](#contribution)\n\n## Install\n\n```console\n$ npm i @libp2p/interface-connection-encrypter\n```\n\n**Modules that implement the interface**\n\n- [@chainSafe/js-libp2p-noise](https://github.com/ChainSafe/js-libp2p-noise)\n- [js-libp2p-secio](https://github.com/NodeFactoryIo/js-libp2p-secio)\n\n## API\n\n- `Crypto`\n  - `protocol<string>`: The protocol id of the crypto module.\n  - `secureInbound<function(PeerId, duplex)>`: Secures inbound connections.\n  - `secureOutbound<function(PeerId, duplex, PeerId)>`: Secures outbound connections.\n\n### Secure Inbound\n\n- `const { conn, remotePeer } = await crypto.secureInbound(localPeer, duplex, [remotePeer])`\n\nSecures an inbound [streaming iterable duplex][iterable-duplex] connection. It returns an encrypted [streaming iterable duplex][iterable-duplex], as well as the [PeerId][peer-id] of the remote peer.\n\n**Parameters**\n\n- `localPeer` is the [PeerId][peer-id] of the receiving peer.\n- `duplex` is the [streaming iterable duplex][iterable-duplex] that will be encryption.\n- `remotePeer` is the optional [PeerId][peer-id] of the initiating peer, if known. This may only exist during transport upgrades.\n\n**Return Value**\n\n- `<object>`\n  - `conn<duplex>`: An encrypted [streaming iterable duplex][iterable-duplex].\n  - `remotePeer<PeerId>`: The [PeerId][peer-id] of the remote peer.\n\n### Secure Outbound\n\n- `const { conn, remotePeer } = await crypto.secureOutbound(localPeer, duplex, remotePeer)`\n\nSecures an outbound [streaming iterable duplex][iterable-duplex] connection. It returns an encrypted [streaming iterable duplex][iterable-duplex], as well as the [PeerId][peer-id] of the remote peer.\n\n**Parameters**\n\n- `localPeer` is the [PeerId][peer-id] of the receiving peer.\n- `duplex` is the [streaming iterable duplex][iterable-duplex] that will be encrypted.\n- `remotePeer` is the [PeerId][peer-id] of the remote peer. If provided, implementations **should** use this to validate the integrity of the remote peer.\n\n**Return Value**\n\n- `<object>`\n  - `conn<duplex>`: An encrypted [streaming iterable duplex][iterable-duplex].\n  - `remotePeer<PeerId>`: The [PeerId][peer-id] of the remote peer. This **should** match the `remotePeer` parameter, and implementations should enforce this.\n\n## Crypto Errors\n\nCommon crypto errors come with the interface, and can be imported directly. All Errors take an optional message.\n\n```js\nconst {\n  InvalidCryptoExchangeError,\n  InvalidCryptoTransmissionError,\n  UnexpectedPeerError\n} = require('libp2p-interfaces/src/crypto/errors')\n\nconst error = new UnexpectedPeerError('a custom error message')\nconsole.log(error.code === UnexpectedPeerError.code) // true\n```\n\n### Error Types\n\n- `InvalidCryptoExchangeError` - Should be thrown when a peer provides data that is insufficient to finish the crypto exchange.\n- `InvalidCryptoTransmissionError` - Should be thrown when an error occurs during encryption/decryption.\n- `UnexpectedPeerError` - Should be thrown when the expected peer id does not match the peer id determined via the crypto exchange.\n\n## API Docs\n\n- <https://libp2p.github.io/js-libp2p/modules/_libp2p_interface_connection_encrypter.html>\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[peer-id]: https://github.com/libp2p/js-peer-id\n\n[iterable-duplex]: https://gist.github.com/alanshaw/591dc7dd54e4f99338a347ef568d6ee9#duplex-it\n","readmeFilename":"README.md","gitHead":"883082ca284b346cd5c232236356773d97b78d8b","_id":"@libp2p/interface-connection-encrypter@4.0.1-883082ca","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-cAPUiQVqqIcnpfoxhWaIGmagVLUD9GydfybdiEIfjTUieLb/ZtkGjpGXNtuJ+D6IDy5RZkJU4a4RFcIdYpmdjQ==","shasum":"6a27503d572e7e7bf9099750b3fafc64d906a254","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-4.0.1-883082ca.tgz","fileCount":14,"unpackedSize":16060,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCH0tL7GluvJu4p10eB+umIeVfqc/CPbaLYpilasXmz8wIhAN07M+v8+b6kScJrekoDlDV30L2KaBx14Xg9/zxG0//O"}]},"_npmUser":{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_4.0.1-883082ca_1686821796225_0.5618496608130252"},"_hasShrinkwrap":false},"4.0.1-5a9fb4d6":{"name":"@libp2p/interface-connection-encrypter","version":"4.0.1-5a9fb4d6","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p/issues"},"keywords":["interface","libp2p"],"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build"},"dependencies":{"@libp2p/interface-peer-id":"2.0.2-5a9fb4d6","it-stream-types":"^2.0.1"},"devDependencies":{"aegir":"^39.0.5"},"typedoc":{"entryPoint":"./src/index.ts"},"readme":"# @libp2p/interface-connection-encrypter <!-- omit in toc -->\n\n[![libp2p.io](https://img.shields.io/badge/project-libp2p-yellow.svg?style=flat-square)](http://libp2p.io/)\n[![Discuss](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg?style=flat-square)](https://discuss.libp2p.io)\n[![codecov](https://img.shields.io/codecov/c/github/libp2p/js-libp2p.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p)\n[![CI](https://img.shields.io/github/actions/workflow/status/libp2p/js-libp2p/main.yml?branch=master\\&style=flat-square)](https://github.com/libp2p/js-libp2p/actions/workflows/main.yml?query=branch%3Amaster)\n\n> Connection Encrypter interface for libp2p\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [API](#api)\n  - [Secure Inbound](#secure-inbound)\n  - [Secure Outbound](#secure-outbound)\n- [Crypto Errors](#crypto-errors)\n  - [Error Types](#error-types)\n- [API Docs](#api-docs)\n- [License](#license)\n- [Contribution](#contribution)\n\n## Install\n\n```console\n$ npm i @libp2p/interface-connection-encrypter\n```\n\n**Modules that implement the interface**\n\n- [@chainSafe/js-libp2p-noise](https://github.com/ChainSafe/js-libp2p-noise)\n- [js-libp2p-secio](https://github.com/NodeFactoryIo/js-libp2p-secio)\n\n## API\n\n- `Crypto`\n  - `protocol<string>`: The protocol id of the crypto module.\n  - `secureInbound<function(PeerId, duplex)>`: Secures inbound connections.\n  - `secureOutbound<function(PeerId, duplex, PeerId)>`: Secures outbound connections.\n\n### Secure Inbound\n\n- `const { conn, remotePeer } = await crypto.secureInbound(localPeer, duplex, [remotePeer])`\n\nSecures an inbound [streaming iterable duplex][iterable-duplex] connection. It returns an encrypted [streaming iterable duplex][iterable-duplex], as well as the [PeerId][peer-id] of the remote peer.\n\n**Parameters**\n\n- `localPeer` is the [PeerId][peer-id] of the receiving peer.\n- `duplex` is the [streaming iterable duplex][iterable-duplex] that will be encryption.\n- `remotePeer` is the optional [PeerId][peer-id] of the initiating peer, if known. This may only exist during transport upgrades.\n\n**Return Value**\n\n- `<object>`\n  - `conn<duplex>`: An encrypted [streaming iterable duplex][iterable-duplex].\n  - `remotePeer<PeerId>`: The [PeerId][peer-id] of the remote peer.\n\n### Secure Outbound\n\n- `const { conn, remotePeer } = await crypto.secureOutbound(localPeer, duplex, remotePeer)`\n\nSecures an outbound [streaming iterable duplex][iterable-duplex] connection. It returns an encrypted [streaming iterable duplex][iterable-duplex], as well as the [PeerId][peer-id] of the remote peer.\n\n**Parameters**\n\n- `localPeer` is the [PeerId][peer-id] of the receiving peer.\n- `duplex` is the [streaming iterable duplex][iterable-duplex] that will be encrypted.\n- `remotePeer` is the [PeerId][peer-id] of the remote peer. If provided, implementations **should** use this to validate the integrity of the remote peer.\n\n**Return Value**\n\n- `<object>`\n  - `conn<duplex>`: An encrypted [streaming iterable duplex][iterable-duplex].\n  - `remotePeer<PeerId>`: The [PeerId][peer-id] of the remote peer. This **should** match the `remotePeer` parameter, and implementations should enforce this.\n\n## Crypto Errors\n\nCommon crypto errors come with the interface, and can be imported directly. All Errors take an optional message.\n\n```js\nconst {\n  InvalidCryptoExchangeError,\n  InvalidCryptoTransmissionError,\n  UnexpectedPeerError\n} = require('libp2p-interfaces/src/crypto/errors')\n\nconst error = new UnexpectedPeerError('a custom error message')\nconsole.log(error.code === UnexpectedPeerError.code) // true\n```\n\n### Error Types\n\n- `InvalidCryptoExchangeError` - Should be thrown when a peer provides data that is insufficient to finish the crypto exchange.\n- `InvalidCryptoTransmissionError` - Should be thrown when an error occurs during encryption/decryption.\n- `UnexpectedPeerError` - Should be thrown when the expected peer id does not match the peer id determined via the crypto exchange.\n\n## API Docs\n\n- <https://libp2p.github.io/js-libp2p/modules/_libp2p_interface_connection_encrypter.html>\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[peer-id]: https://github.com/libp2p/js-peer-id\n\n[iterable-duplex]: https://gist.github.com/alanshaw/591dc7dd54e4f99338a347ef568d6ee9#duplex-it\n","readmeFilename":"README.md","gitHead":"5a9fb4d6855b24a4bd63c6b94a5c13d03d7e7ce9","_id":"@libp2p/interface-connection-encrypter@4.0.1-5a9fb4d6","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-zWCb2H8GEca/FnUaGneiRCcCUxobv71mV1aeO83HB1LWIjfYXxTTtpzqkMz/vUW4GHjGm2I/Qh+GjbXO1OAlNA==","shasum":"3d8df725b566e00660a6e8efe9b8ffee58045c0a","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-4.0.1-5a9fb4d6.tgz","fileCount":14,"unpackedSize":16060,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPiCJdogjhArOVuElTDQBuwnVojfiVGOILnUL8ykIIzQIgEQBEPP61aZ7s+dYCR0CP3F4WESciG0+prjpNwYOpwLA="}]},"_npmUser":{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_4.0.1-5a9fb4d6_1686825321530_0.0660573118556842"},"_hasShrinkwrap":false},"4.0.1-d2f1eff4":{"name":"@libp2p/interface-connection-encrypter","version":"4.0.1-d2f1eff4","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p/issues"},"keywords":["interface","libp2p"],"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build"},"dependencies":{"@libp2p/interface-peer-id":"2.0.2-d2f1eff4","it-stream-types":"^2.0.1"},"devDependencies":{"aegir":"^39.0.5"},"typedoc":{"entryPoint":"./src/index.ts"},"readme":"# @libp2p/interface-connection-encrypter <!-- omit in toc -->\n\n[![libp2p.io](https://img.shields.io/badge/project-libp2p-yellow.svg?style=flat-square)](http://libp2p.io/)\n[![Discuss](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg?style=flat-square)](https://discuss.libp2p.io)\n[![codecov](https://img.shields.io/codecov/c/github/libp2p/js-libp2p.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p)\n[![CI](https://img.shields.io/github/actions/workflow/status/libp2p/js-libp2p/main.yml?branch=master\\&style=flat-square)](https://github.com/libp2p/js-libp2p/actions/workflows/main.yml?query=branch%3Amaster)\n\n> Connection Encrypter interface for libp2p\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [API](#api)\n  - [Secure Inbound](#secure-inbound)\n  - [Secure Outbound](#secure-outbound)\n- [Crypto Errors](#crypto-errors)\n  - [Error Types](#error-types)\n- [API Docs](#api-docs)\n- [License](#license)\n- [Contribution](#contribution)\n\n## Install\n\n```console\n$ npm i @libp2p/interface-connection-encrypter\n```\n\n**Modules that implement the interface**\n\n- [@chainSafe/js-libp2p-noise](https://github.com/ChainSafe/js-libp2p-noise)\n- [js-libp2p-secio](https://github.com/NodeFactoryIo/js-libp2p-secio)\n\n## API\n\n- `Crypto`\n  - `protocol<string>`: The protocol id of the crypto module.\n  - `secureInbound<function(PeerId, duplex)>`: Secures inbound connections.\n  - `secureOutbound<function(PeerId, duplex, PeerId)>`: Secures outbound connections.\n\n### Secure Inbound\n\n- `const { conn, remotePeer } = await crypto.secureInbound(localPeer, duplex, [remotePeer])`\n\nSecures an inbound [streaming iterable duplex][iterable-duplex] connection. It returns an encrypted [streaming iterable duplex][iterable-duplex], as well as the [PeerId][peer-id] of the remote peer.\n\n**Parameters**\n\n- `localPeer` is the [PeerId][peer-id] of the receiving peer.\n- `duplex` is the [streaming iterable duplex][iterable-duplex] that will be encryption.\n- `remotePeer` is the optional [PeerId][peer-id] of the initiating peer, if known. This may only exist during transport upgrades.\n\n**Return Value**\n\n- `<object>`\n  - `conn<duplex>`: An encrypted [streaming iterable duplex][iterable-duplex].\n  - `remotePeer<PeerId>`: The [PeerId][peer-id] of the remote peer.\n\n### Secure Outbound\n\n- `const { conn, remotePeer } = await crypto.secureOutbound(localPeer, duplex, remotePeer)`\n\nSecures an outbound [streaming iterable duplex][iterable-duplex] connection. It returns an encrypted [streaming iterable duplex][iterable-duplex], as well as the [PeerId][peer-id] of the remote peer.\n\n**Parameters**\n\n- `localPeer` is the [PeerId][peer-id] of the receiving peer.\n- `duplex` is the [streaming iterable duplex][iterable-duplex] that will be encrypted.\n- `remotePeer` is the [PeerId][peer-id] of the remote peer. If provided, implementations **should** use this to validate the integrity of the remote peer.\n\n**Return Value**\n\n- `<object>`\n  - `conn<duplex>`: An encrypted [streaming iterable duplex][iterable-duplex].\n  - `remotePeer<PeerId>`: The [PeerId][peer-id] of the remote peer. This **should** match the `remotePeer` parameter, and implementations should enforce this.\n\n## Crypto Errors\n\nCommon crypto errors come with the interface, and can be imported directly. All Errors take an optional message.\n\n```js\nconst {\n  InvalidCryptoExchangeError,\n  InvalidCryptoTransmissionError,\n  UnexpectedPeerError\n} = require('libp2p-interfaces/src/crypto/errors')\n\nconst error = new UnexpectedPeerError('a custom error message')\nconsole.log(error.code === UnexpectedPeerError.code) // true\n```\n\n### Error Types\n\n- `InvalidCryptoExchangeError` - Should be thrown when a peer provides data that is insufficient to finish the crypto exchange.\n- `InvalidCryptoTransmissionError` - Should be thrown when an error occurs during encryption/decryption.\n- `UnexpectedPeerError` - Should be thrown when the expected peer id does not match the peer id determined via the crypto exchange.\n\n## API Docs\n\n- <https://libp2p.github.io/js-libp2p/modules/_libp2p_interface_connection_encrypter.html>\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[peer-id]: https://github.com/libp2p/js-peer-id\n\n[iterable-duplex]: https://gist.github.com/alanshaw/591dc7dd54e4f99338a347ef568d6ee9#duplex-it\n","readmeFilename":"README.md","gitHead":"d2f1eff45ca2dd30c98497bb5dcbc3fb33496b6d","_id":"@libp2p/interface-connection-encrypter@4.0.1-d2f1eff4","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-I2w2mw/l8/KxV4rEAUMe8wxnivse9AKdMIhmGNoTdr1sgnPKVVBqvug5zDahujRKoPiOAI/MzBXfBHpHmL62NQ==","shasum":"0d6c1cf0c61fd7df6013ad8c1a169262b815e6d2","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-4.0.1-d2f1eff4.tgz","fileCount":14,"unpackedSize":16060,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD76VRfteqfkxamCNcfOQ7rInjqjmB7/KkkZruRLhAs3QIhAJ2EbulusvEFB4ZPSensyZj151a+/UNfTkSjgkXe9+/E"}]},"_npmUser":{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_4.0.1-d2f1eff4_1686830984665_0.7933690788898315"},"_hasShrinkwrap":false},"4.0.1-8c6b6d24":{"name":"@libp2p/interface-connection-encrypter","version":"4.0.1-8c6b6d24","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p/issues"},"keywords":["interface","libp2p"],"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"release":{"branches":["master"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build"},"dependencies":{"@libp2p/interface-peer-id":"2.0.2-8c6b6d24","it-stream-types":"^2.0.1"},"devDependencies":{"aegir":"^39.0.5"},"typedoc":{"entryPoint":"./src/index.ts"},"readme":"# @libp2p/interface-connection-encrypter <!-- omit in toc -->\n\n[![libp2p.io](https://img.shields.io/badge/project-libp2p-yellow.svg?style=flat-square)](http://libp2p.io/)\n[![Discuss](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg?style=flat-square)](https://discuss.libp2p.io)\n[![codecov](https://img.shields.io/codecov/c/github/libp2p/js-libp2p.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p)\n[![CI](https://img.shields.io/github/actions/workflow/status/libp2p/js-libp2p/main.yml?branch=master\\&style=flat-square)](https://github.com/libp2p/js-libp2p/actions/workflows/main.yml?query=branch%3Amaster)\n\n> Connection Encrypter interface for libp2p\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [API](#api)\n  - [Secure Inbound](#secure-inbound)\n  - [Secure Outbound](#secure-outbound)\n- [Crypto Errors](#crypto-errors)\n  - [Error Types](#error-types)\n- [API Docs](#api-docs)\n- [License](#license)\n- [Contribution](#contribution)\n\n## Install\n\n```console\n$ npm i @libp2p/interface-connection-encrypter\n```\n\n**Modules that implement the interface**\n\n- [@chainSafe/js-libp2p-noise](https://github.com/ChainSafe/js-libp2p-noise)\n- [js-libp2p-secio](https://github.com/NodeFactoryIo/js-libp2p-secio)\n\n## API\n\n- `Crypto`\n  - `protocol<string>`: The protocol id of the crypto module.\n  - `secureInbound<function(PeerId, duplex)>`: Secures inbound connections.\n  - `secureOutbound<function(PeerId, duplex, PeerId)>`: Secures outbound connections.\n\n### Secure Inbound\n\n- `const { conn, remotePeer } = await crypto.secureInbound(localPeer, duplex, [remotePeer])`\n\nSecures an inbound [streaming iterable duplex][iterable-duplex] connection. It returns an encrypted [streaming iterable duplex][iterable-duplex], as well as the [PeerId][peer-id] of the remote peer.\n\n**Parameters**\n\n- `localPeer` is the [PeerId][peer-id] of the receiving peer.\n- `duplex` is the [streaming iterable duplex][iterable-duplex] that will be encryption.\n- `remotePeer` is the optional [PeerId][peer-id] of the initiating peer, if known. This may only exist during transport upgrades.\n\n**Return Value**\n\n- `<object>`\n  - `conn<duplex>`: An encrypted [streaming iterable duplex][iterable-duplex].\n  - `remotePeer<PeerId>`: The [PeerId][peer-id] of the remote peer.\n\n### Secure Outbound\n\n- `const { conn, remotePeer } = await crypto.secureOutbound(localPeer, duplex, remotePeer)`\n\nSecures an outbound [streaming iterable duplex][iterable-duplex] connection. It returns an encrypted [streaming iterable duplex][iterable-duplex], as well as the [PeerId][peer-id] of the remote peer.\n\n**Parameters**\n\n- `localPeer` is the [PeerId][peer-id] of the receiving peer.\n- `duplex` is the [streaming iterable duplex][iterable-duplex] that will be encrypted.\n- `remotePeer` is the [PeerId][peer-id] of the remote peer. If provided, implementations **should** use this to validate the integrity of the remote peer.\n\n**Return Value**\n\n- `<object>`\n  - `conn<duplex>`: An encrypted [streaming iterable duplex][iterable-duplex].\n  - `remotePeer<PeerId>`: The [PeerId][peer-id] of the remote peer. This **should** match the `remotePeer` parameter, and implementations should enforce this.\n\n## Crypto Errors\n\nCommon crypto errors come with the interface, and can be imported directly. All Errors take an optional message.\n\n```js\nconst {\n  InvalidCryptoExchangeError,\n  InvalidCryptoTransmissionError,\n  UnexpectedPeerError\n} = require('libp2p-interfaces/src/crypto/errors')\n\nconst error = new UnexpectedPeerError('a custom error message')\nconsole.log(error.code === UnexpectedPeerError.code) // true\n```\n\n### Error Types\n\n- `InvalidCryptoExchangeError` - Should be thrown when a peer provides data that is insufficient to finish the crypto exchange.\n- `InvalidCryptoTransmissionError` - Should be thrown when an error occurs during encryption/decryption.\n- `UnexpectedPeerError` - Should be thrown when the expected peer id does not match the peer id determined via the crypto exchange.\n\n## API Docs\n\n- <https://libp2p.github.io/js-libp2p/modules/_libp2p_interface_connection_encrypter.html>\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[peer-id]: https://github.com/libp2p/js-peer-id\n\n[iterable-duplex]: https://gist.github.com/alanshaw/591dc7dd54e4f99338a347ef568d6ee9#duplex-it\n","readmeFilename":"README.md","gitHead":"8c6b6d2404d403104d244628def748397733dcd4","_id":"@libp2p/interface-connection-encrypter@4.0.1-8c6b6d24","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-ImKb5v55u6sJj332IVh6VvpOzeSbuOapFgIFm3l9D+KQe8sLb7s2fBedrMwafPih2fiW3L5h18/A98Z6w2A1rA==","shasum":"5f7b3c9b123eb6d790145b0418c416bcf2ca9349","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-4.0.1-8c6b6d24.tgz","fileCount":14,"unpackedSize":16060,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHnASBmCyCBfF546OjwIaPIpODpv6cMHQFZPV4ktMxuwIhAJWybP+qpJdHJcKUzihyVko59I1IeppLI68GQEyeeYw6"}]},"_npmUser":{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_4.0.1-8c6b6d24_1686832622444_0.777628717973468"},"_hasShrinkwrap":false},"4.0.1-3dfc236e":{"name":"@libp2p/interface-connection-encrypter","version":"4.0.1-3dfc236e","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p/issues"},"keywords":["interface","libp2p"],"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build"},"dependencies":{"@libp2p/interface-peer-id":"2.0.2-3dfc236e","it-stream-types":"^2.0.1"},"devDependencies":{"aegir":"^39.0.10"},"typedoc":{"entryPoint":"./src/index.ts"},"readme":"# @libp2p/interface-connection-encrypter <!-- omit in toc -->\n\n[![libp2p.io](https://img.shields.io/badge/project-libp2p-yellow.svg?style=flat-square)](http://libp2p.io/)\n[![Discuss](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg?style=flat-square)](https://discuss.libp2p.io)\n[![codecov](https://img.shields.io/codecov/c/github/libp2p/js-libp2p.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p)\n[![CI](https://img.shields.io/github/actions/workflow/status/libp2p/js-libp2p/main.yml?branch=master\\&style=flat-square)](https://github.com/libp2p/js-libp2p/actions/workflows/main.yml?query=branch%3Amaster)\n\n> Connection Encrypter interface for libp2p\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [API](#api)\n  - [Secure Inbound](#secure-inbound)\n  - [Secure Outbound](#secure-outbound)\n- [Crypto Errors](#crypto-errors)\n  - [Error Types](#error-types)\n- [API Docs](#api-docs)\n- [License](#license)\n- [Contribution](#contribution)\n\n## Install\n\n```console\n$ npm i @libp2p/interface-connection-encrypter\n```\n\n**Modules that implement the interface**\n\n- [@chainSafe/js-libp2p-noise](https://github.com/ChainSafe/js-libp2p-noise)\n- [js-libp2p-secio](https://github.com/NodeFactoryIo/js-libp2p-secio)\n\n## API\n\n- `Crypto`\n  - `protocol<string>`: The protocol id of the crypto module.\n  - `secureInbound<function(PeerId, duplex)>`: Secures inbound connections.\n  - `secureOutbound<function(PeerId, duplex, PeerId)>`: Secures outbound connections.\n\n### Secure Inbound\n\n- `const { conn, remotePeer } = await crypto.secureInbound(localPeer, duplex, [remotePeer])`\n\nSecures an inbound [streaming iterable duplex][iterable-duplex] connection. It returns an encrypted [streaming iterable duplex][iterable-duplex], as well as the [PeerId][peer-id] of the remote peer.\n\n**Parameters**\n\n- `localPeer` is the [PeerId][peer-id] of the receiving peer.\n- `duplex` is the [streaming iterable duplex][iterable-duplex] that will be encryption.\n- `remotePeer` is the optional [PeerId][peer-id] of the initiating peer, if known. This may only exist during transport upgrades.\n\n**Return Value**\n\n- `<object>`\n  - `conn<duplex>`: An encrypted [streaming iterable duplex][iterable-duplex].\n  - `remotePeer<PeerId>`: The [PeerId][peer-id] of the remote peer.\n\n### Secure Outbound\n\n- `const { conn, remotePeer } = await crypto.secureOutbound(localPeer, duplex, remotePeer)`\n\nSecures an outbound [streaming iterable duplex][iterable-duplex] connection. It returns an encrypted [streaming iterable duplex][iterable-duplex], as well as the [PeerId][peer-id] of the remote peer.\n\n**Parameters**\n\n- `localPeer` is the [PeerId][peer-id] of the receiving peer.\n- `duplex` is the [streaming iterable duplex][iterable-duplex] that will be encrypted.\n- `remotePeer` is the [PeerId][peer-id] of the remote peer. If provided, implementations **should** use this to validate the integrity of the remote peer.\n\n**Return Value**\n\n- `<object>`\n  - `conn<duplex>`: An encrypted [streaming iterable duplex][iterable-duplex].\n  - `remotePeer<PeerId>`: The [PeerId][peer-id] of the remote peer. This **should** match the `remotePeer` parameter, and implementations should enforce this.\n\n## Crypto Errors\n\nCommon crypto errors come with the interface, and can be imported directly. All Errors take an optional message.\n\n```js\nconst {\n  InvalidCryptoExchangeError,\n  InvalidCryptoTransmissionError,\n  UnexpectedPeerError\n} = require('libp2p-interfaces/src/crypto/errors')\n\nconst error = new UnexpectedPeerError('a custom error message')\nconsole.log(error.code === UnexpectedPeerError.code) // true\n```\n\n### Error Types\n\n- `InvalidCryptoExchangeError` - Should be thrown when a peer provides data that is insufficient to finish the crypto exchange.\n- `InvalidCryptoTransmissionError` - Should be thrown when an error occurs during encryption/decryption.\n- `UnexpectedPeerError` - Should be thrown when the expected peer id does not match the peer id determined via the crypto exchange.\n\n## API Docs\n\n- <https://libp2p.github.io/js-libp2p/modules/_libp2p_interface_connection_encrypter.html>\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[peer-id]: https://github.com/libp2p/js-peer-id\n\n[iterable-duplex]: https://gist.github.com/alanshaw/591dc7dd54e4f99338a347ef568d6ee9#duplex-it\n","readmeFilename":"README.md","gitHead":"3dfc236e1789fb5c1e9d96189483a71124ad1bf4","_id":"@libp2p/interface-connection-encrypter@4.0.1-3dfc236e","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-VqJSdMXFM2O0fY8cSstEepKBVQ92m/iZsDUZYaAAIjSRFn1xFsBTrK/LOwW7uiHk8D8NmZeNAzahq4I6PtWyfw==","shasum":"bd615a937bf3b54333e6d21c87728ad2f9ef0587","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-4.0.1-3dfc236e.tgz","fileCount":14,"unpackedSize":14099,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC08ZDtgwH8EMhIezrmZ9ir8Pcs76zLUfRz7a9hObyyiwIgJQ+u+h2Ho6jp+fBhU+uqaXyWOBA4WUZJdL87d1ifF5c="}]},"_npmUser":{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_4.0.1-3dfc236e_1686922969147_0.42168213634889606"},"_hasShrinkwrap":false},"4.0.1-ab0e3980":{"name":"@libp2p/interface-connection-encrypter","version":"4.0.1-ab0e3980","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p/issues"},"keywords":["interface","libp2p"],"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build"},"dependencies":{"@libp2p/interface-peer-id":"2.0.2-ab0e3980","it-stream-types":"^2.0.1"},"devDependencies":{"aegir":"^39.0.10"},"typedoc":{"entryPoint":"./src/index.ts"},"readme":"# @libp2p/interface-connection-encrypter <!-- omit in toc -->\n\n[![libp2p.io](https://img.shields.io/badge/project-libp2p-yellow.svg?style=flat-square)](http://libp2p.io/)\n[![Discuss](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg?style=flat-square)](https://discuss.libp2p.io)\n[![codecov](https://img.shields.io/codecov/c/github/libp2p/js-libp2p.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p)\n[![CI](https://img.shields.io/github/actions/workflow/status/libp2p/js-libp2p/main.yml?branch=master\\&style=flat-square)](https://github.com/libp2p/js-libp2p/actions/workflows/main.yml?query=branch%3Amaster)\n\n> Connection Encrypter interface for libp2p\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [API](#api)\n  - [Secure Inbound](#secure-inbound)\n  - [Secure Outbound](#secure-outbound)\n- [Crypto Errors](#crypto-errors)\n  - [Error Types](#error-types)\n- [API Docs](#api-docs)\n- [License](#license)\n- [Contribution](#contribution)\n\n## Install\n\n```console\n$ npm i @libp2p/interface-connection-encrypter\n```\n\n**Modules that implement the interface**\n\n- [@chainSafe/js-libp2p-noise](https://github.com/ChainSafe/js-libp2p-noise)\n- [js-libp2p-secio](https://github.com/NodeFactoryIo/js-libp2p-secio)\n\n## API\n\n- `Crypto`\n  - `protocol<string>`: The protocol id of the crypto module.\n  - `secureInbound<function(PeerId, duplex)>`: Secures inbound connections.\n  - `secureOutbound<function(PeerId, duplex, PeerId)>`: Secures outbound connections.\n\n### Secure Inbound\n\n- `const { conn, remotePeer } = await crypto.secureInbound(localPeer, duplex, [remotePeer])`\n\nSecures an inbound [streaming iterable duplex][iterable-duplex] connection. It returns an encrypted [streaming iterable duplex][iterable-duplex], as well as the [PeerId][peer-id] of the remote peer.\n\n**Parameters**\n\n- `localPeer` is the [PeerId][peer-id] of the receiving peer.\n- `duplex` is the [streaming iterable duplex][iterable-duplex] that will be encryption.\n- `remotePeer` is the optional [PeerId][peer-id] of the initiating peer, if known. This may only exist during transport upgrades.\n\n**Return Value**\n\n- `<object>`\n  - `conn<duplex>`: An encrypted [streaming iterable duplex][iterable-duplex].\n  - `remotePeer<PeerId>`: The [PeerId][peer-id] of the remote peer.\n\n### Secure Outbound\n\n- `const { conn, remotePeer } = await crypto.secureOutbound(localPeer, duplex, remotePeer)`\n\nSecures an outbound [streaming iterable duplex][iterable-duplex] connection. It returns an encrypted [streaming iterable duplex][iterable-duplex], as well as the [PeerId][peer-id] of the remote peer.\n\n**Parameters**\n\n- `localPeer` is the [PeerId][peer-id] of the receiving peer.\n- `duplex` is the [streaming iterable duplex][iterable-duplex] that will be encrypted.\n- `remotePeer` is the [PeerId][peer-id] of the remote peer. If provided, implementations **should** use this to validate the integrity of the remote peer.\n\n**Return Value**\n\n- `<object>`\n  - `conn<duplex>`: An encrypted [streaming iterable duplex][iterable-duplex].\n  - `remotePeer<PeerId>`: The [PeerId][peer-id] of the remote peer. This **should** match the `remotePeer` parameter, and implementations should enforce this.\n\n## Crypto Errors\n\nCommon crypto errors come with the interface, and can be imported directly. All Errors take an optional message.\n\n```js\nconst {\n  InvalidCryptoExchangeError,\n  InvalidCryptoTransmissionError,\n  UnexpectedPeerError\n} = require('libp2p-interfaces/src/crypto/errors')\n\nconst error = new UnexpectedPeerError('a custom error message')\nconsole.log(error.code === UnexpectedPeerError.code) // true\n```\n\n### Error Types\n\n- `InvalidCryptoExchangeError` - Should be thrown when a peer provides data that is insufficient to finish the crypto exchange.\n- `InvalidCryptoTransmissionError` - Should be thrown when an error occurs during encryption/decryption.\n- `UnexpectedPeerError` - Should be thrown when the expected peer id does not match the peer id determined via the crypto exchange.\n\n## API Docs\n\n- <https://libp2p.github.io/js-libp2p/modules/_libp2p_interface_connection_encrypter.html>\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[peer-id]: https://github.com/libp2p/js-peer-id\n\n[iterable-duplex]: https://gist.github.com/alanshaw/591dc7dd54e4f99338a347ef568d6ee9#duplex-it\n","readmeFilename":"README.md","gitHead":"ab0e3980160dcbacf00825cfc4c6ba1d0c07a20c","_id":"@libp2p/interface-connection-encrypter@4.0.1-ab0e3980","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-+2skU+cekGqSfrhnH3dc4gIIbvjgBPJrflWI3fkkmZIQtfhZZotT3S1vDmvvp/+4ohAWzJBepY1/JOJlj3/t8Q==","shasum":"f4059cff82bce0a389eb649ce12b9fd09d675466","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-4.0.1-ab0e3980.tgz","fileCount":14,"unpackedSize":14099,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGWkXaMqXPcczl0J2aLZxisZMUH9VD75A6YZPsGCA3xEAiEAnvDbugO2dQHT08nP1tpd9hqW3Hn2UXSpz6lomxJbQKU="}]},"_npmUser":{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_4.0.1-ab0e3980_1687168932021_0.5394833434910715"},"_hasShrinkwrap":false},"4.0.1-ea8a0637":{"name":"@libp2p/interface-connection-encrypter","version":"4.0.1-ea8a0637","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p/issues"},"keywords":["interface","libp2p"],"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build"},"dependencies":{"@libp2p/interface-peer-id":"2.0.2-ea8a0637","it-stream-types":"^2.0.1"},"devDependencies":{"aegir":"^39.0.10"},"typedoc":{"entryPoint":"./src/index.ts"},"readme":"# @libp2p/interface-connection-encrypter <!-- omit in toc -->\n\n[![libp2p.io](https://img.shields.io/badge/project-libp2p-yellow.svg?style=flat-square)](http://libp2p.io/)\n[![Discuss](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg?style=flat-square)](https://discuss.libp2p.io)\n[![codecov](https://img.shields.io/codecov/c/github/libp2p/js-libp2p.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p)\n[![CI](https://img.shields.io/github/actions/workflow/status/libp2p/js-libp2p/main.yml?branch=master\\&style=flat-square)](https://github.com/libp2p/js-libp2p/actions/workflows/main.yml?query=branch%3Amaster)\n\n> Connection Encrypter interface for libp2p\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [API](#api)\n  - [Secure Inbound](#secure-inbound)\n  - [Secure Outbound](#secure-outbound)\n- [Crypto Errors](#crypto-errors)\n  - [Error Types](#error-types)\n- [API Docs](#api-docs)\n- [License](#license)\n- [Contribution](#contribution)\n\n## Install\n\n```console\n$ npm i @libp2p/interface-connection-encrypter\n```\n\n**Modules that implement the interface**\n\n- [@chainSafe/js-libp2p-noise](https://github.com/ChainSafe/js-libp2p-noise)\n- [js-libp2p-secio](https://github.com/NodeFactoryIo/js-libp2p-secio)\n\n## API\n\n- `Crypto`\n  - `protocol<string>`: The protocol id of the crypto module.\n  - `secureInbound<function(PeerId, duplex)>`: Secures inbound connections.\n  - `secureOutbound<function(PeerId, duplex, PeerId)>`: Secures outbound connections.\n\n### Secure Inbound\n\n- `const { conn, remotePeer } = await crypto.secureInbound(localPeer, duplex, [remotePeer])`\n\nSecures an inbound [streaming iterable duplex][iterable-duplex] connection. It returns an encrypted [streaming iterable duplex][iterable-duplex], as well as the [PeerId][peer-id] of the remote peer.\n\n**Parameters**\n\n- `localPeer` is the [PeerId][peer-id] of the receiving peer.\n- `duplex` is the [streaming iterable duplex][iterable-duplex] that will be encryption.\n- `remotePeer` is the optional [PeerId][peer-id] of the initiating peer, if known. This may only exist during transport upgrades.\n\n**Return Value**\n\n- `<object>`\n  - `conn<duplex>`: An encrypted [streaming iterable duplex][iterable-duplex].\n  - `remotePeer<PeerId>`: The [PeerId][peer-id] of the remote peer.\n\n### Secure Outbound\n\n- `const { conn, remotePeer } = await crypto.secureOutbound(localPeer, duplex, remotePeer)`\n\nSecures an outbound [streaming iterable duplex][iterable-duplex] connection. It returns an encrypted [streaming iterable duplex][iterable-duplex], as well as the [PeerId][peer-id] of the remote peer.\n\n**Parameters**\n\n- `localPeer` is the [PeerId][peer-id] of the receiving peer.\n- `duplex` is the [streaming iterable duplex][iterable-duplex] that will be encrypted.\n- `remotePeer` is the [PeerId][peer-id] of the remote peer. If provided, implementations **should** use this to validate the integrity of the remote peer.\n\n**Return Value**\n\n- `<object>`\n  - `conn<duplex>`: An encrypted [streaming iterable duplex][iterable-duplex].\n  - `remotePeer<PeerId>`: The [PeerId][peer-id] of the remote peer. This **should** match the `remotePeer` parameter, and implementations should enforce this.\n\n## Crypto Errors\n\nCommon crypto errors come with the interface, and can be imported directly. All Errors take an optional message.\n\n```js\nconst {\n  InvalidCryptoExchangeError,\n  InvalidCryptoTransmissionError,\n  UnexpectedPeerError\n} = require('libp2p-interfaces/src/crypto/errors')\n\nconst error = new UnexpectedPeerError('a custom error message')\nconsole.log(error.code === UnexpectedPeerError.code) // true\n```\n\n### Error Types\n\n- `InvalidCryptoExchangeError` - Should be thrown when a peer provides data that is insufficient to finish the crypto exchange.\n- `InvalidCryptoTransmissionError` - Should be thrown when an error occurs during encryption/decryption.\n- `UnexpectedPeerError` - Should be thrown when the expected peer id does not match the peer id determined via the crypto exchange.\n\n## API Docs\n\n- <https://libp2p.github.io/js-libp2p/modules/_libp2p_interface_connection_encrypter.html>\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[peer-id]: https://github.com/libp2p/js-peer-id\n\n[iterable-duplex]: https://gist.github.com/alanshaw/591dc7dd54e4f99338a347ef568d6ee9#duplex-it\n","readmeFilename":"README.md","gitHead":"ea8a06378d6733c0bcac28bed3aa3baef1e30ead","_id":"@libp2p/interface-connection-encrypter@4.0.1-ea8a0637","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-aUEimXNuixbCqTl9v+Qx8qOh0rk7TiotBo3VZDUg6KThznN/tsHquT8sUJLOAsLG/x9buOhklRpChjcnig7RlA==","shasum":"aa287dcf84aa2fe0055fe65ada8c6aa994232a51","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-4.0.1-ea8a0637.tgz","fileCount":14,"unpackedSize":14099,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHRSO0IbQ7TdI3pDPXxDd4Byhc4ViIiBbsL9WvifXRtkAiEAp2j//bIl+sNaWODdNuYOtF+AiE9B0ZBvxzSnmGjklKg="}]},"_npmUser":{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_4.0.1-ea8a0637_1687170420713_0.7196178018686235"},"_hasShrinkwrap":false},"4.0.1-d853d124":{"name":"@libp2p/interface-connection-encrypter","version":"4.0.1-d853d124","description":"Connection Encrypter interface for libp2p","license":"Apache-2.0 OR MIT","homepage":"https://github.com/libp2p/js-libp2p/tree/master/packages/interface-connection-encrypter#readme","repository":{"type":"git","url":"git+https://github.com/libp2p/js-libp2p.git"},"bugs":{"url":"https://github.com/libp2p/js-libp2p/issues"},"keywords":["interface","libp2p"],"type":"module","types":"./dist/src/index.d.ts","typesVersions":{"*":{"*":["*","dist/*","dist/src/*","dist/src/*/index"],"src/*":["*","dist/*","dist/src/*","dist/src/*/index"]}},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./errors":{"types":"./dist/src/errors.d.ts","import":"./dist/src/errors.js"}},"eslintConfig":{"extends":"ipfs","parserOptions":{"sourceType":"module"}},"scripts":{"clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","build":"aegir build"},"dependencies":{"@libp2p/interface-peer-id":"2.0.2-d853d124","it-stream-types":"^2.0.1"},"devDependencies":{"aegir":"^39.0.10"},"typedoc":{"entryPoint":"./src/index.ts"},"readme":"# @libp2p/interface-connection-encrypter <!-- omit in toc -->\n\n[![libp2p.io](https://img.shields.io/badge/project-libp2p-yellow.svg?style=flat-square)](http://libp2p.io/)\n[![Discuss](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg?style=flat-square)](https://discuss.libp2p.io)\n[![codecov](https://img.shields.io/codecov/c/github/libp2p/js-libp2p.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p)\n[![CI](https://img.shields.io/github/actions/workflow/status/libp2p/js-libp2p/main.yml?branch=master\\&style=flat-square)](https://github.com/libp2p/js-libp2p/actions/workflows/main.yml?query=branch%3Amaster)\n\n> Connection Encrypter interface for libp2p\n\n## Table of contents <!-- omit in toc -->\n\n- [Install](#install)\n- [API](#api)\n  - [Secure Inbound](#secure-inbound)\n  - [Secure Outbound](#secure-outbound)\n- [Crypto Errors](#crypto-errors)\n  - [Error Types](#error-types)\n- [API Docs](#api-docs)\n- [License](#license)\n- [Contribution](#contribution)\n\n## Install\n\n```console\n$ npm i @libp2p/interface-connection-encrypter\n```\n\n**Modules that implement the interface**\n\n- [@chainSafe/js-libp2p-noise](https://github.com/ChainSafe/js-libp2p-noise)\n- [js-libp2p-secio](https://github.com/NodeFactoryIo/js-libp2p-secio)\n\n## API\n\n- `Crypto`\n  - `protocol<string>`: The protocol id of the crypto module.\n  - `secureInbound<function(PeerId, duplex)>`: Secures inbound connections.\n  - `secureOutbound<function(PeerId, duplex, PeerId)>`: Secures outbound connections.\n\n### Secure Inbound\n\n- `const { conn, remotePeer } = await crypto.secureInbound(localPeer, duplex, [remotePeer])`\n\nSecures an inbound [streaming iterable duplex][iterable-duplex] connection. It returns an encrypted [streaming iterable duplex][iterable-duplex], as well as the [PeerId][peer-id] of the remote peer.\n\n**Parameters**\n\n- `localPeer` is the [PeerId][peer-id] of the receiving peer.\n- `duplex` is the [streaming iterable duplex][iterable-duplex] that will be encryption.\n- `remotePeer` is the optional [PeerId][peer-id] of the initiating peer, if known. This may only exist during transport upgrades.\n\n**Return Value**\n\n- `<object>`\n  - `conn<duplex>`: An encrypted [streaming iterable duplex][iterable-duplex].\n  - `remotePeer<PeerId>`: The [PeerId][peer-id] of the remote peer.\n\n### Secure Outbound\n\n- `const { conn, remotePeer } = await crypto.secureOutbound(localPeer, duplex, remotePeer)`\n\nSecures an outbound [streaming iterable duplex][iterable-duplex] connection. It returns an encrypted [streaming iterable duplex][iterable-duplex], as well as the [PeerId][peer-id] of the remote peer.\n\n**Parameters**\n\n- `localPeer` is the [PeerId][peer-id] of the receiving peer.\n- `duplex` is the [streaming iterable duplex][iterable-duplex] that will be encrypted.\n- `remotePeer` is the [PeerId][peer-id] of the remote peer. If provided, implementations **should** use this to validate the integrity of the remote peer.\n\n**Return Value**\n\n- `<object>`\n  - `conn<duplex>`: An encrypted [streaming iterable duplex][iterable-duplex].\n  - `remotePeer<PeerId>`: The [PeerId][peer-id] of the remote peer. This **should** match the `remotePeer` parameter, and implementations should enforce this.\n\n## Crypto Errors\n\nCommon crypto errors come with the interface, and can be imported directly. All Errors take an optional message.\n\n```js\nconst {\n  InvalidCryptoExchangeError,\n  InvalidCryptoTransmissionError,\n  UnexpectedPeerError\n} = require('libp2p-interfaces/src/crypto/errors')\n\nconst error = new UnexpectedPeerError('a custom error message')\nconsole.log(error.code === UnexpectedPeerError.code) // true\n```\n\n### Error Types\n\n- `InvalidCryptoExchangeError` - Should be thrown when a peer provides data that is insufficient to finish the crypto exchange.\n- `InvalidCryptoTransmissionError` - Should be thrown when an error occurs during encryption/decryption.\n- `UnexpectedPeerError` - Should be thrown when the expected peer id does not match the peer id determined via the crypto exchange.\n\n## API Docs\n\n- <https://libp2p.github.io/js-libp2p/modules/_libp2p_interface_connection_encrypter.html>\n\n## License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n## Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n[peer-id]: https://github.com/libp2p/js-peer-id\n\n[iterable-duplex]: https://gist.github.com/alanshaw/591dc7dd54e4f99338a347ef568d6ee9#duplex-it\n","readmeFilename":"README.md","gitHead":"d853d1247f90317966bc95bd56f56dac0e9fee88","_id":"@libp2p/interface-connection-encrypter@4.0.1-d853d124","_nodeVersion":"18.16.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-si4YgU3YCpzQpEFF6pobHZ7BmD2CygYmfOW9gZzdrkHxQovBOZGBYGDSOZwdt7UH/zm8C3F73zAmATfqgU2OpQ==","shasum":"b008bfaea6e0f6f1d15ad65ca50d486cf0b8e750","tarball":"https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-4.0.1-d853d124.tgz","fileCount":14,"unpackedSize":14099,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF3fSNIzKH9UVLy6g8Ex5gHENP4aE8cXYX8NdsWJdOpYAiBX3e6rU4S3kMKSXwzOYwYQBchWu08tUngFX77shhmY4A=="}]},"_npmUser":{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},"directories":{},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/interface-connection-encrypter_4.0.1-d853d124_1687182503140_0.8240583472255534"},"_hasShrinkwrap":false}},"time":{"created":"2022-06-10T08:13:35.329Z","0.0.0":"2022-06-10T08:13:35.590Z","modified":"2023-06-19T13:48:23.532Z","1.0.0":"2022-06-14T11:35:41.148Z","1.0.1":"2022-06-14T14:21:12.275Z","1.0.2":"2022-06-14T14:46:33.570Z","1.0.3":"2022-06-27T17:09:04.594Z","2.0.0":"2022-08-07T14:26:12.700Z","2.0.1":"2022-08-10T07:37:45.645Z","2.0.2":"2022-09-30T09:16:58.689Z","3.0.0":"2022-10-04T11:12:21.041Z","3.0.1":"2022-10-04T17:47:10.570Z","3.0.2":"2022-11-05T18:21:25.118Z","3.0.3":"2022-12-14T18:42:40.396Z","3.0.4":"2022-12-16T09:58:56.536Z","3.0.5":"2023-01-06T12:08:22.025Z","3.0.6":"2023-01-18T13:57:22.233Z","4.0.0":"2023-04-18T16:31:01.667Z","4.0.1":"2023-05-04T17:06:04.338Z","4.0.1-1c6702c8":"2023-06-15T08:10:34.267Z","4.0.1-883082ca":"2023-06-15T09:36:36.385Z","4.0.1-5a9fb4d6":"2023-06-15T10:35:21.682Z","4.0.1-d2f1eff4":"2023-06-15T12:09:44.837Z","4.0.1-8c6b6d24":"2023-06-15T12:37:02.626Z","4.0.1-3dfc236e":"2023-06-16T13:42:49.311Z","4.0.1-ab0e3980":"2023-06-19T10:02:12.177Z","4.0.1-ea8a0637":"2023-06-19T10:27:00.921Z","4.0.1-d853d124":"2023-06-19T13:48:23.398Z"},"maintainers":[{"name":"jacobheun","email":"jacobheun@gmail.com"},{"name":"npm-service-account-libp2p","email":"npm-service-account+libp2p@protocol.ai"},{"name":"alanshaw","email":"alan138@gmail.com"},{"name":"vascosantos","email":"santos.vasco10@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"daviddias","email":"mail@daviddias.me"}],"description":"Connection Encrypter interface for libp2p","homepage":"https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/interface-connection-encrypter#readme","keywords":["interface","libp2p"],"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":"","readmeFilename":""}