{"_id":"@dolu/nostr-tools","_rev":"10-2658affc4905dbdae4cf662d0703e652","name":"@dolu/nostr-tools","dist-tags":{"latest":"1.5.5"},"versions":{"0.0.1":{"name":"@dolu/nostr-tools","version":"0.0.1","description":"Tools for making a Nostr client.","repository":{"type":"git","url":"git+https://github.com/fiatjaf/nostr-tools.git"},"publishConfig":{"access":"public"},"dependencies":{"@noble/hashes":"^0.5.7","@noble/secp256k1":"^1.5.2","browserify-cipher":">=1","buffer":">=5","create-hash":"^1.2.0","cross-fetch":"^3.1.4","micro-bip32":"^0.1.0","micro-bip39":"^0.1.3","websocket-polyfill":"^0.0.3"},"keywords":["decentralization","twitter","p2p","mastodon","ssb","social","unstoppable","censorship","censorship-resistance","client"],"devDependencies":{"@esbuild-plugins/node-globals-polyfill":"^0.1.1","esbuild":"^0.14.38","esbuild-plugin-alias":"^0.2.1","eslint":"^8.5.0","eslint-plugin-babel":"^5.3.1","events":"^3.3.0","readable-stream":"^3.6.0"},"scripts":{"prepublish":"node build.js"},"main":"./index.js","module":"./nostr.js","gitHead":"18d4bf9d5caf0501d4d6712dce7b41ec6bd0c7d4","bugs":{"url":"https://github.com/fiatjaf/nostr-tools/issues"},"homepage":"https://github.com/fiatjaf/nostr-tools#readme","_id":"@dolu/nostr-tools@0.0.1","_nodeVersion":"14.19.3","_npmVersion":"6.14.17","dist":{"integrity":"sha512-olAt4uhd73oc4E2Mw1euv7g06m16PlY47M9MR4MYzZ0TiWi9SBG67KTTIxSs5aRZZxxMfHcVHDcgj3dVRoD4gg==","shasum":"f5cb8c9afbee1891dd62580821d2aac4d05dd409","tarball":"https://registry.npmjs.org/@dolu/nostr-tools/-/nostr-tools-0.0.1.tgz","fileCount":15,"unpackedSize":24463,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEVX9peztrFUvUw6JAFPu0pzKZrXiGu/ZAoS2pB8WmFiAiEA8rl2DOd8fqvih1fghh0ty1tcF3UdfK0RP7twCQy5www="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiwElJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrcCw/9HBhY4g6cPG2PBfMFcv6W9f6QZinbil1xuoA28esSG9kKvaYS\r\nXL0MdFe3nGK/R6lgZwuNBYFbqdJIAAnf8px1kbWbIfxHuU1mFKNMv6gDAGE5\r\n+QPDRn98FZDOGONi6SaXaznZnjcttJFKvjxXKPSR2sWrR3yszksjibP/3EPB\r\n3QHDdvRyzbRpyDq+xtrotUjHaTv+T1oa2qW2craZC8Lv+K2nfsx0F9xSo3fl\r\ndKdRMEfZWXfY+0kzqXAVnTAGSVdJ4McmnC+JVKlDKsVY8DRCguTKer5de9DQ\r\nPGhVqvQB4vxBNbc2nHJb2mK+6D5NojvbXZD30JVzaxmHgkN6/46geagGX0Va\r\nBB0LmO5I2odKZ3rIFMNOZdaBlw+gBhq6Dk1TN20nj1EDqJv4roknbaeG7fPR\r\nG5BKa7J/uf8Kj0slrCAkVMfncKjOiKGe764MI8D+uJ+3icOlF5ZKB5fjKilj\r\niQ4Jaq6juRSltJbrczVMugRHfeXOfvbIyk0eUyHgz4/59Nkt6yJDnVAyf/UF\r\nAfDKXZAbAm/NlRjupwj6MIud+ZC5d32xw2yfCPw9pVesBgcdOZcqAvlaDa4Y\r\ncikKV3qvNX/4jZCEwpxDw5shJUVp6v38CpDFYgGyddfeMm+fMeJrJt37bXo0\r\n5iNlLO00iNRNV3iJU8QDrZo7sJSz+9YyS3A=\r\n=9suO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dolu","email":"doludev@protonmail.com"},"directories":{},"maintainers":[{"name":"dolu","email":"doludev@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nostr-tools_0.0.1_1656768841763_0.8923397706543481"},"_hasShrinkwrap":false},"0.0.2":{"name":"@dolu/nostr-tools","version":"0.0.2","description":"Tools for making a Nostr client.","repository":{"type":"git","url":"git+https://github.com/fiatjaf/nostr-tools.git"},"publishConfig":{"access":"public"},"dependencies":{"@noble/hashes":"^0.5.7","@noble/secp256k1":"^1.5.2","browserify-cipher":">=1","buffer":">=5","create-hash":"^1.2.0","cross-fetch":"^3.1.4","micro-bip32":"^0.1.0","micro-bip39":"^0.1.3","websocket-polyfill":"^0.0.3"},"keywords":["decentralization","twitter","p2p","mastodon","ssb","social","unstoppable","censorship","censorship-resistance","client"],"devDependencies":{"@esbuild-plugins/node-globals-polyfill":"^0.1.1","esbuild":"^0.14.38","esbuild-plugin-alias":"^0.2.1","eslint":"^8.5.0","eslint-plugin-babel":"^5.3.1","events":"^3.3.0","readable-stream":"^3.6.0"},"scripts":{"prepublishOnly":"node build.js"},"main":"./index.js","module":"./nostr.js","gitHead":"08fd786cfb614153699587daeeedc0cb886dad18","bugs":{"url":"https://github.com/fiatjaf/nostr-tools/issues"},"homepage":"https://github.com/fiatjaf/nostr-tools#readme","_id":"@dolu/nostr-tools@0.0.2","_nodeVersion":"14.19.3","_npmVersion":"6.14.17","dist":{"integrity":"sha512-1n7zpjhHLxOZvjvHlPE0DWOaNkD50PEWHYkEJFO47HTaI8xbAEdGlfxPwHrI67FetZc4QkA+8gr9Ah7L6AHlxw==","shasum":"f9cb79600d9063f26f8d383a923c7b140d7a9333","tarball":"https://registry.npmjs.org/@dolu/nostr-tools/-/nostr-tools-0.0.2.tgz","fileCount":15,"unpackedSize":24467,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHRzWTBZ61Mf1p1iaCNy2b+XgOuMaNmcs4rp5y12So9PAiAP2YgYddHCtR7mt9777yd5sEF7qoFofSRdbfgmqRLFsA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiwErlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpqbg//RvwGgZkKyyv8SFyrPFo7gNgq1ByLOmGnVXGFn4AFxNfqXH95\r\njUbmm5WghGvh0Ee++526F/7vL4ZE02Hb0kWeJdGMfk8BFbNMkPQ5CXO3lHpS\r\nvXp5sjgK0qKA4hbpE/fRhNalC+6UTXkYxUHHkKGzl2Ya5eX5EbuCkcl/VwjE\r\nCRYocZyD9XTZ5qr3EyxONCrQSSsyRNQvay1YHTaQs5VX19AN0qjNd3gCySfb\r\nGStlWyvtqf3fZntbjBEFX4ZCZAaikPrUG1r906ToU2B5DrZCreqVVi2XYaQb\r\nhw1pMh4XThS944sD8RGidRo0hPDATvPd/luttt5GgdVDrvggOwxffFqkoRCL\r\ntIZMD6cvHLmlC1tjuJzLZvMLcGeYTxIray2TY546Xl1O3hp0sATFmPtI/rR7\r\nF+K0ftJ4HZU0ZXkMExVm9WbZ70rDZcB55VZA0bw6ExWlU2GkPnRjelA7hL/T\r\nJMAfxO2cAwoZB0D4EJQzQf4uHCnFdNV//fe9jdaldrwuOXu9+V52uNgFjMr7\r\nrCRx16p7u34LoUO1En14yhzSg225clMNsp8XWUZLKXHj0lhfHlcYbW0KY+ro\r\nYP4woJwhk6VA69NkGRrskyPLRPjPBLrc9GygrxGOis+hGSUUlHGG19V5WYjE\r\nITL6uqM9j+Tk/U+slu+XC56vaLJCC7ZK1Jo=\r\n=sVIy\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dolu","email":"doludev@protonmail.com"},"directories":{},"maintainers":[{"name":"dolu","email":"doludev@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nostr-tools_0.0.2_1656769253290_0.24142790359820343"},"_hasShrinkwrap":false},"0.0.3":{"name":"@dolu/nostr-tools","version":"0.0.3","description":"Tools for making a Nostr client.","repository":{"type":"git","url":"git+https://github.com/fiatjaf/nostr-tools.git"},"publishConfig":{"access":"public"},"dependencies":{"@noble/hashes":"^0.5.7","@noble/secp256k1":"^1.5.2","browserify-cipher":">=1","buffer":">=5","create-hash":"^1.2.0","cross-fetch":"^3.1.4","micro-bip32":"^0.1.0","micro-bip39":"^0.1.3","websocket-polyfill":"^0.0.3"},"keywords":["decentralization","twitter","p2p","mastodon","ssb","social","unstoppable","censorship","censorship-resistance","client"],"devDependencies":{"@esbuild-plugins/node-globals-polyfill":"^0.1.1","esbuild":"^0.14.38","esbuild-plugin-alias":"^0.2.1","eslint":"^8.5.0","eslint-plugin-babel":"^5.3.1","events":"^3.3.0","readable-stream":"^3.6.0"},"scripts":{"prepublishOnly":"node build.js"},"main":"./index.js","module":"./dist/nostr.js","gitHead":"973137b96f0c45f173674982a3ddee81ed7e2ac9","bugs":{"url":"https://github.com/fiatjaf/nostr-tools/issues"},"homepage":"https://github.com/fiatjaf/nostr-tools#readme","_id":"@dolu/nostr-tools@0.0.3","_nodeVersion":"14.19.3","_npmVersion":"6.14.17","dist":{"integrity":"sha512-bp5k7EywzDtPie2TmQj/8dnyZ26/ZxCN/UWE/XdfFie0hYdFf1nng8Wppq8CPBuVqp8qkndtPW3Ch2g+TDb0IA==","shasum":"6d41b60c215c70602ce8cd794023b5b766acc603","tarball":"https://registry.npmjs.org/@dolu/nostr-tools/-/nostr-tools-0.0.3.tgz","fileCount":3,"unpackedSize":429545,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChbVoikYCaQ94vuzuf8uJxiLnmialqtz6B9vl1tlTEJAIhANl+XCq82T0u49fOuhQfZtvwbrEcBs84lSQHZGFC9epe"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiwEwCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmor+A/9HeS56SIf9IHgFeurWWtPB/tyrLiES4kSQgQLuUIdAleOaHOO\r\npoxox9U2nSPkgAJygbcvZXnesOu3YWD8bt/GZDT151EURz7GAMHsDtktN0TI\r\nhKViM3Q9RARlMgtJIr9xyI573DO8WIkjR2rtObB3GiQ2t2W9nuh4B4VeI53f\r\nwNswgcIpyqnk042gHD5MaBxp+wsaDRbR3TDB6+xMftcV7+YattVmO9jFYf6B\r\nPdsOff9sSWOoql0r+sUZ7VGx65/3Zlk2PopPZPl+4l6/GL+gCpU6gl586/kt\r\nuzbd+bXbvJBKgiWj9u7FPt2uxCV9VmPIEPu9RzhEWWiPdtVbMGwLdVOu5/RF\r\neZ1coYBt8jFzgr8Um+NPAhF5fVS3I6PE+ijFORHKv2wGfLMrB5de8QaroCVw\r\nVwXvmWHf+hlAKccWqZMbWR0lY5KuiFHnrlon/ltGnbHGoIDMe6XQ9Y31BgNa\r\nR5e/+SqhRtoDyGe2jpyHwe8v+H+xOnQ8n5UxQ4c0DoTGrkXORhH5g/BwA0iD\r\nl+Rng8zR/bXsrtd4GgQl1FsdZF5pGH7/T92kLN8/fk5WW304IymgOEy6ViSq\r\nVYLe3Wa8EiaNLoytbxEYfC2MLXlK05SyhgLJ2b6T4uJ6jSE917uW8NRZUXeI\r\n61Whyz8EbxTaWOOfNoDfLz6zSyye1WQDzXg=\r\n=TrtR\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dolu","email":"doludev@protonmail.com"},"directories":{},"maintainers":[{"name":"dolu","email":"doludev@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nostr-tools_0.0.3_1656769538234_0.9067403396388953"},"_hasShrinkwrap":false},"0.0.4":{"name":"@dolu/nostr-tools","version":"0.0.4","description":"Tools for making a Nostr client.","repository":{"type":"git","url":"git+https://github.com/fiatjaf/nostr-tools.git"},"publishConfig":{"access":"public"},"dependencies":{"@noble/hashes":"^0.5.7","@noble/secp256k1":"^1.5.2","browserify-cipher":">=1","buffer":">=5","create-hash":"^1.2.0","cross-fetch":"^3.1.4","micro-bip32":"^0.1.0","micro-bip39":"^0.1.3","websocket-polyfill":"^0.0.3"},"keywords":["decentralization","twitter","p2p","mastodon","ssb","social","unstoppable","censorship","censorship-resistance","client"],"devDependencies":{"@esbuild-plugins/node-globals-polyfill":"^0.1.1","esbuild":"^0.14.38","esbuild-plugin-alias":"^0.2.1","eslint":"^8.5.0","eslint-plugin-babel":"^5.3.1","events":"^3.3.0","readable-stream":"^3.6.0"},"scripts":{"prepublishOnly":"node build.js"},"main":"./index.js","module":"./dist/nostr.js","gitHead":"5c5610b141350b6968b4710dc888c92aed48a5de","bugs":{"url":"https://github.com/fiatjaf/nostr-tools/issues"},"homepage":"https://github.com/fiatjaf/nostr-tools#readme","_id":"@dolu/nostr-tools@0.0.4","_nodeVersion":"14.19.3","_npmVersion":"6.14.17","dist":{"integrity":"sha512-Z1gIzxQDD2pj3vm/4d6RTiblp2Y+f6k2D4mID/3i27DL12mxXujxC7JHZdQWBQCqsImxB6aFtml/g3DAr50Pzw==","shasum":"263ba3419e2e24f7f64808e6fec0b64f72d89c34","tarball":"https://registry.npmjs.org/@dolu/nostr-tools/-/nostr-tools-0.0.4.tgz","fileCount":3,"unpackedSize":494639,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsJdXHoCm/Xv+u8k2T2UIz4LVopcPzKTKaT6jXfVj2NgIhAP69kX+kijjcwcyOoA5zGwa+IVQiwvpBttN5padaUIXh"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiwIJuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo+RA//bKaFtDJ2UC67S2dtnSCXrKI1NSKuYrJk/TQtnUeedeht+cN+\r\nhhk0F8gm0BYYgSRqr+G0koPEJrzsfgObOgkomYJk9J2yzO9nWpxWhA56Sra/\r\nHbZ7LnecAtfW3TXVND7p3ITVdgSNcgmu8S4aiGnKVFx7iXVsr8uKNzy2d7T5\r\noeGLjHSBjvJJn4YRqburShtC0IAriqI/pPuFQZ+JWmgpNMxXjPzjZhj4ab8D\r\ngmQ5X0TsGj2V1tYgNl5Tt1+H9jj3qht10AEKDNVF3vVYf0AqA8P4CzkkiZhQ\r\n9r/6Zpx/zbR5MVKaY51SwnrJNPWrsOEDwum7c3bCP6/Q36wRPLMsP3SHlaCR\r\n+2/e5VU1LNzY5UauqN8qQMdBm/vImI//nC3OWvn/r0fvhpKUf2F+3vWqlk2U\r\nPWp2D4KK79BSQ/VxpfcjZYad4E705aYdQnRL7+08SlD4EXIqEgDmOWcPi10C\r\nl/nshVRHrqPeSGYlXOa7gY6ieZ3ilVjEbrV/PO1+qc3IZ4tsi00HSS1wBPXy\r\n+EzXrv3EpGSNyDhe1DBDp7q4eDXfjcvWK4KyBQELyXvbUJIMR/vjFVvtyI/c\r\nCx0m85PEkPJnNFXtLhR6cOBrPwgZZEO+rjQKCrNLDjZCFotk2sABk4jtlWQS\r\nV4VM/N6B92W4FEwrS204JwyIYdHPf1lHFmU=\r\n=31yH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dolu","email":"doludev@protonmail.com"},"directories":{},"maintainers":[{"name":"dolu","email":"doludev@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nostr-tools_0.0.4_1656783469956_0.6607112716393546"},"_hasShrinkwrap":false},"1.4.1":{"name":"@dolu/nostr-tools","version":"1.4.1","description":"Tools for making a Nostr client.","repository":{"type":"git","url":"git+https://github.com/fiatjaf/nostr-tools.git"},"main":"lib/nostr.cjs.js","module":"lib/nostr.esm.js","dependencies":{"@noble/hashes":"1.0.0","@noble/secp256k1":"^1.7.1","@scure/base":"^1.1.1","@scure/bip32":"^1.1.5","@scure/bip39":"^1.1.1","prettier":"^2.8.4"},"keywords":["decentralization","social","censorship-resistance","client","nostr"],"devDependencies":{"@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.51.0","@typescript-eslint/parser":"^5.51.0","esbuild":"0.16.9","esbuild-plugin-alias":"^0.2.1","eslint":"^8.33.0","eslint-plugin-babel":"^5.3.1","esm-loader-typescript":"^1.0.3","events":"^3.3.0","jest":"^29.4.2","node-fetch":"^2.6.9","ts-jest":"^29.0.5","tsd":"^0.22.0","typescript":"^4.9.5","websocket-polyfill":"^0.0.3"},"gitHead":"e7b7d9caa811ca6d2b61c446f34a9465a32166ed","bugs":{"url":"https://github.com/fiatjaf/nostr-tools/issues"},"homepage":"https://github.com/fiatjaf/nostr-tools#readme","_id":"@dolu/nostr-tools@1.4.1","_nodeVersion":"18.14.0","_npmVersion":"9.3.1","dist":{"integrity":"sha512-EX5rDJ2ax4FmHyTPuyYUEXTcm8fBaXDYITg8YYbf42hMt9Hlaf5LGhy9qpg0dLUiZi9NjyKsnboI8KnLFNiszQ==","shasum":"0d6dd971300900e2c0bbcfe1f06d7eddc9ed60b9","tarball":"https://registry.npmjs.org/@dolu/nostr-tools/-/nostr-tools-1.4.1.tgz","fileCount":42,"unpackedSize":835168,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCBTbjKeXIBWEK53TRstakEOAylkFqCD4iDRKzHZBs5cwIged4bYz6W8P9kiazdqUNSJrNbN0TftN4iDTkpen4woQ4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7gC0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoSAQ//WNrMfpqwqRvHFixNDiu/bkq5OAm4AUkuC1WINOhGUd1awitA\r\n4+H8H0ug/fbDAmYh2o1/9CNVjdAJLv3d+GwxAOiWmRF04M2cKhnOozEiAgu6\r\nTmE8Q3QpFY392sZbFVRysvvkS2W3Xz1bMLuDELYX/k+hrhUKukeJ71ySrj2R\r\n4gU4YYfNC0WldZTZZGtHkqI4HcZEj9lLflbmxs3g2ysIeQ3Ps2i/an3/+g+C\r\nnBv5BwFpyy1XFoRqnDUyO24NUgzSky+ckAVFqoDyOFfj3eJoHH+HwBIZErFm\r\n1+p9xhQiqtId7V5B+HaS3Epy1bEW1YduCQbtenH3Ja5PNtPp+QJuVEaebYQA\r\ndPi81lRpHam8e6Kc4WsoPKZr4xdDKy14n5tylCbKUrYtocpbDWX3zsYJjTNd\r\nGz0KzePUCq73Q5AFa5LgdLWVR2eI0Zk+AvK3jIxI0wOGXkY4qbA2J5IseSqK\r\n16tJs7nyAja/6zikVsFqz1X3Hj2IyWoFjdIgdfAdbNDj9Jqdnpww5wStCr50\r\nqX18kfXlS+bNrA/5pIKEfFpCV+y/sn8IdW+6svL7SqN4VTfMR4FtbSviR/vG\r\nRgUL+ALVNzgHeTUulWXmfzTWUYtQeJlfrFOxwhRq+Z9BEXLm6G5/l97laf8C\r\nKs9FYhqY9T0yqNskrTTT3CJlFAnhrL/uUrY=\r\n=Tedi\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dolu","email":"doludev@protonmail.com"},"directories":{},"maintainers":[{"name":"dolu","email":"doludev@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nostr-tools_1.4.1_1676542132064_0.49323960612703455"},"_hasShrinkwrap":false},"1.5.0":{"name":"@dolu/nostr-tools","version":"1.5.0","description":"Tools for making a Nostr client.","repository":{"type":"git","url":"git+https://github.com/fiatjaf/nostr-tools.git"},"main":"lib/nostr.cjs.js","module":"lib/nostr.esm.js","dependencies":{"@noble/hashes":"1.0.0","@noble/secp256k1":"^1.7.1","@scure/base":"^1.1.1","@scure/bip32":"^1.1.5","@scure/bip39":"^1.1.1","prettier":"^2.8.4"},"keywords":["decentralization","social","censorship-resistance","client","nostr"],"devDependencies":{"@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.51.0","@typescript-eslint/parser":"^5.51.0","esbuild":"0.16.9","esbuild-plugin-alias":"^0.2.1","eslint":"^8.33.0","eslint-plugin-babel":"^5.3.1","esm-loader-typescript":"^1.0.3","events":"^3.3.0","jest":"^29.4.2","node-fetch":"^2.6.9","ts-jest":"^29.0.5","tsd":"^0.22.0","typescript":"^4.9.5","websocket-polyfill":"^0.0.3"},"gitHead":"064a98b38d2fa874215f0ec69e76721a34151ded","bugs":{"url":"https://github.com/fiatjaf/nostr-tools/issues"},"homepage":"https://github.com/fiatjaf/nostr-tools#readme","_id":"@dolu/nostr-tools@1.5.0","_nodeVersion":"18.14.0","_npmVersion":"9.3.1","dist":{"integrity":"sha512-oV0YDRd9P2EMKHV/JpYZOx0qm1YwADbsDiz+3nCUEuqg44F265xZF2ZW6zWBo0w7HB0BC7cfpfYBToDWJ28/nQ==","shasum":"b7684fe48acc17b1214a11817cac2ee6019411a5","tarball":"https://registry.npmjs.org/@dolu/nostr-tools/-/nostr-tools-1.5.0.tgz","fileCount":42,"unpackedSize":835583,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5WHaURq3fuSftp7wOcm1AZ9UdhewMeZjQla+VF+KVEAIgBvYkNSjqD/6p6Xz87dvTEQDKNWnsYcGSjx7yFocJTKQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7guGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqSeg//fXf70qoWAXQmamln+06LwFYUPzI7L3JV+DtdLEeLXBMQw0QL\r\nF51Iv7fcPaPt6JkZ6sZFDt/gFpre3+QfLo9+LMBHGwCcQro3TV3z9sr5hXZW\r\n9rGCPXyrLCbJDlC1UN4KWllgcnpGQ7qp1185PVicRaD0N7wZng121RDmBODY\r\nQPVdmhVgHcT6Wo1LFs2Hr58GlC6c+9BU3qK/oFP5XFmwd83avehDgjuRfw31\r\nrKGdBkVoHsGUbORY7O4ojLL8jb/LB/KfEl7thRpTgxo8iM6DtPMbe9ppV9dD\r\ny3Cy+KZb80ToHFxjgKCxmGEG9H9LGIQ9XY1omaxA1bCTIvWa5ze32xrwueqL\r\nzcWVuGsHBmIfTNypkrXPqW3JmB7JjzJYsITvA/wJvwlsQb5La3q4d75hJ/1y\r\nN3O6BTnHp5CJpnFx1iSIhBFaQ8mfb5puDp6INkjL8pX758gBIyYVB5yvEr0P\r\nrqC7em7r9afRsuYoG7Ne37Qr+EBfsbP/ZZandyfF5AYTFeMKRmV+GU9dP1cq\r\ntXF1Th/uxdcm1HZ2ftYrumW9adWcnmo3EmFOQrOH8JebTQLB1LQz3xST/G/E\r\nTTOagCSl8OP3tGeEBAWYjkC1wdLxtZPj/qVbfJCE5/qxMikrs+Ni3thloDl1\r\n4s/YiHJ2lTVgExS2q/9w58+/DzFffGaCVIc=\r\n=oj3g\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dolu","email":"doludev@protonmail.com"},"directories":{},"maintainers":[{"name":"dolu","email":"doludev@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nostr-tools_1.5.0_1676544902344_0.19194754804495262"},"_hasShrinkwrap":false},"1.5.1":{"name":"@dolu/nostr-tools","version":"1.5.1","description":"Tools for making a Nostr client.","repository":{"type":"git","url":"git+https://github.com/fiatjaf/nostr-tools.git"},"main":"lib/nostr.cjs.js","module":"lib/nostr.esm.js","dependencies":{"@noble/hashes":"1.0.0","@noble/secp256k1":"^1.7.1","@scure/base":"^1.1.1","@scure/bip32":"^1.1.5","@scure/bip39":"^1.1.1","prettier":"^2.8.4"},"keywords":["decentralization","social","censorship-resistance","client","nostr"],"devDependencies":{"@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.51.0","@typescript-eslint/parser":"^5.51.0","esbuild":"0.16.9","esbuild-plugin-alias":"^0.2.1","eslint":"^8.33.0","eslint-plugin-babel":"^5.3.1","esm-loader-typescript":"^1.0.3","events":"^3.3.0","jest":"^29.4.2","node-fetch":"^2.6.9","ts-jest":"^29.0.5","tsd":"^0.22.0","typescript":"^4.9.5","websocket-polyfill":"^0.0.3"},"gitHead":"d9f9c92fc4d96ebef6d3c8d3aa45b611e1e359f0","bugs":{"url":"https://github.com/fiatjaf/nostr-tools/issues"},"homepage":"https://github.com/fiatjaf/nostr-tools#readme","_id":"@dolu/nostr-tools@1.5.1","_nodeVersion":"18.14.0","_npmVersion":"9.3.1","dist":{"integrity":"sha512-p8PsyUZmhYeizRhrApiQjUgdaqpP+OImwV2Jh39yc0+zWRQjwQAGdOoi67VPjGPF17DLy5mRRlf8WES0LCrNEw==","shasum":"452681f3e42990cc7580dd71973a63123ce8c8b9","tarball":"https://registry.npmjs.org/@dolu/nostr-tools/-/nostr-tools-1.5.1.tgz","fileCount":42,"unpackedSize":858079,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDuV+QUjueIu9MFFbZ9sTdLYwwhH0KPkqtcSY6Sx8yjUAIhAPH+KfoE75F+BY6FtYtsLX0mtImfAA6G/TyKtMik9E7I"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7nzLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoAmg/+P/Q4Et4jBrlKdMN35gx4PAtrjqj/zQIrBLjoAvr4MPV7ZBcZ\r\nzlUG8arP29CE4OAqc4iO/ALHlBGbaCynwk4RHuiHiZxfFeEznf2gTpHemrYR\r\noz3TTfH2Jc+JG//OFVoC/JCHD6wVcL2RLovrAxzQXi6I+OMn5QWoT0W/AZnu\r\n5agcHyln0BJKU24d889HRylfnf/jJqCwiXo0M47yFfj3RSmPOyH5/w2KCUSc\r\nPP0eLb91SV8MTPLrKtoG0B05QW7RayWob/I3zQTGIRxXEBPLtqQr+xvSwXG3\r\n1iTLxTf/cAIKyZbgalOUHiU586fJ1THIIfCw9U9/KQQC2uzr0UyjSa9+tEev\r\nZB2A51Zxh58S3eEkUmdgDQPueT+MeqqcsyecX++CJBxSQNFLpcpjdtblK0R2\r\n64Ui5DqWWMnuvmLscfn+glk8sEwtPjC6z2Gg0iQmxcfvjyi/o7OaXBibChDQ\r\nxWgMRJgMmfvaYRFgHSo8695GwDHMCGS4lKolqyvSz0WE5B4arcojyd+dTnKh\r\n3nLoEQGCzLpH0ISU4Ajjn6Ov03KmLYpV+DCbEbNx/BRC9RHx750WJHQPlujB\r\nLRGhBGfpcftQFCoGdVARGGl/qodfVNq7T+OpRhWXJOOWXNOdbf0yuYw90dTB\r\nu9iA/QcmI4PSc01VMSfXoNv2s6OWtiEUcRU=\r\n=qY/r\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dolu","email":"doludev@protonmail.com"},"directories":{},"maintainers":[{"name":"dolu","email":"doludev@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nostr-tools_1.5.1_1676573899178_0.01185863947892285"},"_hasShrinkwrap":false},"1.5.2":{"name":"@dolu/nostr-tools","version":"1.5.2","description":"Tools for making a Nostr client.","repository":{"type":"git","url":"git+https://github.com/fiatjaf/nostr-tools.git"},"main":"lib/nostr.cjs.js","module":"lib/nostr.esm.js","dependencies":{"@noble/hashes":"1.0.0","@noble/secp256k1":"^1.7.1","@scure/base":"^1.1.1","@scure/bip32":"^1.1.5","@scure/bip39":"^1.1.1","@types/ws":"^8.5.4","prettier":"^2.8.4","ws":"^8.12.1"},"keywords":["decentralization","social","censorship-resistance","client","nostr"],"devDependencies":{"@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.51.0","@typescript-eslint/parser":"^5.51.0","esbuild":"0.16.9","esbuild-plugin-alias":"^0.2.1","eslint":"^8.33.0","eslint-plugin-babel":"^5.3.1","esm-loader-typescript":"^1.0.3","events":"^3.3.0","jest":"^29.4.2","node-fetch":"^2.6.9","ts-jest":"^29.0.5","tsd":"^0.22.0","typescript":"^4.9.5","websocket-polyfill":"^0.0.3"},"gitHead":"fb9c3212fe99f4a7312fca9efa95e5e761d31dfc","bugs":{"url":"https://github.com/fiatjaf/nostr-tools/issues"},"homepage":"https://github.com/fiatjaf/nostr-tools#readme","_id":"@dolu/nostr-tools@1.5.2","_nodeVersion":"18.14.0","_npmVersion":"9.3.1","dist":{"integrity":"sha512-fRgYl9+xAjpIzdBg5sYvRTlxW5MS2GpEaQakaugFmik/BEF1xM6JHrYS3sL+iQIYT2hXTCTmDzgpyhEP1RUpPw==","shasum":"6e45cdb3ba989627b2e5df10fe7956c89be18bf2","tarball":"https://registry.npmjs.org/@dolu/nostr-tools/-/nostr-tools-1.5.2.tgz","fileCount":42,"unpackedSize":859227,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0Q+aiitV/SLr2N1JfEffZmh/feeN2n2FN4q9ve7GvLgIgHFVaSzbqrd/37w5k57PstG1u0aUU8vix66u2E3cYctc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7yrgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpZLg//YTlidAHPmrFauvjsAsTyKRDqgMi8Mnqv4ajHscBbuHm/s/gJ\r\nnpX29znuPHgJNQOfr7eHjLXL1132VZWMT7lhb8jfHflH/KYGLuc1JJEnxdFF\r\n0O3GPXUkUoLfhWjauHE0aG37srQU+43UWXfbUS1y9m63R+wkf3KAqc5Jkzk7\r\n1sI0w/3DgK/Z+dU/f4xVTdYEKvt1pQU4L53YoKUC7+yT0KoWd0C5T1EZMITN\r\nJxnpBMZnectrYS18W3nKGhAyu4G2IjHdTnbC6aW7dqOO0fD7WY5XxES5CdBC\r\nxdds4Uih8IZYDbAc1cJn2J9pfVyVfB29NpKH8wpZHX9PxU7tKjdVvUkWPNUX\r\nYxRw7a7ZUtYy463yCuS87EUIp12DgPdQ2lNl6MLIueygIldDK75I8Xv40oOv\r\nLA6TE2fMAPuXXWHOq9LfNkQBqhR6WyL/sqKxybcft4eZ23b9nZcqZrn64Cn5\r\nCUKik4vjnQmDr3yp9MmGUP7ixgwNla/A+kIAt5rWBxyjPIsl5zcA2e06Eznk\r\n/J92O7DXa9++6mPD8IQ6Xjudg6nUJnv91shEd2MqYGRR3eVSTZuEaVMXa2I2\r\nrx8Q52jcUZwBH5XSRKipEt2jcbFOVw7VywOVSx4HVBrn7Fp7X9fZEmgiTla9\r\nNlfjNktDBeDYO7sVAi0bPuYvfG29E41SBlo=\r\n=uaQ5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dolu","email":"doludev@protonmail.com"},"directories":{},"maintainers":[{"name":"dolu","email":"doludev@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nostr-tools_1.5.2_1676618463783_0.043337142407191775"},"_hasShrinkwrap":false},"1.5.3":{"name":"@dolu/nostr-tools","version":"1.5.3","description":"Tools for making a Nostr client.","repository":{"type":"git","url":"git+https://github.com/fiatjaf/nostr-tools.git"},"main":"lib/nostr.cjs.js","module":"lib/nostr.esm.js","dependencies":{"@noble/hashes":"1.0.0","@noble/secp256k1":"^1.7.1","@scure/base":"^1.1.1","@scure/bip32":"^1.1.5","@scure/bip39":"^1.1.1","@types/ws":"^8.5.4","prettier":"^2.8.4","ws":"^8.12.1"},"keywords":["decentralization","social","censorship-resistance","client","nostr"],"devDependencies":{"@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.51.0","@typescript-eslint/parser":"^5.51.0","esbuild":"0.16.9","esbuild-plugin-alias":"^0.2.1","eslint":"^8.33.0","eslint-plugin-babel":"^5.3.1","esm-loader-typescript":"^1.0.3","events":"^3.3.0","jest":"^29.4.2","node-fetch":"^2.6.9","ts-jest":"^29.0.5","tsd":"^0.22.0","typescript":"^4.9.5","websocket-polyfill":"^0.0.3"},"gitHead":"e63239f45ccccdd194840490f3815be5a1810ce9","bugs":{"url":"https://github.com/fiatjaf/nostr-tools/issues"},"homepage":"https://github.com/fiatjaf/nostr-tools#readme","_id":"@dolu/nostr-tools@1.5.3","_nodeVersion":"18.14.0","_npmVersion":"9.3.1","dist":{"integrity":"sha512-nfF6F7M3vegN4rQeqbgUSMls6bP+F5YgEZgTmJhi1Q3c87fEJ7wHsqp5cEhxbPObrv0/ZOSKAKXUR4OKDAV40w==","shasum":"bfdc2ecd9a01a1bf8093c186816e1e99c5322db4","tarball":"https://registry.npmjs.org/@dolu/nostr-tools/-/nostr-tools-1.5.3.tgz","fileCount":42,"unpackedSize":859945,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCrIAYg9OvwfZTuFE2cxGe7NJ2iiYf4nwnboPzRZpID8wIgM7fYI0PXzE9E7nHgWlZP6ZyZe5Ib8SVjFzAJSPaTitE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7zhyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpODA/+NycB7eY2EzPrnMs1CNlM2E17/qolfDU9W3ZxAebju1XfzQLZ\r\nIAyCMLpu5IAiXwDV7IInlwNESR7RmEjzralZTI2NTWRORUIZDRXPH5w7DOXi\r\nAHpeZYzwLSXSU9rGNbepc+qoNoNW/EixB/HMenXo9lfxAr3iLS0S6tlKqVx7\r\n73xEcF1vYRFHUlBAZksN460Vt6+jzPwCpjV/CG7x0WEfLeu1RYwSJ8ZVp2p7\r\nLm71AVwo/WUW/1T6Ss09gunC0ezZaqEOdKHj/TtdUtpkk4Hes3HW0CEyoAfb\r\n7XLDi/EICcxYxrNpkTfYWlGJmH59aCM26a8VHSI6AvbJazvZsu1EZaY/4aSN\r\nILHb71JINboRfRX51ZGeR5JF0fh6iUmtm1ORPuJr+hzRvQTW1Yf6CrB4iCqy\r\nm0zz/OQdjaHChRSNOfVSXnRvA8vyaxsBIUc6gXS34qShuUb+Vu0hMOj8AMVZ\r\nsHX+uAdcr8wsfwSHfOmXRnVNlV2VNZkij+ZtS7LKw1I7GH2otg1BY8d+LHo+\r\nQEE1FTq7UUfBNRL6MdJYaitG+bfGTY/ch3ndECjcRAXCxT1Oajbzvwi1DJBt\r\nZOHOvApruzfKX/1sNmvv15fEikKZ/gUIfG83BbKSrBe+YPIRPwzISzJrozen\r\nJHeNpB+j5CpoPEBFzTorrtexWEzEmM/p9Hk=\r\n=GRKc\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dolu","email":"doludev@protonmail.com"},"directories":{},"maintainers":[{"name":"dolu","email":"doludev@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nostr-tools_1.5.3_1676621937904_0.7247371938367471"},"_hasShrinkwrap":false},"1.5.4":{"name":"@dolu/nostr-tools","version":"1.5.4","description":"Tools for making a Nostr client.","repository":{"type":"git","url":"git+https://github.com/fiatjaf/nostr-tools.git"},"main":"lib/nostr.cjs.js","module":"lib/nostr.esm.js","dependencies":{"@noble/hashes":"1.0.0","@noble/secp256k1":"^1.7.1","@scure/base":"^1.1.1","@scure/bip32":"^1.1.5","@scure/bip39":"^1.1.1","@types/ws":"^8.5.4","prettier":"^2.8.4","ws":"^8.12.1"},"keywords":["decentralization","social","censorship-resistance","client","nostr"],"devDependencies":{"@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.51.0","@typescript-eslint/parser":"^5.51.0","esbuild":"0.16.9","esbuild-plugin-alias":"^0.2.1","eslint":"^8.33.0","eslint-plugin-babel":"^5.3.1","esm-loader-typescript":"^1.0.3","events":"^3.3.0","jest":"^29.4.2","node-fetch":"^2.6.9","ts-jest":"^29.0.5","tsd":"^0.22.0","typescript":"^4.9.5","websocket-polyfill":"^0.0.3"},"gitHead":"5304babe9406ab6e63060aeec265f9ae3aec031e","bugs":{"url":"https://github.com/fiatjaf/nostr-tools/issues"},"homepage":"https://github.com/fiatjaf/nostr-tools#readme","_id":"@dolu/nostr-tools@1.5.4","_nodeVersion":"18.14.0","_npmVersion":"9.3.1","dist":{"integrity":"sha512-lgORm2Q5RHIZPpDQAxHYwErE8EhcbEpTALpDmLqDRiVZK3rq39NMTg4zpbBg5SkuvvaYuyW7Ycc4jT5XdZQD3Q==","shasum":"fb1ca5ea326a3c92c99bd6468796d9e993f7344d","tarball":"https://registry.npmjs.org/@dolu/nostr-tools/-/nostr-tools-1.5.4.tgz","fileCount":42,"unpackedSize":860520,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGr0EBPoIEJ9FxNTXGIDFr7bjVbVFtQ+Ahd9sX+zwDtTAiBjSLbiMcDbbwOoF4YkJ1sE9koseUTIZb4A3CD53EE06w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7z1xACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoZSRAAjkbQt5JLPI4Z6krseSY6FIqmzA3Tqiq6GlxrtJ9XNmk6d5lE\r\nL29Uk1bbJNAZ36uQFTiPa0uREg4IGr9QIhmKn6HxwlqLKADiRRK+lcAO09lf\r\nBUJPdd3tOxezeLHO4FxnZne/HQ2OMGxo3hZNTA+mCFg/S1MXOia8l+fI9Fks\r\nA9itNtAO6+plkg1IOOfoHqGu3WMGnHIOsz5krEP48gp5FCC8AYsyHSHEyssR\r\nEQ2Xm8cfz55lOgjMZR3ig6qKre5UxWT8AFAJcNIy6pa+TZz+W7aGtWWNuPuK\r\nZUxpimkIWSVGqxFKExpXhnchMLpkn828jeZZ5h5euyXOGhWa9bh+wFM4cmBf\r\n6tO/246p+gLW/o+i2oOHQSKv/GtgwfSUkUazb7A7Ll6c2cY/9hgMx0FmcoXv\r\nrE/MKqmRuCondJFHbwMjTzKRwQjRk4nz/d3UEoQ/RLzcYZ7xOwGVZ0hlTOJY\r\n+kOvPuslxvvSuzuNb1JzPGQWa9QpWnTEgnCu79GC0zXX1pRbJNtHl4F8rmCl\r\n3BEDmoGalDPbkOXdRC9RM8S8fzb0DFvLUqOFXCC8alPAFW1y5/FdroFiTBFd\r\n3j5GpZDDVR4cyVg2MIIi2kr1B1IeKC+PRM8xtOZRcmHNh9q//uSdhpIx5cj6\r\nPfaYOCEAgD6lfjsTKQX07U11RXot7gFo2uA=\r\n=7ucZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dolu","email":"doludev@protonmail.com"},"directories":{},"maintainers":[{"name":"dolu","email":"doludev@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nostr-tools_1.5.4_1676623217683_0.6261212994935923"},"_hasShrinkwrap":false},"1.5.5":{"name":"@dolu/nostr-tools","version":"1.5.5","description":"Tools for making a Nostr client.","repository":{"type":"git","url":"git+https://github.com/fiatjaf/nostr-tools.git"},"main":"lib/nostr.cjs.js","module":"lib/nostr.esm.js","dependencies":{"@noble/hashes":"1.0.0","@noble/secp256k1":"^1.7.1","@scure/base":"^1.1.1","@scure/bip32":"^1.1.5","@scure/bip39":"^1.1.1","@types/ws":"^8.5.4","prettier":"^2.8.4","ws":"^8.12.1"},"keywords":["decentralization","social","censorship-resistance","client","nostr"],"devDependencies":{"@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.51.0","@typescript-eslint/parser":"^5.51.0","esbuild":"0.16.9","esbuild-plugin-alias":"^0.2.1","eslint":"^8.33.0","eslint-plugin-babel":"^5.3.1","esm-loader-typescript":"^1.0.3","events":"^3.3.0","jest":"^29.4.2","node-fetch":"^2.6.9","ts-jest":"^29.0.5","tsd":"^0.22.0","typescript":"^4.9.5","websocket-polyfill":"^0.0.3"},"gitHead":"4aff3878459bffeb7a7ee3ed481293f505d593ea","bugs":{"url":"https://github.com/fiatjaf/nostr-tools/issues"},"homepage":"https://github.com/fiatjaf/nostr-tools#readme","_id":"@dolu/nostr-tools@1.5.5","_nodeVersion":"18.14.0","_npmVersion":"9.3.1","dist":{"integrity":"sha512-zwD0agngtjpZsRx8f+BM2Xnj+oywLLvP0K721YXb7XLp9aKJZ6RghrIZ5fJR464DviWQXXMXTMG8lAuMzwsgPQ==","shasum":"56346c474feb2cf422230b7c0d0b78f45a4f5e6c","tarball":"https://registry.npmjs.org/@dolu/nostr-tools/-/nostr-tools-1.5.5.tgz","fileCount":42,"unpackedSize":867816,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICq8vsy0Oi8RhN19WpyPHl3RsDtoPLkNBTpX+EygI9O1AiEA+uS40JJgWjjTXTgukJltS/g05gfbnlOdo1B7pcSuxpc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj78NFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrXTA//Tg6KFKrq//RxBqZjGTmawHr4s5nxgV02JPhF8U0oInID/fWF\r\n7sX7StrRenbRpscLWogrm5iBEbfkBuUqVnacmvzqy3gzKZMlNcPc7ahKbDxQ\r\nZy0eT9303pvF/P5iXzRWUJBjRglgOacTSrhDaAVOb1VNEeosYIN6eEgwqT/k\r\nr/mBWuzu1sjULwKZL/c0rr9e98FWxKm5On9nYx7ufb1aSGHsMm8gQaG4TsLs\r\nzsUktb5tAdVmwGofVar+IgBmfYaVYLbKrIQIhCkQ0y3JJ9mU69l7TbCj3dGX\r\nA4+1IJx3GLhILe9WIs5Dm0Wj0Sh60RRA+D6n+Hr1GN03FYrjUDEbANUfhAny\r\nXz+Jr0cacDuqP0+F4bxpZXA7/RZsZbWVLd2V6TNqfOUlzrYmVNEEjxiQ7KgJ\r\nivhvu2yh4WsKsCOZT6H4U4liumtWbnd84iyE7GNtPJsPz+gAMCn1OK5NogrN\r\nqBhtpYoRFGBxCtfGJKQvrVw0RaUf3j34zTYKXxA8aHU/FMzSgf05/8o9Gxso\r\nBwsMIf/XHY9urhYIbSVJ1NXs5qaDgyR8FK8EFaGn2hj1K+1EWhrzsYb7RNqq\r\nbwO+yf7DTqsiD/h6BwqjV+Fnb2prLWkN37zQmCGlPjSb4aFEp6H3G6M+AKm2\r\nlsqOajBisXRuzi2YpMr6RuWUqMBSIXZvmZk=\r\n=LXnX\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dolu","email":"doludev@protonmail.com"},"directories":{},"maintainers":[{"name":"dolu","email":"doludev@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nostr-tools_1.5.5_1676657477568_0.7611027482866244"},"_hasShrinkwrap":false}},"time":{"created":"2022-07-02T13:34:01.712Z","0.0.1":"2022-07-02T13:34:01.930Z","modified":"2023-02-17T18:11:17.995Z","0.0.2":"2022-07-02T13:40:53.511Z","0.0.3":"2022-07-02T13:45:38.493Z","0.0.4":"2022-07-02T17:37:50.158Z","1.4.1":"2023-02-16T10:08:52.303Z","1.5.0":"2023-02-16T10:55:02.598Z","1.5.1":"2023-02-16T18:58:19.375Z","1.5.2":"2023-02-17T07:21:03.978Z","1.5.3":"2023-02-17T08:18:58.161Z","1.5.4":"2023-02-17T08:40:17.879Z","1.5.5":"2023-02-17T18:11:17.887Z"},"maintainers":[{"name":"dolu","email":"doludev@protonmail.com"}],"description":"Tools for making a Nostr client.","homepage":"https://github.com/fiatjaf/nostr-tools#readme","keywords":["decentralization","social","censorship-resistance","client","nostr"],"repository":{"type":"git","url":"git+https://github.com/fiatjaf/nostr-tools.git"},"bugs":{"url":"https://github.com/fiatjaf/nostr-tools/issues"},"readme":"# nostr-tools\n\nTools for developing [Nostr](https://github.com/fiatjaf/nostr) clients.\n\nOnly depends on _@scure_ and _@noble_ packages.\n\n## Installation\n\n```bash\n npm install nostr-tools # or yarn add nostr-tools\n```\n\n\n## Usage\n\n### Generating a private key and a public key\n\n```js\nimport {generatePrivateKey, getPublicKey} from 'nostr-tools'\n\nlet sk = generatePrivateKey() // `sk` is a hex string\nlet pk = getPublicKey(sk) // `pk` is a hex string\n```\n\n### Creating, signing and verifying events\n\n```js\nimport {\n  validateEvent,\n  verifySignature,\n  signEvent,\n  getEventHash,\n  getPublicKey\n} from 'nostr-tools'\n\nlet event = {\n  kind: 1,\n  created_at: Math.floor(Date.now() / 1000),\n  tags: [],\n  content: 'hello',\n  pubkey: getPublicKey(privateKey)\n}\n\nevent.id = getEventHash(event)\nevent.sig = signEvent(event, privateKey)\n\nlet ok = validateEvent(event)\nlet veryOk = verifySignature(event)\n```\n\n### Interacting with a relay\n\n```js\nimport {\n  relayInit,\n  generatePrivateKey,\n  getPublicKey,\n  getEventHash,\n  signEvent\n} from 'nostr-tools'\n\nconst relay = relayInit('wss://relay.example.com')\nrelay.on('connect', () => {\n  console.log(`connected to ${relay.url}`)\n})\nrelay.on('error', () => {\n  console.log(`failed to connect to ${relay.url}`)\n})\n\nawait relay.connect()\n\n// let's query for an event that exists\nlet sub = relay.sub([\n  {\n    ids: ['d7dd5eb3ab747e16f8d0212d53032ea2a7cadef53837e5a6c66d42849fcb9027']\n  }\n])\nsub.on('event', event => {\n  console.log('we got the event we wanted:', event)\n})\nsub.on('eose', () => {\n  sub.unsub()\n})\n\n// let's publish a new event while simultaneously monitoring the relay for it\nlet sk = generatePrivateKey()\nlet pk = getPublicKey(sk)\n\nlet sub = relay.sub([\n  {\n    kinds: [1],\n    authors: [pk]\n  }\n])\n\nsub.on('event', event => {\n  console.log('got event:', event)\n})\n\nlet event = {\n  kind: 1,\n  pubkey: pk,\n  created_at: Math.floor(Date.now() / 1000),\n  tags: [],\n  content: 'hello world'\n}\nevent.id = getEventHash(event)\nevent.sig = signEvent(event, sk)\n\nlet pub = relay.publish(event)\npub.on('ok', () => {\n  console.log(`${relay.url} has accepted our event`)\n})\npub.on('failed', reason => {\n  console.log(`failed to publish to ${relay.url}: ${reason}`)\n})\n\nlet events = await relay.list([{kinds: [0, 1]}])\nlet event = await relay.get({\n  ids: ['44e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245']\n})\n\nawait relay.close()\n```\n\nTo use this on Node.js you first must install `websocket-polyfill` and import it:\n\n```js\nimport 'websocket-polyfill'\n```\n\n### Interacting with multiple relays\n\n```js\nimport {SimplePool} from 'nostr-tools'\n\nconst pool = new SimplePool()\n\nlet relays = ['wss://relay.example.com', 'wss://relay.example2.com']\n\nlet relay = await pool.ensureRelay('wss://relay.example3.com')\n\nlet subs = pool.sub([...relays, relay], {\n  authors: ['32e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245']\n})\n\nsubs.forEach(sub =>\n  sub.on('event', event => {\n    // this will only be called once the first time the event is received\n    // ...\n  })\n)\n\nlet pubs = pool.publish(relays, newEvent)\npubs.forEach(pub =>\n  pub.on('ok', () => {\n    // ...\n  })\n)\n\nlet events = await pool.list(relays, [{kinds: [0, 1]}])\nlet event = await pool.get(relays, {\n  ids: ['44e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245']\n})\n\nlet relaysForEvent = pool.seenOn(\n  '44e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245'\n)\n// relaysForEvent will be an array of URLs from relays a given event was seen on\n```\n\n### Querying profile data from a NIP-05 address\n\n```js\nimport {nip05} from 'nostr-tools'\n\nlet profile = await nip05.queryProfile('jb55.com')\nconsole.log(profile.pubkey)\n// prints: 32e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245\nconsole.log(profile.relays)\n// prints: [wss://relay.damus.io]\n```\n\nTo use this on Node.js you first must install `node-fetch@2` and call something like this:\n\n```js\nnip05.useFetchImplementation(require('node-fetch'))\n```\n\n### Encoding and decoding NIP-19 codes\n\n```js\nimport {nip19, generatePrivateKey, getPublicKey} from 'nostr-tools'\n\nlet sk = generatePrivateKey()\nlet nsec = nip19.nsecEncode(sk)\nlet {type, data} = nip19.decode(nsec)\nassert(type === 'nsec')\nassert(data === sk)\n\nlet pk = getPublicKey(generatePrivateKey())\nlet npub = nip19.npubEncode(pk)\nlet {type, data} = nip19.decode(npub)\nassert(type === 'npub')\nassert(data === pk)\n\nlet pk = getPublicKey(generatePrivateKey())\nlet relays = [\n  'wss://relay.nostr.example.mydomain.example.com',\n  'wss://nostr.banana.com'\n]\nlet nprofile = nip19.nprofileEncode({pubkey: pk, relays})\nlet {type, data} = nip19.decode(nprofile)\nassert(type === 'nprofile')\nassert(data.pubkey === pk)\nassert(data.relays.length === 2)\n```\n\n### Encrypting and decrypting direct messages\n\n```js\nimport {nip04, getPublicKey, generatePrivateKey} from 'nostr-tools'\n\n// sender\nlet sk1 = generatePrivateKey()\nlet pk1 = getPublicKey(sk1)\n\n// receiver\nlet sk2 = generatePrivateKey()\nlet pk2 = getPublicKey(sk2)\n\n// on the sender side\nlet message = 'hello'\nlet ciphertext = await nip04.encrypt(sk1, pk2, message)\n\nlet event = {\n  kind: 4,\n  pubkey: pk1,\n  tags: [['p', pk2]],\n  content: ciphertext,\n  ...otherProperties\n}\n\nsendEvent(event)\n\n// on the receiver side\nsub.on('event', event => {\n  let sender = event.tags.find(([k, v]) => k === 'p' && v && v !== '')[1]\n  pk1 === sender\n  let plaintext = await nip04.decrypt(sk2, pk1, event.content)\n})\n```\n\n### Performing and checking for delegation\n\n```js\nimport {nip26, getPublicKey, generatePrivateKey} from 'nostr-tools'\n\n// delegator\nlet sk1 = generatePrivateKey()\nlet pk1 = getPublicKey(sk1)\n\n// delegatee\nlet sk2 = generatePrivateKey()\nlet pk2 = getPublicKey(sk2)\n\n// generate delegation\nlet delegation = nip26.createDelegation(sk1, {\n  pubkey: pk2,\n  kind: 1,\n  since: Math.round(Date.now() / 1000),\n  until: Math.round(Date.now() / 1000) + 60 * 60 * 24 * 30 /* 30 days */\n})\n\n// the delegatee uses the delegation when building an event\nlet event = {\n  pubkey: pk2,\n  kind: 1,\n  created_at: Math.round(Date.now() / 1000),\n  content: 'hello from a delegated key',\n  tags: [['delegation', delegation.from, delegation.cond, delegation.sig]]\n}\n\n// finally any receiver of this event can check for the presence of a valid delegation tag\nlet delegator = nip26.getDelegator(event)\nassert(delegator === pk1) // will be null if there is no delegation tag or if it is invalid\n```\n\nPlease consult the tests or [the source code](https://github.com/fiatjaf/nostr-tools) for more information that isn't available here.\n\n### Using from the browser (if you don't want to use a bundler)\n\n```html\n<script src=\"https://unpkg.com/nostr-tools/lib/nostr.bundle.js\"></script>\n<script>\n  window.NostrTools.generatePrivateKey('...') // and so on\n</script>\n```\n\n## Plumbing\n\n1. Install [`just`](https://just.systems/)\n2. `just -l`\n\n## License\n\nPublic domain.\n","readmeFilename":"README.md"}