{"_id":"nostr-crypto-utils","_rev":"34-be5cfc4ce5a35c2572b0ce85a2d5d9ea","name":"nostr-crypto-utils","dist-tags":{"latest":"0.9.3"},"versions":{"0.1.4":{"name":"nostr-crypto-utils","version":"0.1.4","keywords":["nostr","crypto","utilities"],"author":{"name":"Human Java Enterprises"},"license":"MIT","_id":"nostr-crypto-utils@0.1.4","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"dist":{"shasum":"563e1d7fcf31460d071e421b76e09354c0e7b0ef","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.1.4.tgz","fileCount":7,"integrity":"sha512-GPjGf86zzi6mjkMatTA92q0eDk9i+5WxUVvQ1fdyFH2e666YAW8pg7d/jFtb3Ra1I4Mw/ZjJyemV3RHpGbczlw==","signatures":[{"sig":"MEUCIQDc1BAe1KpCAZpWE3SJu51QwwX4uxDi488qLtlpbiX3PQIgPemZuxRmZlxQWxiH2v8o+rGHGeT/JslvwGG6YMxlT6I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14079},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"201d1a9419fae02d7ae15283692fb738483151f3","scripts":{"test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"_npmVersion":"9.8.1","description":"Cryptographic utilities for NOSTR","directories":{},"_nodeVersion":"18.18.0","dependencies":{"nostr-tools":"^2.1.4","@noble/curves":"^1.2.0","@noble/hashes":"^1.3.2","@noble/secp256k1":"^2.0.0","@humanjavaenterprises/nostr-nsec-seedphrase":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.0"},"peerDependencies":{"nostr-tools":"^2.1.4"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.1.4_1733512579508_0.6311179350959875","host":"s3://npm-registry-packages"}},"0.1.5":{"name":"nostr-crypto-utils","version":"0.1.5","keywords":["nostr","crypto","utilities"],"author":{"name":"Human Java Enterprises"},"license":"MIT","_id":"nostr-crypto-utils@0.1.5","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"dist":{"shasum":"ee8e5d54b1140104c82ba11594f0b7293f2e9e9b","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.1.5.tgz","fileCount":7,"integrity":"sha512-GYx0QIn7ckfYKgt1XMwglXFwzmGtiEhRhrpYrD5vSS2RXSvEhK/FkhXTivGHruC0Bas2rKyVG4yv6k6QcX5zHQ==","signatures":[{"sig":"MEQCIGRdTInTyQjjgW0LZl9EFAsN+8XP7boz1Bjm0YYOWJZcAiBRYdf4n+nm8Jt3vExH9LU8AEgvZqU+JngsIwpardleuQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15532},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"201d1a9419fae02d7ae15283692fb738483151f3","scripts":{"test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"_npmVersion":"9.8.1","description":"Cryptographic utilities for NOSTR","directories":{},"_nodeVersion":"18.18.0","dependencies":{"nostr-tools":"^2.1.4","@noble/curves":"^1.2.0","@noble/hashes":"^1.3.2","@noble/secp256k1":"^2.0.0","@humanjavaenterprises/nostr-nsec-seedphrase":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.0"},"peerDependencies":{"nostr-tools":"^2.1.4"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.1.5_1733514417141_0.22713309273741533","host":"s3://npm-registry-packages"}},"0.1.6":{"name":"nostr-crypto-utils","version":"0.1.6","keywords":["nostr","crypto","utilities"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.1.6","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"cb1f2f6a140c4ef3ee4f8abb3c185e4791a69dc3","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.1.6.tgz","fileCount":33,"integrity":"sha512-WXGlv5BJ/qE5ycCKO5YeLZWnqngBbxlKq8u5avqB9t6LIg/Hx2sSB0d6Lx0JxLpd/l5k30sYBe2bmhicbYhv2w==","signatures":[{"sig":"MEQCIEVmn2jBwRPTA+azdmiTTSBm1CoQstqrzaq39kAt57e+AiBCkBhkBmuD9m3D8fOHtBquEC4/NpBPrHLCtAf7vlbtOQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":90121},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"e8391b4bdc59da8e9b7103fab1e2d1c4d61b76d4","scripts":{"test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"tsc","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"9.8.1","description":"A comprehensive TypeScript library providing cryptographic utilities and protocol-compliant message handling for Nostr applications","directories":{},"_nodeVersion":"18.18.0","dependencies":{"nostr-tools":"^2.1.4","@noble/curves":"^1.2.0","@noble/hashes":"^1.3.2","@noble/secp256k1":"^2.0.0","nostr-nsec-seedphrase":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","typescript":"^5.1.6","@types/jest":"^29.5.14","@jest/globals":"^29.7.0"},"peerDependencies":{"nostr-tools":"^2.1.4"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.1.6_1734230369017_0.46134913668220534","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"nostr-crypto-utils","version":"0.2.0","keywords":["nostr","crypto","utilities","typescript","encryption","event-handling","nip-01","nip-04"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.2.0","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"800e01b670322163c2256eefa85207488a1c3b24","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.2.0.tgz","fileCount":35,"integrity":"sha512-gfQo/rVL6TR4bj5dDSW4iuboW/OXYXmCDWqOOZcyCVyaefATe7UhrnJR5xsMAXECM+m7fxH9b1N4HlmGMOsoiQ==","signatures":[{"sig":"MEYCIQDiZGIab+tlNFTvpjDQdU0YolL+ILJzLYXAHV5QmjLNDgIhAPinWgBciQFUtYaLc83faoKIh71hBlcRCQ2RqUrDFBas","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125289},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"0f31137ec103ea3e26d2a80b02d4d406d5a6e0d6","scripts":{"docs":"typedoc --out docs src/index.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","docs:serve":"npx serve docs","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"9.8.1","description":"A comprehensive TypeScript library providing cryptographic utilities and protocol-compliant message handling for Nostr applications","directories":{},"_nodeVersion":"18.18.0","dependencies":{"pino":"^8.17.1","nostr-tools":"^1.17.0","@noble/curves":"^1.3.0","@noble/hashes":"^1.3.3","@noble/secp256k1":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.1.0","typedoc":"^0.25.4","prettier":"^3.1.1","typescript":"^5.3.3","@types/node":"^20.10.5","pino-pretty":"^10.3.0","@vitest/coverage-v8":"^1.1.0","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.2.0_1734397437898_0.17015038920910963","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"nostr-crypto-utils","version":"0.3.0","keywords":["nostr","crypto","utilities","typescript","encryption","event-handling","nip-01","nip-04"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.3.0","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"6f299555d6067f6060bed3468b49f72879b156d0","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.3.0.tgz","fileCount":65,"integrity":"sha512-RklOaCCkx1bnP+Q5buRtVomhcm6LNJ5m6fvurO1PiGguUYzaCBp5W6UiCZquv1ouxaUxIK6YGRBXiZ2J3uSMIg==","signatures":[{"sig":"MEQCIFnr2b39OtqBs4eFsPUJqzoAPM73086O+cRM7KypPsc7AiBs/iGotV7AnuvqPlnDwxf4578tDv5fFY0AE9ZI3iQVlg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":135452},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"875c123b4aaf39a138165138ac21a2665de28433","scripts":{"docs":"typedoc","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","predeploy":"npm run docs","docs:serve":"npx serve docs","docs:watch":"typedoc --watch","test:watch":"vitest","deploy:docs":"gh-pages -d docs","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight, type-safe TypeScript library for Nostr cryptography, focusing on NIP-01 and NIP-04 with strict validation and minimal dependencies","directories":{},"_nodeVersion":"20.18.1","dependencies":{"pino":"^8.17.1","nostr-tools":"^1.17.0","@noble/curves":"^1.3.0","@noble/hashes":"^1.3.3","@noble/secp256k1":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.0","typedoc":"^0.27.0","gh-pages":"^6.2.0","prettier":"^3.1.1","typescript":"^5.3.3","@types/node":"^20.10.5","typedoc-plugin-markdown":"^4.3.3","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.3.0_1735403782629_0.3468878508726132","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"nostr-crypto-utils","version":"0.4.0","keywords":["nostr","crypto","utilities","typescript","encryption","event-handling","nip-01","nip-04"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.4.0","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"57eb56275839f5562f3ae588e2912189cf0e35af","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.4.0.tgz","fileCount":67,"integrity":"sha512-uXW/FVrOEwaoklam2t7fjr+49UwoRI+YNWNP/6ZK883V4mDEfeIjDxl8/B1QMXP8YAGsLhZs4lnRLRe2zGCjoQ==","signatures":[{"sig":"MEQCIBIggGrpbapK8ODDafTGD8ECzVo3SQ1jt/IEgfS2AyzcAiA0mj5J9vqvko1p6bTeO1BsbjN6Bj1CJOuvpkIua2bNfw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":161312},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"9c160331e9485dc52c520a832e977c4e54bbdc89","scripts":{"docs":"typedoc","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","predeploy":"npm run docs","docs:serve":"npx serve docs","docs:watch":"typedoc --watch","test:watch":"vitest","deploy:docs":"gh-pages -d docs","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"10.8.2","description":"A lightweight, type-safe TypeScript library for Nostr cryptography, focusing on NIP-01 and NIP-04 with strict validation and minimal dependencies","directories":{},"_nodeVersion":"20.18.1","dependencies":{"pino":"^8.17.1","nostr-tools":"^1.17.0","@noble/curves":"^1.3.0","@noble/hashes":"^1.3.3","@noble/secp256k1":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.0","typedoc":"^0.27.0","gh-pages":"^6.2.0","prettier":"^3.1.1","typescript":"^5.3.3","@types/node":"^20.10.5","typedoc-plugin-markdown":"^4.3.3","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.4.0_1735426609430_0.4284274896426865","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"nostr-crypto-utils","version":"0.4.1","keywords":["nostr","crypto","utilities","typescript","encryption","event-handling","nip-01","nip-02","nip-03","nip-04","nip-05","nip-06","nip-07","nip-19","bech32"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.4.1","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"7406839c7f5fe437bd563a059a40289f65f67854","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.4.1.tgz","fileCount":93,"integrity":"sha512-6BbGN9rffwFwBEqpb0XstpRT2ANKDxhydEX/lLLdABfDuVK8axq9iH5sYWlh/fU1atB0V/4QSh9CtzwXQIndTg==","signatures":[{"sig":"MEUCIQCCCraqxg1OcY8Ir2v8atXC6c9FBB/zDsTGxdglJ0wXIwIgCn7ycKgmic6aECMbcKmHDKSzMtzgbe4DLjUeFCO0VRk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":214966},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"9c160331e9485dc52c520a832e977c4e54bbdc89","scripts":{"docs":"typedoc","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","predeploy":"npm run docs","docs:serve":"npx serve docs","docs:watch":"typedoc --watch","test:watch":"vitest","deploy:docs":"gh-pages -d docs","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript library for Nostr protocol implementation, supporting multiple NIPs with strict validation","directories":{},"_nodeVersion":"20.18.1","dependencies":{"pino":"^8.17.1","bech32":"^2.0.0","buffer":"^6.0.3","crypto-js":"^4.2.0","nostr-tools":"^1.17.0","@noble/curves":"^1.3.0","@noble/hashes":"^1.3.3","@noble/secp256k1":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.0","typedoc":"^0.27.0","gh-pages":"^6.2.0","prettier":"^3.1.1","typescript":"^5.3.3","@types/node":"^20.10.5","@types/crypto-js":"^4.2.1","typedoc-plugin-markdown":"^4.3.3","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.4.1_1735512665817_0.30515907525134556","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"nostr-crypto-utils","version":"0.4.2","keywords":["nostr","crypto","utilities","typescript","encryption","event-handling","nip-01","nip-02","nip-03","nip-04","nip-05","nip-06","nip-07","nip-19","bech32"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.4.2","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"f18a82b0ba0a4104d6d566eb4125f9ba18ab44d0","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.4.2.tgz","fileCount":93,"integrity":"sha512-9jVtKw3m8+iEZQRMARREDKyy5Bkyz1sYFJwWicyclkjByw8j4N6cFTxkUAeJqUDkg/8j1DmeIWqEjJFXm/rYTw==","signatures":[{"sig":"MEUCIQCtd1XVoPwAeGdLPCCBCy9aftYVMl1qUy8bGyQSTRMZOAIgZB6h9gJZRFd/qirNT6P1dL0rR2Tr72ajX/qET65vCfs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":214676},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"89a017daeeae960e76929e08f06fed9be5573a43","scripts":{"docs":"typedoc","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","predeploy":"npm run docs","docs:serve":"npx serve docs","docs:watch":"typedoc --watch","test:watch":"vitest","deploy:docs":"gh-pages -d docs","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript library for Nostr protocol implementation, supporting multiple NIPs with strict validation","directories":{},"_nodeVersion":"20.18.1","dependencies":{"pino":"^8.17.1","bech32":"^2.0.0","buffer":"^6.0.3","crypto-js":"^4.2.0","@noble/curves":"^1.3.0","@noble/hashes":"^1.3.3","@noble/secp256k1":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.0","typedoc":"^0.27.0","gh-pages":"^6.2.0","prettier":"^3.1.1","typescript":"^5.3.3","@types/node":"^20.10.5","@types/crypto-js":"^4.2.1","typedoc-plugin-markdown":"^4.3.3","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.4.2_1735518231242_0.6436155480683272","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"nostr-crypto-utils","version":"0.4.3","keywords":["nostr","crypto","utilities","typescript","encryption","event-handling","nip-01","nip-02","nip-03","nip-04","nip-05","nip-06","nip-07","nip-19","bech32"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.4.3","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"8e9db31b24c95ab77f086f43892a38ad48b610c9","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.4.3.tgz","fileCount":89,"integrity":"sha512-ghyeFw2TTvvLSmDmztc8JQRWVtvlHg7uVSnF2ZyHVM7e7B4PJU/bnQb0KAym0D1RjT2uF/PRfh9/b8op+1ZSUg==","signatures":[{"sig":"MEYCIQCl0rwXSVXHOZrM0AeDcddVnLc9U2Ugoys1zsoXWsQCpgIhAOkE8ZNnfQ8YTSQmZJ0Sq3nvbW1QJ2zJGwXgM4GOXbSR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":207086},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"de6b324145fbe6d43e62e23c657ee20c417e0a58","scripts":{"docs":"typedoc","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","predeploy":"npm run docs","docs:serve":"npx serve docs","docs:watch":"typedoc --watch","test:watch":"vitest","deploy:docs":"gh-pages -d docs","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript library for Nostr protocol implementation, supporting multiple NIPs with strict validation","directories":{},"_nodeVersion":"18.20.5","dependencies":{"pino":"^8.17.1","bech32":"^2.0.0","buffer":"^6.0.3","crypto-js":"^4.2.0","@noble/curves":"^1.3.0","@noble/hashes":"^1.3.3","@noble/secp256k1":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.0","typedoc":"^0.27.0","gh-pages":"^6.2.0","prettier":"^3.1.1","typescript":"^5.3.3","@types/node":"^20.10.5","@types/crypto-js":"^4.2.1","typedoc-plugin-markdown":"^4.3.3","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.4.3_1735522959126_0.43366872256274447","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"nostr-crypto-utils","version":"0.4.4","keywords":["nostr","crypto","utilities","typescript","encryption","event-handling","nip-01","nip-02","nip-03","nip-04","nip-05","nip-06","nip-07","nip-19","bech32"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.4.4","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"fb23f5b4b0c7c2ec84ecd8c4cb612cf2375d2076","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.4.4.tgz","fileCount":93,"integrity":"sha512-HWIkQfYas6ywpRlYYYVuZtO1W/gVhxLWdgu+zQKQwT4EIdQGXAlTLXaKIYBPEUHoN83xnt4ZUhZETzM6+LNDUQ==","signatures":[{"sig":"MEQCIEmKl+dcN+nQA2D0D7erK1U8rYsIxek4D3zbwNe8X4sIAiBOzzAKy/y8BZVJj/OePtBuNUR15945W5dqhhpQWdT8gg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":222435},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"f5dfb3a35f98ccd5bd67ba537a4c19b33161236d","scripts":{"docs":"typedoc","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","predeploy":"npm run docs","docs:serve":"npx serve docs","docs:watch":"typedoc --watch","test:watch":"vitest","deploy:docs":"gh-pages -d docs","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript library for Nostr protocol implementation, supporting multiple NIPs with strict validation","directories":{},"_nodeVersion":"20.18.1","dependencies":{"pino":"^8.17.1","bech32":"^2.0.0","buffer":"^6.0.3","crypto-js":"^4.2.0","@noble/curves":"^1.3.0","@noble/hashes":"^1.3.3","@noble/secp256k1":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.0","typedoc":"^0.27.0","gh-pages":"^6.2.0","prettier":"^3.1.1","typescript":"^5.3.3","@types/node":"^20.10.5","@types/crypto-js":"^4.2.1","typedoc-plugin-markdown":"^4.3.3","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.4.4_1735537770793_0.8917150909483784","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"nostr-crypto-utils","version":"0.4.5","keywords":["nostr","crypto","utilities","typescript","encryption","event-handling","nip-01","nip-02","nip-03","nip-04","nip-05","nip-06","nip-07","nip-19","bech32"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.4.5","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"555e731119f2ec28d8684304277640e040bd0ed6","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.4.5.tgz","fileCount":93,"integrity":"sha512-I0tr8nzyMaAePz/6s7eQfHLp38VL+A17Oj6mMzsli5EHgrpN49mmw8YQZzrikmmbRs7diQuZIImbsxBrCn4dIg==","signatures":[{"sig":"MEQCIAkjZADzvj1DGq3Qnr2Wz9hyqUvCwUuhrLeDWfX+b/XWAiBa+3eQcn1/OI5fIys/mZPDRXbAPM9iTijaMZcRQgWKAg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":222496},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"f5dfb3a35f98ccd5bd67ba537a4c19b33161236d","scripts":{"docs":"typedoc","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","predeploy":"npm run docs","docs:serve":"npx serve docs","docs:watch":"typedoc --watch","test:watch":"vitest","deploy:docs":"gh-pages -d docs","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript library for Nostr protocol implementation, supporting multiple NIPs with strict validation","directories":{},"_nodeVersion":"20.18.1","dependencies":{"pino":"^8.17.1","bech32":"^2.0.0","buffer":"^6.0.3","crypto-js":"^4.2.0","@noble/curves":"^1.3.0","@noble/hashes":"^1.3.3","@noble/secp256k1":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.0","typedoc":"^0.27.0","gh-pages":"^6.2.0","prettier":"^3.1.1","typescript":"^5.3.3","@types/node":"^20.10.5","@types/crypto-js":"^4.2.1","typedoc-plugin-markdown":"^4.3.3","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.4.5_1735539550542_0.20478238419655326","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"nostr-crypto-utils","version":"0.4.6","keywords":["nostr","crypto","utilities","typescript","encryption","event-handling","nip-01","nip-02","nip-03","nip-04","nip-05","nip-06","nip-07","nip-19","bech32"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.4.6","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"92f0c39b5ecf3d0ad34366ed680dffbf68015d8c","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.4.6.tgz","fileCount":93,"integrity":"sha512-I/bOxInFM9Txd4xiUMYIsxAmo8OsvKjvLzbvURm0Rk/AB/ERtnmt1mUsnCORgDrx0qO8SrInC+ML93gMT9HTTw==","signatures":[{"sig":"MEQCIBK9aI27S9iqbGTCmj8QloJ3aOhjZUL3eRlLTTUSBEw6AiAjbl5S33HoaPd8py5R2kboZBxW5OAkt8qE1ZeG/S57cQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":226055},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"8354d9ddcb7c93fc3c4d46536b5ca8826b4c03a2","scripts":{"docs":"typedoc","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","predeploy":"npm run docs","docs:serve":"npx serve docs","docs:watch":"typedoc --watch","test:watch":"vitest","deploy:docs":"gh-pages -d docs","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript library for Nostr protocol implementation, supporting multiple NIPs with strict validation","directories":{},"_nodeVersion":"20.18.1","dependencies":{"pino":"^8.17.1","bech32":"^2.0.0","buffer":"^6.0.3","crypto-js":"^4.2.0","@noble/curves":"^1.3.0","@noble/hashes":"^1.3.3","@noble/secp256k1":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.0","typedoc":"^0.27.0","gh-pages":"^6.2.0","prettier":"^3.1.1","typescript":"^5.3.3","@types/node":"^20.10.5","@types/crypto-js":"^4.2.1","typedoc-plugin-markdown":"^4.3.3","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.4.6_1735572116442_0.17276866854802297","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"nostr-crypto-utils","version":"0.4.8","keywords":["nostr","crypto","utilities","typescript","encryption","event-handling","nip-01","nip-02","nip-03","nip-04","nip-05","nip-06","nip-07","nip-19","bech32"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.4.8","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"3d9b0840a56a08a37c4d402568543c0607ec7b71","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.4.8.tgz","fileCount":347,"integrity":"sha512-TTQIIOr5Ye3gzvUxjSsMEUW/wv2FsGPufpCTBUVuZ9giisrSc2ykKDEbv+V7b79j0OGbHMTE3UwzSokV2LsWIQ==","signatures":[{"sig":"MEYCIQDR+CvLlCbEads/OScDkgjOXOi6at68vYaAJlYHMNeikgIhAMz6636Q2a1EV8sp9zoPftEJXz/lK4T36QpJW4bMLC+r","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":707642},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"}},"gitHead":"8354d9ddcb7c93fc3c4d46536b5ca8826b4c03a2","scripts":{"docs":"typedoc","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc && tsc -p tsconfig.cjs.json","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","predeploy":"npm run docs","docs:serve":"npx serve docs","docs:watch":"typedoc --watch","test:watch":"vitest","deploy:docs":"gh-pages -d docs","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript library for Nostr protocol implementation, supporting multiple NIPs with strict validation","directories":{},"_nodeVersion":"20.18.1","dependencies":{"pino":"^8.17.1","bech32":"^2.0.0","buffer":"^6.0.3","crypto-js":"^4.2.0","@noble/curves":"^1.3.0","@noble/hashes":"^1.3.3","@noble/secp256k1":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.0","typedoc":"^0.27.0","gh-pages":"^6.2.0","prettier":"^3.1.1","typescript":"^5.3.3","@types/node":"^20.10.5","@types/crypto-js":"^4.2.1","typedoc-plugin-markdown":"^4.3.3","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.4.8_1735794659971_0.6039054596198741","host":"s3://npm-registry-packages-npm-production"}},"0.4.9":{"name":"nostr-crypto-utils","version":"0.4.9","keywords":["nostr","crypto","utilities","typescript","encryption","event-handling","nip-01","nip-02","nip-03","nip-04","nip-05","nip-06","nip-07","nip-19","bech32"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.4.9","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"8c9266c6d8b9b63ce108cb734e2fd786e33bbd99","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.4.9.tgz","fileCount":276,"integrity":"sha512-TsPYsmcSDOOeTcV4pDxd6V/DcH530SOrYZCJT/isvqhlasfxcva5qvuF+yDnMSQoXLEYJudlKPdjiZDYE+/OEA==","signatures":[{"sig":"MEYCIQCR8jYdIjxv+Ok5cOsejMXvf2Y5uJDfeuHFsM/S491wugIhAOBFgPJ41ZMzZeexURvUfFmKeX7HXDHUfIP4RZdBa6GN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":658314},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"},"./crypto":{"types":"./dist/crypto.d.ts","import":"./dist/crypto.js","require":"./dist/cjs/crypto.js"},"./protocol":{"types":"./dist/protocol/index.d.ts","import":"./dist/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./validation":{"types":"./dist/utils/validation.d.ts","import":"./dist/utils/validation.js","require":"./dist/cjs/utils/validation.js"}},"gitHead":"74e331ea15c7380175fec836acce7d1e606cf2bc","scripts":{"docs":"typedoc","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc && tsc -p tsconfig.cjs.json","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","predeploy":"npm run docs","docs:serve":"npx serve docs","docs:watch":"typedoc --watch","test:watch":"vitest","deploy:docs":"gh-pages -d docs","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript library for Nostr protocol implementation, supporting multiple NIPs with strict validation","directories":{},"_nodeVersion":"20.18.1","dependencies":{"pino":"^8.17.1","bech32":"^2.0.0","buffer":"^6.0.3","crypto-js":"^4.2.0","@noble/curves":"^1.3.0","@noble/hashes":"^1.3.3","@noble/secp256k1":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.0","typedoc":"^0.27.0","gh-pages":"^6.2.0","prettier":"^3.1.1","typescript":"^5.3.3","@types/node":"^20.10.5","@types/crypto-js":"^4.2.1","typedoc-plugin-markdown":"^4.3.3","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.4.9_1735846071314_0.7540942636771748","host":"s3://npm-registry-packages-npm-production"}},"0.4.10":{"name":"nostr-crypto-utils","version":"0.4.10","keywords":["nostr","crypto","utilities","typescript","encryption","event-handling","nip-01","nip-02","nip-03","nip-04","nip-05","nip-06","nip-07","nip-19","bech32"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.4.10","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"d9e94c2f3a1f2469756fc4d7ea2bfb16095b4e6d","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.4.10.tgz","fileCount":276,"integrity":"sha512-IjQPW1Zlu80hC9QHSKU3yLyJ983/4MT7u7Fr5V4MHYVmjFQQjph3X8iQcu2YXLMwLWuVC8wFecfyMgbXsUzllw==","signatures":[{"sig":"MEQCIH8nkURsV+g3GIVcgbwDZkSv5VjGApHnyRwExjLB5FQrAiAaiBer5uOdQI7QyipXs4n8m0P85JKtzfot6iwFysJINg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":658169},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"},"./crypto":{"types":"./dist/crypto/index.d.ts","import":"./dist/crypto/index.js","require":"./dist/cjs/crypto/index.js"},"./validation":{"types":"./dist/utils/validation.d.ts","import":"./dist/utils/validation.js","require":"./dist/cjs/utils/validation.js"}},"gitHead":"b043a8e8d19b088104be2a2f3c6d239ce5fe0042","scripts":{"docs":"typedoc","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc && tsc -p tsconfig.cjs.json","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","predeploy":"npm run docs","docs:serve":"npx serve docs","docs:watch":"typedoc --watch","test:watch":"vitest","deploy:docs":"gh-pages -d docs","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"10.8.2","description":"A comprehensive TypeScript library for Nostr protocol implementation, supporting multiple NIPs with strict validation","directories":{},"_nodeVersion":"20.18.1","dependencies":{"pino":"^8.17.1","bech32":"^2.0.0","buffer":"^6.0.3","crypto-js":"^4.2.0","@noble/curves":"^1.3.0","@noble/hashes":"^1.3.3","@noble/secp256k1":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","vitest":"^1.6.0","typedoc":"^0.27.0","gh-pages":"^6.2.0","prettier":"^3.1.1","typescript":"^5.3.3","@types/node":"^20.10.5","@types/crypto-js":"^4.2.1","typedoc-plugin-markdown":"^4.3.3","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.4.10_1735851776267_0.5453164984793433","host":"s3://npm-registry-packages-npm-production"}},"0.4.11":{"name":"nostr-crypto-utils","version":"0.4.11","keywords":["nostr","crypto","cryptography","utilities","typescript"],"author":{"name":"Humanjava Enterprises"},"license":"MIT","_id":"nostr-crypto-utils@0.4.11","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"dist":{"shasum":"d6141060f57887899e3ee005b1fd2d973160cbbe","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.4.11.tgz","fileCount":428,"integrity":"sha512-cYTsQun4mEujFkMoQ5FF8DuQHigSleVW8j+GDfbyoBTFHKLV5alT3WrldPAOwcNEKxNHOYMMrQHpLYh3uSQmbQ==","signatures":[{"sig":"MEQCIG+5MDaT2k4czn6LZirckC6ABf+mImWAMmer/9aGAJgDAiBOKTeo9l7up31/c0BaQfvhswuEKBAp0Hchs1/QufBnDA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1580935},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./crypto":{"types":"./dist/esm/crypto.d.ts","import":"./dist/esm/crypto.js","require":"./dist/cjs/crypto.js"},"./protocol":{"types":"./dist/esm/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./validation":{"types":"./dist/esm/validation/index.d.ts","import":"./dist/esm/validation/index.js","require":"./dist/cjs/validation/index.js"}},"gitHead":"615abfd6358ae961cfd6221395e6c4c4a27c4155","scripts":{"lint":"eslint src --ext .ts","test":"vitest run","build":"npm run build:ts && npm run build:browser","clean":"rimraf dist","prepare":"npm run clean && npm run build","build:ts":"tsc && tsc -p tsconfig.cjs.json","test:watch":"vitest","build:browser":"webpack --config webpack.config.cjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"_npmVersion":"10.8.2","description":"Cryptographic utilities for Nostr protocol","directories":{},"_nodeVersion":"20.18.1","dependencies":{"pino":"^8.16.2","util":"^0.12.5","assert":"^2.1.0","bech32":"^2.0.0","buffer":"^6.0.3","pino-pretty":"^10.2.3","@noble/curves":"^1.2.0","@noble/hashes":"^1.3.2","vm-browserify":"^1.1.2","path-browserify":"^1.0.1","@noble/secp256k1":"^2.0.0","crypto-browserify":"^3.12.0","stream-browserify":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","rimraf":"^5.0.5","vitest":"^1.2.1","webpack":"^5.89.0","ts-loader":"^9.5.1","typescript":"^5.3.3","@types/node":"^20.10.5","webpack-cli":"^5.1.4","@vitest/coverage-v8":"^1.2.1","webpack-node-externals":"^3.0.0","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.4.11_1736697379043_0.6460849755019147","host":"s3://npm-registry-packages-npm-production"}},"0.4.12":{"name":"nostr-crypto-utils","version":"0.4.12","keywords":["nostr","crypto","cryptography","utilities","typescript"],"author":{"name":"Humanjava Enterprises"},"license":"MIT","_id":"nostr-crypto-utils@0.4.12","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"dist":{"shasum":"1550fe257e1bc845fcc1858c17a9e1246e5876d3","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.4.12.tgz","fileCount":428,"integrity":"sha512-/WwrpozysJRuM1VgXEvaWVebrWjXOdYnLzLAlxCRYw79ZLC60SRIjQRskGiGjYmvWSx0grFbMw71wmgH6YTfiw==","signatures":[{"sig":"MEYCIQDwcPq57UnNJIxRMeP2d6w7rrzxdXuxNGmKLjCUEViyxAIhAMwtsNwsyHlMcEh5OcE4+FA0J2Z0EDEp+zklnTCUYrzy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1584616},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./nips":{"types":"./dist/esm/nips/index.d.ts","import":"./dist/esm/nips/index.js","require":"./dist/cjs/nips/index.js"},"./crypto":{"types":"./dist/esm/crypto.d.ts","import":"./dist/esm/crypto.js","require":"./dist/cjs/crypto.js"},"./protocol":{"types":"./dist/esm/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./validation":{"types":"./dist/esm/validation/index.d.ts","import":"./dist/esm/validation/index.js","require":"./dist/cjs/validation/index.js"}},"gitHead":"56e40cff7364bd921f0363c481d6bd10b6378e3f","scripts":{"lint":"eslint src --ext .ts","test":"vitest run","build":"npm run build:ts && npm run build:browser","clean":"rimraf dist","prepare":"npm run clean && npm run build","build:ts":"tsc && tsc -p tsconfig.cjs.json","test:watch":"vitest","build:browser":"webpack --config webpack.config.cjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"_npmVersion":"10.8.2","description":"Cryptographic utilities for Nostr protocol, including key management, event signing, NIP-19 bech32 encoding (npub, nsec, note), and encrypted messaging","directories":{},"_nodeVersion":"20.18.1","dependencies":{"pino":"^8.16.2","util":"^0.12.5","assert":"^2.1.0","bech32":"^2.0.0","buffer":"^6.0.3","pino-pretty":"^10.2.3","@noble/curves":"^1.2.0","@noble/hashes":"^1.3.2","vm-browserify":"^1.1.2","path-browserify":"^1.0.1","@noble/secp256k1":"^2.0.0","crypto-browserify":"^3.12.0","stream-browserify":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","rimraf":"^5.0.5","vitest":"^1.2.1","webpack":"^5.89.0","ts-loader":"^9.5.1","typescript":"^5.3.3","@types/node":"^20.10.5","webpack-cli":"^5.1.4","@vitest/coverage-v8":"^1.2.1","webpack-node-externals":"^3.0.0","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.4.12_1736724057148_0.49789528216636736","host":"s3://npm-registry-packages-npm-production"}},"0.4.13":{"name":"nostr-crypto-utils","version":"0.4.13","keywords":["nostr","crypto","cryptography","utilities","typescript"],"author":{"name":"Humanjava Enterprises"},"license":"MIT","_id":"nostr-crypto-utils@0.4.13","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"dist":{"shasum":"e3442b8510dab99dd3d449d182d0a8d507fda718","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.4.13.tgz","fileCount":443,"integrity":"sha512-rhrUx4iJC5BSApevFn2lHqrlOK0450JKzUF3pysBsrJGYinFik9tUHUL3aiByPeva1lOuedPt1/g+/7gDVNX9A==","signatures":[{"sig":"MEUCIQCI9CrJ/vTEXJmGascijchNYWDevf2m+h2HA+zPsLLpqgIgE/TbFqSg8bW+JtbwXjj25FzV620CMOYKn5z1cpsSGk4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1597140},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./nips":{"types":"./dist/esm/nips/index.d.ts","import":"./dist/esm/nips/index.js","require":"./dist/cjs/nips/index.js"},"./crypto":{"types":"./dist/esm/crypto.d.ts","import":"./dist/esm/crypto.js","require":"./dist/cjs/crypto.js"},"./protocol":{"types":"./dist/esm/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./validation":{"types":"./dist/esm/validation/index.d.ts","import":"./dist/esm/validation/index.js","require":"./dist/cjs/validation/index.js"}},"gitHead":"990c40da8bbcf4bb3ec88c4cdc70c877fe3f5b49","scripts":{"lint":"eslint src --ext .ts","test":"vitest run","build":"npm run build:ts && npm run build:browser","clean":"rimraf dist","prepare":"npm run clean && npm run build","build:ts":"tsc && tsc -p tsconfig.cjs.json","test:watch":"vitest","build:browser":"webpack --config webpack.config.cjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"_npmVersion":"10.8.2","description":"Cryptographic utilities for Nostr protocol, including key management, event signing, NIP-19 bech32 encoding (npub, nsec, note), and encrypted messaging","directories":{},"_nodeVersion":"20.18.1","dependencies":{"pino":"^8.16.2","util":"^0.12.5","assert":"^2.1.0","bech32":"^2.0.0","buffer":"^6.0.3","pino-pretty":"^10.2.3","@noble/curves":"^1.2.0","@noble/hashes":"^1.3.2","vm-browserify":"^1.1.2","path-browserify":"^1.0.1","@noble/secp256k1":"^2.0.0","crypto-browserify":"^3.12.0","stream-browserify":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","rimraf":"^5.0.5","vitest":"^1.2.1","webpack":"^5.89.0","ts-loader":"^9.5.1","typescript":"^5.3.3","@types/node":"^20.10.5","webpack-cli":"^5.1.4","@vitest/coverage-v8":"^1.2.1","webpack-node-externals":"^3.0.0","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.4.13_1736916134277_0.44222913719138757","host":"s3://npm-registry-packages-npm-production"}},"0.4.14":{"name":"nostr-crypto-utils","version":"0.4.14","keywords":["nostr","crypto","cryptography","utilities","typescript"],"author":{"name":"Humanjava Enterprises"},"license":"MIT","_id":"nostr-crypto-utils@0.4.14","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"dist":{"shasum":"e7b30ee20b44dde4a7968386c7490b628a1a2036","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.4.14.tgz","fileCount":443,"integrity":"sha512-DErCXABTi6wC1mCFGVSRd1kKZvprERM3eFP30JbxVeznEPu7/tUkICTN+1+xeQF52+EWupTTTCTdze6z3MjhIA==","signatures":[{"sig":"MEYCIQCHkJNre5LiMvuyR1QcJuCHVeNDQvFo31DWqQ3UNSTU9wIhAObFvBfF2/Hg1tM4o+eEtcAq5Zee9bns9Mp0/SVJgK72","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1597088},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./nips":{"types":"./dist/esm/nips/index.d.ts","import":"./dist/esm/nips/index.js","require":"./dist/cjs/nips/index.js"},"./crypto":{"types":"./dist/esm/crypto.d.ts","import":"./dist/esm/crypto.js","require":"./dist/cjs/crypto.js"},"./protocol":{"types":"./dist/esm/protocol/index.d.ts","import":"./dist/esm/protocol/index.js","require":"./dist/cjs/protocol/index.js"},"./validation":{"types":"./dist/esm/validation/index.d.ts","import":"./dist/esm/validation/index.js","require":"./dist/cjs/validation/index.js"}},"gitHead":"1ba62972f3b6836533676487eead0a0ce4b818b1","scripts":{"lint":"eslint src --ext .ts","test":"vitest run","build":"npm run build:ts && npm run build:browser","clean":"rimraf dist","prepare":"npm run clean && npm run build","build:ts":"tsc && tsc -p tsconfig.cjs.json","test:watch":"vitest","build:browser":"webpack --config webpack.config.cjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"_npmVersion":"9.8.1","description":"Core cryptographic utilities for Nostr protocol","directories":{},"_nodeVersion":"18.18.0","dependencies":{"pino":"^8.16.2","util":"^0.12.5","assert":"^2.1.0","bech32":"^2.0.0","buffer":"^6.0.3","pino-pretty":"^10.2.3","@noble/curves":"^1.2.0","@noble/hashes":"^1.3.2","vm-browserify":"^1.1.2","path-browserify":"^1.0.1","crypto-browserify":"^3.12.0","stream-browserify":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","rimraf":"^5.0.5","vitest":"^1.2.1","webpack":"^5.89.0","ts-loader":"^9.5.1","typescript":"^5.3.3","@types/node":"^20.10.5","webpack-cli":"^5.1.4","@vitest/coverage-v8":"^1.2.1","webpack-node-externals":"^3.0.0","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.4.14_1737686827262_0.4191318123852801","host":"s3://npm-registry-packages-npm-production"}},"0.4.15":{"name":"nostr-crypto-utils","version":"0.4.15","keywords":["nostr","crypto","cryptography","utilities","typescript"],"author":{"name":"Humanjava Enterprises"},"license":"MIT","_id":"nostr-crypto-utils@0.4.15","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"dist":{"shasum":"07a29912034272c0ac6ba5cf89faa38742807652","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.4.15.tgz","fileCount":357,"integrity":"sha512-RjVzjnTWraYyZni3Hm/yzjNlpLsx+EbgyP5MiS29AAMo3gZKaSPCd/fzGLStdO++exmZQZyPJbEAUgEEPpiwCg==","signatures":[{"sig":"MEUCIDRT7MJaxZjiwOSm+9d+qF64/C3513KxmjQQ9x+HOG1GAiEA45IK4lmwJl9QIp0X0qrjCmZ3rJmYJGN5KC+PRGiEPck=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1492477},"main":"./dist/cjs/index.js","type":"commonjs","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"}},"gitHead":"f6790fabbf581427bd0c06b5641de16307d86a55","scripts":{"lint":"eslint src --ext .ts","test":"vitest run","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm && npm run build:browser","clean":"rimraf dist","prepare":"npm run build","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","test:watch":"vitest","build:types":"tsc -p tsconfig.types.json","build:browser":"webpack --config webpack.config.cjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"_npmVersion":"9.8.1","description":"Core cryptographic utilities for Nostr protocol","directories":{},"_nodeVersion":"18.18.0","dependencies":{"pino":"^8.16.2","util":"^0.12.5","assert":"^2.1.0","bech32":"^2.0.0","buffer":"^6.0.3","pino-pretty":"^10.2.3","@noble/curves":"^1.2.0","@noble/hashes":"^1.3.2","vm-browserify":"^1.1.2","path-browserify":"^1.0.1","crypto-browserify":"^3.12.0","stream-browserify":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","rimraf":"^5.0.5","vitest":"^1.2.1","webpack":"^5.89.0","ts-loader":"^9.5.1","typescript":"^5.3.3","@types/node":"^20.10.5","webpack-cli":"^5.1.4","@vitest/coverage-v8":"^1.2.1","webpack-node-externals":"^3.0.0","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.4.15_1738030641307_0.8991196914256325","host":"s3://npm-registry-packages-npm-production"}},"0.4.16":{"name":"nostr-crypto-utils","version":"0.4.16","keywords":["nostr","crypto","cryptography","utilities","typescript"],"author":{"name":"Humanjava Enterprises"},"license":"MIT","_id":"nostr-crypto-utils@0.4.16","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"dist":{"shasum":"735eae401a114adddee53260e62cf3f81ccde85c","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.4.16.tgz","fileCount":359,"integrity":"sha512-LKp4hsvHU2cOxHBoEgUCek4labbyr8BoapE1xqhYpnjVKaMu/ywKdE6TWRan5TbdTErILGi9wabjUZURbvFozA==","signatures":[{"sig":"MEYCIQCPxx2QP3pd3pV4bcbG5O10ugMIkzi/7XvUD187d2OoAgIhAI/eSmCxkRpDKSMIob/kSPRkaRh9qnvNbzxriEjETcj+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1510343},"main":"./dist/cjs/index.js","type":"commonjs","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"}},"gitHead":"fc27f54f17caf74b45c71b844e80b18ae6cedceb","scripts":{"lint":"eslint src --ext .ts","test":"vitest run","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm && npm run build:browser","clean":"rimraf dist","prepare":"npm run build","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","test:watch":"vitest","build:types":"tsc -p tsconfig.types.json","build:browser":"webpack --config webpack.config.cjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"_npmVersion":"11.8.0","description":"Core cryptographic utilities for Nostr protocol","directories":{},"_nodeVersion":"24.13.1","dependencies":{"pino":"^8.21.0","util":"^0.12.5","assert":"^2.1.0","bech32":"^2.0.0","buffer":"^6.0.3","pino-pretty":"^10.3.1","@noble/curves":"^1.9.7","@noble/hashes":"^1.8.0","vm-browserify":"^1.1.2","path-browserify":"^1.0.1","crypto-browserify":"^3.12.1","stream-browserify":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","rimraf":"^5.0.10","vitest":"^1.6.1","webpack":"^5.105.2","ts-loader":"^9.5.4","typescript":"^5.9.3","@types/node":"^20.19.33","webpack-cli":"^5.1.4","@vitest/coverage-v8":"^1.6.1","webpack-node-externals":"^3.0.0","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.4.16_1771529331050_0.4549593578610922","host":"s3://npm-registry-packages-npm-production"}},"0.4.17":{"name":"nostr-crypto-utils","version":"0.4.17","keywords":["nostr","crypto","cryptography","utilities","typescript"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.4.17","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"143a4d1c3167f50292c784e799c5ad4a8aad429d","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.4.17.tgz","fileCount":337,"integrity":"sha512-iO7Srp+aw+WCm/xwJ90R1e1PvUB4eGDJRSR8HQ3CPyY2WP9eiOf1cvtHHLDxiAaI1KkkOCA41HOUgsuOdvsKkA==","signatures":[{"sig":"MEYCIQDBcOYEXBZmNbcR0Oe/3SKJRwBVoIBDS5E7SIdXMpclTQIhANFMpbuGVgY29hk8IiDVDDjmP5vJKALe73uzdjlk7gKm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":900216},"main":"./dist/cjs/index.js","type":"commonjs","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"}},"gitHead":"b743dea78c6891b7e5ccfa16de4acda0deb4d2aa","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm && npm run build:browser","clean":"rm -rf dist","prepare":"npm run build","lint:fix":"eslint . --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","test:watch":"vitest","build:types":"tsc -p tsconfig.types.json","build:browser":"webpack --config webpack.config.cjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"11.8.0","description":"Core cryptographic utilities for Nostr protocol","directories":{},"_nodeVersion":"24.13.1","dependencies":{"pino":"^8.21.0","util":"^0.12.5","assert":"^2.1.0","bech32":"^2.0.0","buffer":"^6.0.3","pino-pretty":"^10.3.1","@noble/curves":"^1.9.7","@noble/hashes":"^1.8.0","vm-browserify":"^1.1.2","path-browserify":"^1.0.1","stream-browserify":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","vitest":"^3.2.4","webpack":"^5.105.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^20.19.33","webpack-cli":"^5.1.4","@vitest/coverage-v8":"^3.2.4","webpack-node-externals":"^3.0.0","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.4.17_1771609182140_0.8077498743690061","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"nostr-crypto-utils","version":"0.5.0","keywords":["nostr","crypto","cryptography","utilities","typescript"],"author":{"name":"Humanjava Enterprises"},"license":"MIT","_id":"nostr-crypto-utils@0.5.0","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"dist":{"shasum":"9c7c19296fdda48e734702732cc52b72ac43dde9","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.5.0.tgz","fileCount":380,"integrity":"sha512-Z2GEC2M0KV0qOHVHaAM8zcf8uxMyL2AOTwxWHJrRVxwtZ5UuRhaLAmRsvqAx/I4+x/y+XUVneYG8JEYN6ojEgA==","signatures":[{"sig":"MEYCIQCTqIJ0PgUxW0h9ZnFHRbXQ38ZZPd5kZIbAeeqGieo9wAIhAO719znJXp3Ly7s5mQid5epOtYA0UeEe6y9JLwhTB+IS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1578602},"main":"./dist/cjs/index.js","type":"commonjs","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./nip44":{"types":"./dist/types/nips/nip-44.d.ts","import":"./dist/esm/nips/nip-44.js","require":"./dist/cjs/nips/nip-44.js"},"./nip49":{"types":"./dist/types/nips/nip-49.d.ts","import":"./dist/esm/nips/nip-49.js","require":"./dist/cjs/nips/nip-49.js"}},"gitHead":"603103ec288d09ee493ea238f9da46e889d38911","scripts":{"lint":"eslint src --ext .ts","test":"vitest run","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm && npm run build:browser","clean":"rimraf dist","prepare":"npm run build","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","test:watch":"vitest","build:types":"tsc -p tsconfig.types.json","build:browser":"webpack --config webpack.config.cjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"_npmVersion":"10.8.2","description":"Core cryptographic utilities for Nostr protocol","directories":{},"_nodeVersion":"20.18.1","dependencies":{"pino":"^8.16.2","util":"^0.12.5","assert":"^2.1.0","bech32":"^2.0.0","buffer":"^6.0.3","@scure/base":"^1.2.4","pino-pretty":"^10.2.3","@noble/curves":"^1.2.0","@noble/hashes":"^1.3.2","vm-browserify":"^1.1.2","@noble/ciphers":"^1.2.1","path-browserify":"^1.0.1","crypto-browserify":"^3.12.0","stream-browserify":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","rimraf":"^5.0.5","vitest":"^1.2.1","webpack":"^5.89.0","ts-loader":"^9.5.1","typescript":"^5.3.3","@types/node":"^20.10.5","webpack-cli":"^5.1.4","@vitest/coverage-v8":"^1.2.1","webpack-node-externals":"^3.0.0","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.5.0_1771661306290_0.3544672193949372","host":"s3://npm-registry-packages-npm-production"}},"0.4.18":{"name":"nostr-crypto-utils","version":"0.4.18","keywords":["nostr","crypto","cryptography","utilities","typescript"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.4.18","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"e44736cac76589e77b1d702fc22df3dd67d2c886","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.4.18.tgz","fileCount":338,"integrity":"sha512-U9pfWRskLmxtw5+c2M3Ax1RCUOvTu1P1RdWY/S0xVxLOv0Ad6Szvmk2DttYvUk+Nk1hdokyAY59Niedt19dBOA==","signatures":[{"sig":"MEQCIE7FrWUDlBtOMonQ4bX8L86TXjfEYyJkO6tBujgfj26QAiATTdWRVDf3NzXD1PinKsGonI/anOEfPMhSnI4hM1OBNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":935538},"main":"./dist/cjs/index.js","type":"commonjs","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"}},"gitHead":"90832a796f65221bd24d3368575eb3668c569814","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm && npm run build:browser","clean":"rm -rf dist","prepare":"npm run build","lint:fix":"eslint . --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","test:watch":"vitest","build:types":"tsc -p tsconfig.types.json","build:browser":"webpack --config webpack.config.cjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"10.8.2","description":"Core cryptographic utilities for Nostr protocol","directories":{},"_nodeVersion":"20.18.1","dependencies":{"pino":"^8.21.0","util":"^0.12.5","assert":"^2.1.0","bech32":"^2.0.0","buffer":"^6.0.3","pino-pretty":"^10.3.1","@noble/curves":"^1.9.7","@noble/hashes":"^1.8.0","vm-browserify":"^1.1.2","path-browserify":"^1.0.1","stream-browserify":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","vitest":"^3.2.4","webpack":"^5.105.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^20.19.33","webpack-cli":"^5.1.4","@vitest/coverage-v8":"^3.2.4","webpack-node-externals":"^3.0.0","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.4.18_1772217892733_0.8381142429330253","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"nostr-crypto-utils","version":"0.5.1","keywords":["nostr","crypto","cryptography","utilities","typescript"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.5.1","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"c5f08485a17f27dfa38b8ec7698c3fe9b4c09eb4","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.5.1.tgz","fileCount":380,"integrity":"sha512-PzeLA+IyE/BfMq1QidXOlJB7R7dNCpp6OCg5YBRUOpcRgpqTEws3SU8L+RqGi711JOaWmKJVhmNJEUvaXgTJ+A==","signatures":[{"sig":"MEYCIQDICAjZtHKbavOC8a5op85WIMhn+p4MqY2EzHe6tZqSxwIhAMUihqYZ7hU3bd+2+2rpuQNHqqdVmiQ2C1n5Q0CecBsW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1110377},"main":"./dist/cjs/index.js","type":"commonjs","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./nip44":{"types":"./dist/types/nips/nip-44.d.ts","import":"./dist/esm/nips/nip-44.js","default":"./dist/cjs/nips/nip-44.js","require":"./dist/cjs/nips/nip-44.js"},"./nip46":{"types":"./dist/types/nips/nip-46.d.ts","import":"./dist/esm/nips/nip-46.js","default":"./dist/cjs/nips/nip-46.js","require":"./dist/cjs/nips/nip-46.js"},"./nip49":{"types":"./dist/types/nips/nip-49.d.ts","import":"./dist/esm/nips/nip-49.js","default":"./dist/cjs/nips/nip-49.js","require":"./dist/cjs/nips/nip-49.js"}},"gitHead":"e28dfa232c52daf311e0ff7f3314b8cdc6d678e8","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm && npm run build:browser","clean":"rm -rf dist","prepare":"npm run build","lint:fix":"eslint . --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","test:watch":"vitest","build:types":"tsc -p tsconfig.types.json","build:browser":"webpack --config webpack.config.cjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"11.8.0","description":"Core cryptographic utilities for Nostr protocol","directories":{},"_nodeVersion":"24.13.1","dependencies":{"pino":"^8.21.0","util":"^0.12.5","assert":"^2.1.0","bech32":"^2.0.0","buffer":"^6.0.3","@scure/base":"^2.0.0","pino-pretty":"^10.3.1","@noble/curves":"^1.9.7","@noble/hashes":"^1.8.0","vm-browserify":"^1.1.2","@noble/ciphers":"^2.1.1","path-browserify":"^1.0.1","stream-browserify":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","vitest":"^3.2.4","webpack":"^5.105.2","ts-loader":"^9.5.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^20.19.33","webpack-cli":"^5.1.4","@vitest/coverage-v8":"^3.2.4","webpack-node-externals":"^3.0.0","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.5.1_1772476615103_0.45713034261618324","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"nostr-crypto-utils","version":"0.5.2","keywords":["nostr","crypto","cryptography","utilities","typescript"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.5.2","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"94ad75c8218144417c6839577e0c1788f1fdbe1b","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.5.2.tgz","fileCount":362,"integrity":"sha512-h+rVnsJAs8LOJWcswm+UagmSLM8jdBV18fLVnWSdWhwazox3kJM02MrUMwFE5u6vWVRW4PwzYUx1sSuRO2kEQA==","signatures":[{"sig":"MEQCIAwv3jeIovM6QrqJstk5xDBzuGZj6CawRogQdn+IqvCFAiBcN3hMT+z2IjE7xXj1nWDF1kd7IlmA2Axr4aTcKrwxzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3600285},"main":"./dist/cjs/index.js","type":"commonjs","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./nip44":{"types":"./dist/types/nips/nip-44.d.ts","import":"./dist/esm/nips/nip-44.js","default":"./dist/cjs/nips/nip-44.js","require":"./dist/cjs/nips/nip-44.js"},"./nip46":{"types":"./dist/types/nips/nip-46.d.ts","import":"./dist/esm/nips/nip-46.js","default":"./dist/cjs/nips/nip-46.js","require":"./dist/cjs/nips/nip-46.js"},"./nip49":{"types":"./dist/types/nips/nip-49.d.ts","import":"./dist/esm/nips/nip-49.js","default":"./dist/cjs/nips/nip-49.js","require":"./dist/cjs/nips/nip-49.js"}},"gitHead":"1f6eabaa56dc2d26d1ccd312c25aa1def502a7df","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm && npm run build:browser","clean":"rm -rf dist","prepare":"npm run build","lint:fix":"eslint . --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","test:watch":"vitest","build:types":"tsc -p tsconfig.types.json","build:browser":"node esbuild.browser.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"11.8.0","description":"Core cryptographic utilities for Nostr protocol","directories":{},"_nodeVersion":"24.13.1","dependencies":{"pino":"^8.21.0","util":"^0.12.5","assert":"^2.1.0","bech32":"^2.0.0","buffer":"^6.0.3","@scure/base":"^2.0.0","pino-pretty":"^10.3.1","@noble/curves":"^1.9.7","@noble/hashes":"^1.8.0","vm-browserify":"^1.1.2","@noble/ciphers":"^2.1.1","path-browserify":"^1.0.1","stream-browserify":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","vitest":"^3.2.4","esbuild":"^0.27.3","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^20.19.33","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.5.2_1772485372490_0.5968118983911777","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"nostr-crypto-utils","version":"0.5.3","keywords":["nostr","crypto","cryptography","utilities","typescript"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.5.3","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"9d152bb23b6ad386ebec64c47b3a3292da37935f","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.5.3.tgz","fileCount":362,"integrity":"sha512-O/3MVo4OHFFcHtm5A22t29u2+tZ0IyBNXMXuycnAfTFh4GZnLilvI2O4akcRr7h8CFkJioBDiHpI754sBHs84Q==","signatures":[{"sig":"MEUCIQD88C9LoxiENvqAMKQZbICJQX2fKpmEzv3H5U8fjui1xAIgH1vDefNTgoeBmNkPVxl48or1Pso+2rlMkAtwc46EVFU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3609067},"main":"./dist/cjs/index.js","type":"commonjs","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./nip44":{"types":"./dist/types/nips/nip-44.d.ts","import":"./dist/esm/nips/nip-44.js","default":"./dist/cjs/nips/nip-44.js","require":"./dist/cjs/nips/nip-44.js"},"./nip46":{"types":"./dist/types/nips/nip-46.d.ts","import":"./dist/esm/nips/nip-46.js","default":"./dist/cjs/nips/nip-46.js","require":"./dist/cjs/nips/nip-46.js"},"./nip49":{"types":"./dist/types/nips/nip-49.d.ts","import":"./dist/esm/nips/nip-49.js","default":"./dist/cjs/nips/nip-49.js","require":"./dist/cjs/nips/nip-49.js"}},"gitHead":"f761a50fb0ae0892a7d93e576a905f563cdeacca","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm && npm run build:browser","clean":"rm -rf dist","prepare":"npm run build","lint:fix":"eslint . --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","test:watch":"vitest","build:types":"tsc -p tsconfig.types.json","build:browser":"node esbuild.browser.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"11.8.0","description":"Core cryptographic utilities for Nostr protocol","directories":{},"_nodeVersion":"24.13.1","dependencies":{"pino":"^8.21.0","util":"^0.12.5","assert":"^2.1.0","bech32":"^2.0.0","buffer":"^6.0.3","@scure/base":"^2.0.0","pino-pretty":"^10.3.1","@noble/curves":"^1.9.7","@noble/hashes":"^1.8.0","vm-browserify":"^1.1.2","@noble/ciphers":"^2.1.1","path-browserify":"^1.0.1","stream-browserify":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","vitest":"^3.2.4","esbuild":"^0.27.3","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^20.19.33","@vitest/coverage-v8":"^3.2.4","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.5.3_1772583138337_0.019270376431889558","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"nostr-crypto-utils","version":"0.6.0","keywords":["nostr","crypto","cryptography","utilities","typescript"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.6.0","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"24aa3266890a15b8590e2aae7508eafd772894d6","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.6.0.tgz","fileCount":362,"integrity":"sha512-GCmZhl0qhWb4ZQUf+IeGzgbM2tLMhi/FHM/s2lDWgfTbF5VjlTg0hVpMQetdFEmJ5LVQCdlX/Sn6Px1YY5IPMg==","signatures":[{"sig":"MEUCICfQ97tlRPT83kFj6bXwkeSmruEhr3A/zGS37Z2JLfTCAiEA4xyh6nXIucUqEgGBJJtqTu7iBxloYX6Hgs+zDY/qdO0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3437771},"main":"./dist/cjs/index.js","type":"commonjs","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./nip44":{"types":"./dist/types/nips/nip-44.d.ts","import":"./dist/esm/nips/nip-44.js","default":"./dist/cjs/nips/nip-44.js","require":"./dist/cjs/nips/nip-44.js"},"./nip46":{"types":"./dist/types/nips/nip-46.d.ts","import":"./dist/esm/nips/nip-46.js","default":"./dist/cjs/nips/nip-46.js","require":"./dist/cjs/nips/nip-46.js"},"./nip49":{"types":"./dist/types/nips/nip-49.d.ts","import":"./dist/esm/nips/nip-49.js","default":"./dist/cjs/nips/nip-49.js","require":"./dist/cjs/nips/nip-49.js"}},"gitHead":"c3dd0d2234a40e7474879379ff3ed0641b6dadbd","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm && npm run build:browser","clean":"rm -rf dist","prepare":"npm run build","lint:fix":"eslint . --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","test:watch":"vitest","build:types":"tsc -p tsconfig.types.json","build:browser":"node esbuild.browser.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"11.8.0","description":"Core cryptographic utilities for Nostr protocol","directories":{},"_nodeVersion":"24.13.1","dependencies":{"pino":"^10.3.1","util":"^0.12.5","assert":"^2.1.0","bech32":"^2.0.0","buffer":"^6.0.3","@scure/base":"^2.0.0","pino-pretty":"^13.1.3","@noble/curves":"^2.0.1","@noble/hashes":"^2.0.1","vm-browserify":"^1.1.2","@noble/ciphers":"^2.1.1","path-browserify":"^1.0.1","stream-browserify":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","vitest":"^4.0.18","esbuild":"^0.27.3","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.15.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.6.0_1772824567598_0.595757095816789","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"nostr-crypto-utils","version":"0.7.0","keywords":["nostr","crypto","cryptography","utilities","typescript"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.7.0","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"6b109a847b78b238b055e64996c71eb882adc761","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.7.0.tgz","fileCount":362,"integrity":"sha512-LKh8Ax7FCuo59uwqo7Tvk9CBMhshgJOoibENIlXmKYVddLalyAIgfA86GYcdtE+M0BjlFSYgUxXXAg62QutB2w==","signatures":[{"sig":"MEQCICrvR1WNQuYrVvqWe2YGkjYX43H+zJzqqcH7dx1kssIzAiA56bN5Mi83q6RFYZdJzE6/xPOKr53Gcgn0zPnjUWMenQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3523611},"main":"./dist/cjs/index.js","type":"commonjs","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./nip44":{"types":"./dist/types/nips/nip-44.d.ts","import":"./dist/esm/nips/nip-44.js","default":"./dist/cjs/nips/nip-44.js","require":"./dist/cjs/nips/nip-44.js"},"./nip46":{"types":"./dist/types/nips/nip-46.d.ts","import":"./dist/esm/nips/nip-46.js","default":"./dist/cjs/nips/nip-46.js","require":"./dist/cjs/nips/nip-46.js"},"./nip49":{"types":"./dist/types/nips/nip-49.d.ts","import":"./dist/esm/nips/nip-49.js","default":"./dist/cjs/nips/nip-49.js","require":"./dist/cjs/nips/nip-49.js"}},"gitHead":"c3dd0d2234a40e7474879379ff3ed0641b6dadbd","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm && npm run build:browser","clean":"rm -rf dist","prepare":"npm run build","lint:fix":"eslint . --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","test:watch":"vitest","build:types":"tsc -p tsconfig.types.json","build:browser":"node esbuild.browser.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"11.8.0","description":"Core cryptographic utilities for Nostr protocol","directories":{},"_nodeVersion":"24.13.1","dependencies":{"pino":"^10.3.1","util":"^0.12.5","assert":"^2.1.0","bech32":"^2.0.0","buffer":"^6.0.3","@scure/base":"^2.0.0","pino-pretty":"^13.1.3","@noble/curves":"^2.0.1","@noble/hashes":"^2.0.1","vm-browserify":"^1.1.2","@noble/ciphers":"^2.1.1","path-browserify":"^1.0.1","stream-browserify":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","vitest":"^4.0.18","esbuild":"^0.27.3","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.15.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.7.0_1772992601535_0.327495112948581","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"nostr-crypto-utils","version":"0.7.1","keywords":["nostr","crypto","cryptography","utilities","typescript"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.7.1","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"4df205f927f250dc2b6c3c0cedb76083d30cc3e3","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.7.1.tgz","fileCount":362,"integrity":"sha512-S+dblzY1FZ9bVQGBkQ3kURtKx/Ql5+CA3f/NA9YxNlyjO940KnN7s5Tm3mjHKYdZyfqRY7zhnDnsSYrlPuxFjA==","signatures":[{"sig":"MEYCIQD4a/G+deDUAOoV1+AdiB1TCQ6A+Wz4AvsKHAetVt1UlQIhAKXN885x7lc82JpDSoccB2yqvyCUEXmH517kFracoTtY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3523611},"main":"./dist/cjs/index.js","type":"commonjs","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./nip44":{"types":"./dist/types/nips/nip-44.d.ts","import":"./dist/esm/nips/nip-44.js","default":"./dist/cjs/nips/nip-44.js","require":"./dist/cjs/nips/nip-44.js"},"./nip46":{"types":"./dist/types/nips/nip-46.d.ts","import":"./dist/esm/nips/nip-46.js","default":"./dist/cjs/nips/nip-46.js","require":"./dist/cjs/nips/nip-46.js"},"./nip49":{"types":"./dist/types/nips/nip-49.d.ts","import":"./dist/esm/nips/nip-49.js","default":"./dist/cjs/nips/nip-49.js","require":"./dist/cjs/nips/nip-49.js"}},"gitHead":"9e176cca5067f652b295fcd828643fc805acd931","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm && npm run build:browser","clean":"rm -rf dist","prepare":"npm run build","lint:fix":"eslint . --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","test:watch":"vitest","build:types":"tsc -p tsconfig.types.json","build:browser":"node esbuild.browser.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"11.8.0","description":"Core cryptographic utilities for Nostr protocol","directories":{},"_nodeVersion":"24.13.1","dependencies":{"pino":"^10.3.1","util":"^0.12.5","assert":"^2.1.0","bech32":"^2.0.0","buffer":"^6.0.3","@scure/base":"^2.0.0","pino-pretty":"^13.1.3","@noble/curves":"^2.0.1","@noble/hashes":"^2.0.1","vm-browserify":"^1.1.2","@noble/ciphers":"^2.1.1","path-browserify":"^1.0.1","stream-browserify":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.3","vitest":"^4.0.18","esbuild":"^0.27.3","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.15.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.7.1_1772999700527_0.4593955467420785","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"nostr-crypto-utils","version":"0.8.0","keywords":["nostr","crypto","cryptography","utilities","typescript"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.8.0","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"1680ec47ac4af75dc40e92c34c6e96019a842765","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.8.0.tgz","fileCount":373,"integrity":"sha512-pZwiogr1V438kmLzXmElpXEqfu764inNtmbcHTJKIvXEbN4XMMxYvmMKP4Bve6OzxxlqfxWi1mz7M6TkiOO04A==","signatures":[{"sig":"MEQCIC27A0RrWrA5c+n75zOSz8OB0tR3caX6kEK+lZvvwtVoAiBAbf0RqdSZE13bOodheS6AW1Nys40Bv3FUshvqgLZeCQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3602576},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./nip44":{"types":"./dist/types/nips/nip-44.d.ts","import":"./dist/esm/nips/nip-44.js","default":"./dist/cjs/nips/nip-44.js","require":"./dist/cjs/nips/nip-44.js"},"./nip46":{"types":"./dist/types/nips/nip-46.d.ts","import":"./dist/esm/nips/nip-46.js","default":"./dist/cjs/nips/nip-46.js","require":"./dist/cjs/nips/nip-46.js"},"./nip49":{"types":"./dist/types/nips/nip-49.d.ts","import":"./dist/esm/nips/nip-49.js","default":"./dist/cjs/nips/nip-49.js","require":"./dist/cjs/nips/nip-49.js"}},"gitHead":"6c5e35938526563a5f53d20d8947adb296b7258b","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm && npm run build:browser","clean":"rm -rf dist","prepare":"npm run build","lint:fix":"eslint . --fix","build:cjs":"tsc -p tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json","build:esm":"tsc -p tsconfig.esm.json","test:watch":"vitest","build:types":"tsc -p tsconfig.types.json","build:browser":"node esbuild.browser.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"11.8.0","description":"Core cryptographic utilities for Nostr protocol","directories":{},"_nodeVersion":"24.13.1","dependencies":{"pino":"^10.3.1","util":"^0.12.5","assert":"^2.1.0","bech32":"^2.0.0","buffer":"^6.0.3","@scure/base":"^2.0.0","pino-pretty":"^13.1.3","@noble/curves":"^2.0.1","@noble/hashes":"^2.0.1","vm-browserify":"^1.1.2","@noble/ciphers":"^2.1.1","path-browserify":"^1.0.1","stream-browserify":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.3","vitest":"^4.0.18","esbuild":"^0.27.3","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.15.0","@vitest/coverage-v8":"^4.0.18","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.8.0_1784491226898_0.9736326589070925","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"nostr-crypto-utils","version":"0.9.1","keywords":["nostr","crypto","cryptography","utilities","typescript","cloudflare-workers","edge","deno","browser","zero-dependency","ai-agent","agentic","sovereign-identity","nip-98","nip-17","nip-59"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.9.1","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"a06a6d81357ac70dbd36faac7d6edf7fa9d2781e","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.9.1.tgz","fileCount":406,"integrity":"sha512-/43IPMv5z4AumqHXtRm7oWAuTFNqoaa+l27Kkcuz1JUUG1bvIgj3rVJ/ZX4sSC9pBJYow+KdCCUyPCdceX/Iug==","signatures":[{"sig":"MEUCIQDv8p07o51ZYMj0Dvm06ylmYUNw/AlQdm4qdmoJA+v/NQIgc/8aBRd/De4JMPX+DhMf4JHD1yy6wzudO7rvez2FOGQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4775253},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./nip17":{"types":"./dist/types/nips/nip-17.d.ts","import":"./dist/esm/nips/nip-17.js","default":"./dist/cjs/nips/nip-17.js","require":"./dist/cjs/nips/nip-17.js"},"./nip44":{"types":"./dist/types/nips/nip-44.d.ts","import":"./dist/esm/nips/nip-44.js","default":"./dist/cjs/nips/nip-44.js","require":"./dist/cjs/nips/nip-44.js"},"./nip46":{"types":"./dist/types/nips/nip-46.d.ts","import":"./dist/esm/nips/nip-46.js","default":"./dist/cjs/nips/nip-46.js","require":"./dist/cjs/nips/nip-46.js"},"./nip49":{"types":"./dist/types/nips/nip-49.d.ts","import":"./dist/esm/nips/nip-49.js","default":"./dist/cjs/nips/nip-49.js","require":"./dist/cjs/nips/nip-49.js"},"./nip59":{"types":"./dist/types/nips/nip-59.d.ts","import":"./dist/esm/nips/nip-59.js","default":"./dist/cjs/nips/nip-59.js","require":"./dist/cjs/nips/nip-59.js"},"./nip98":{"types":"./dist/types/nips/nip-98.d.ts","import":"./dist/esm/nips/nip-98.js","default":"./dist/cjs/nips/nip-98.js","require":"./dist/cjs/nips/nip-98.js"}},"gitHead":"d07b38890a07ccee069d5faa541f28f0d822f6a0","scripts":{"docs":"typedoc","lint":"eslint .","test":"vitest run","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm && npm run build:browser","clean":"rm -rf dist","prepare":"npm run build","lint:fix":"eslint . --fix","build:cjs":"tsc -p tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json","build:esm":"tsc -p tsconfig.esm.json","docs:watch":"typedoc --watch","test:watch":"vitest","build:types":"tsc -p tsconfig.types.json","build:browser":"node esbuild.browser.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"11.8.0","description":"Core cryptographic utilities for Nostr protocol — edge-native (Cloudflare Workers / Deno / browser), zero non-crypto dependencies","directories":{},"_nodeVersion":"24.13.1","dependencies":{"bech32":"^2.0.0","@scure/base":"^2.0.0","@noble/curves":"^2.0.1","@noble/hashes":"^2.0.1","@noble/ciphers":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.3","vitest":"^4.0.18","esbuild":"^0.27.3","typedoc":"^0.28.19","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^22.15.0","@vitest/coverage-v8":"^4.0.18","typedoc-plugin-markdown":"^4.12.0","@typescript-eslint/parser":"^8.56.0","@typescript-eslint/eslint-plugin":"^8.56.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.9.1_1784494278599_0.4213879978432249","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"nostr-crypto-utils","version":"0.9.2","keywords":["nostr","crypto","cryptography","utilities","typescript","cloudflare-workers","edge","deno","browser","zero-dependency","ai-agent","agentic","sovereign-identity","nip-98","nip-17","nip-59"],"author":{"name":"vveerrgg"},"license":"MIT","_id":"nostr-crypto-utils@0.9.2","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"dist":{"shasum":"4c02cca4b24e07c401a828ed1deef55d46e513b7","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.9.2.tgz","fileCount":406,"integrity":"sha512-5NWZJDz8ySaa59JMBVwRYYdpjdO322FOCP0w0S5aWv3YAM6cG46v0FQ3GsYm2vIyhCtLr0RgiDzGsl5gy5UaQA==","signatures":[{"sig":"MEQCIAV+By4+/57WdX+yHq464XM/Kb4daEehNll7a0Go8Zx3AiAH3wu9Nm5rrMfGQuo/wsl3kocYOJaJmJFsN+TRJM0DgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6027674},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./nip17":{"types":"./dist/types/nips/nip-17.d.ts","import":"./dist/esm/nips/nip-17.js","default":"./dist/cjs/nips/nip-17.js","require":"./dist/cjs/nips/nip-17.js"},"./nip44":{"types":"./dist/types/nips/nip-44.d.ts","import":"./dist/esm/nips/nip-44.js","default":"./dist/cjs/nips/nip-44.js","require":"./dist/cjs/nips/nip-44.js"},"./nip46":{"types":"./dist/types/nips/nip-46.d.ts","import":"./dist/esm/nips/nip-46.js","default":"./dist/cjs/nips/nip-46.js","require":"./dist/cjs/nips/nip-46.js"},"./nip49":{"types":"./dist/types/nips/nip-49.d.ts","import":"./dist/esm/nips/nip-49.js","default":"./dist/cjs/nips/nip-49.js","require":"./dist/cjs/nips/nip-49.js"},"./nip59":{"types":"./dist/types/nips/nip-59.d.ts","import":"./dist/esm/nips/nip-59.js","default":"./dist/cjs/nips/nip-59.js","require":"./dist/cjs/nips/nip-59.js"},"./nip98":{"types":"./dist/types/nips/nip-98.d.ts","import":"./dist/esm/nips/nip-98.js","default":"./dist/cjs/nips/nip-98.js","require":"./dist/cjs/nips/nip-98.js"}},"gitHead":"631947dfcf06e4f47aeeb411ebdf3d85eca8268c","scripts":{"docs":"typedoc","lint":"eslint .","test":"vitest run","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm && npm run build:browser","clean":"rm -rf dist","prepare":"npm run build","lint:fix":"eslint . --fix","build:cjs":"tsc -p tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json","build:esm":"tsc -p tsconfig.esm.json","docs:watch":"typedoc --watch","test:watch":"vitest","build:types":"tsc -p tsconfig.types.json","build:browser":"node esbuild.browser.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"repository":{"url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git","type":"git"},"_npmVersion":"11.8.0","description":"Core cryptographic utilities for Nostr protocol — edge-native (Cloudflare Workers / Deno / browser), zero non-crypto dependencies","directories":{},"_nodeVersion":"24.13.1","dependencies":{"bech32":"^2.0.0","@scure/base":"^2.2.0","@noble/curves":"^2.2.0","@noble/hashes":"^2.2.0","@noble/ciphers":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.7.0","vitest":"^4.1.10","esbuild":"^0.28.1","typedoc":"^0.28.20","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^26.1.1","@vitest/coverage-v8":"^4.1.10","typedoc-plugin-markdown":"^4.12.0","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0"},"_npmOperationalInternal":{"tmp":"tmp/nostr-crypto-utils_0.9.2_1784679912221_0.45964443102745856","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"nostr-crypto-utils","version":"0.9.3","description":"Core cryptographic utilities for Nostr protocol — edge-native (Cloudflare Workers / Deno / browser), zero non-crypto dependencies","type":"module","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js","default":"./dist/cjs/index.js"},"./nip44":{"types":"./dist/types/nips/nip-44.d.ts","import":"./dist/esm/nips/nip-44.js","require":"./dist/cjs/nips/nip-44.js","default":"./dist/cjs/nips/nip-44.js"},"./nip46":{"types":"./dist/types/nips/nip-46.d.ts","import":"./dist/esm/nips/nip-46.js","require":"./dist/cjs/nips/nip-46.js","default":"./dist/cjs/nips/nip-46.js"},"./nip49":{"types":"./dist/types/nips/nip-49.d.ts","import":"./dist/esm/nips/nip-49.js","require":"./dist/cjs/nips/nip-49.js","default":"./dist/cjs/nips/nip-49.js"},"./nip59":{"types":"./dist/types/nips/nip-59.d.ts","import":"./dist/esm/nips/nip-59.js","require":"./dist/cjs/nips/nip-59.js","default":"./dist/cjs/nips/nip-59.js"},"./nip17":{"types":"./dist/types/nips/nip-17.d.ts","import":"./dist/esm/nips/nip-17.js","require":"./dist/cjs/nips/nip-17.js","default":"./dist/cjs/nips/nip-17.js"},"./nip98":{"types":"./dist/types/nips/nip-98.d.ts","import":"./dist/esm/nips/nip-98.js","require":"./dist/cjs/nips/nip-98.js","default":"./dist/cjs/nips/nip-98.js"}},"scripts":{"build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm && npm run build:browser","build:types":"tsc -p tsconfig.types.json","build:cjs":"tsc -p tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json","build:esm":"tsc -p tsconfig.esm.json","build:browser":"node esbuild.browser.mjs","docs":"typedoc","docs:watch":"typedoc --watch","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","lint":"eslint .","lint:fix":"eslint . --fix","clean":"rm -rf dist","prepare":"npm run build"},"keywords":["nostr","crypto","cryptography","utilities","typescript","cloudflare-workers","edge","deno","browser","zero-dependency","ai-agent","agentic","sovereign-identity","nip-98","nip-17","nip-59"],"author":{"name":"vveerrgg"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git"},"bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","dependencies":{"@noble/ciphers":"^2.2.0","@noble/curves":"^2.2.0","@noble/hashes":"^2.2.0","@scure/base":"^2.2.0","bech32":"^2.0.0"},"devDependencies":{"@eslint/js":"^10.0.1","@types/node":"^26.1.1","@typescript-eslint/eslint-plugin":"^8.65.0","@typescript-eslint/parser":"^8.65.0","@vitest/coverage-v8":"^4.1.10","esbuild":"^0.28.1","eslint":"^10.7.0","typedoc":"^0.28.20","typedoc-plugin-markdown":"^4.12.0","typescript":"^5.9.3","vitest":"^4.1.10"},"engines":{"node":">=18.0.0"},"gitHead":"5c49c04171dd29c80280c88ebfda9be01bc30229","_id":"nostr-crypto-utils@0.9.3","_nodeVersion":"24.13.1","_npmVersion":"11.8.0","dist":{"integrity":"sha512-ucVu2Fx78CRk4u8g1rjind1BqmnbFAce5FWn+ZE+LAR59Qf3Q16G51kLGYIO2f3nPmcars9Jg8mGRHcn6hZPlw==","shasum":"ea03cd12feba174c0ccfbe04fec91fc691fd0621","tarball":"https://registry.npmjs.org/nostr-crypto-utils/-/nostr-crypto-utils-0.9.3.tgz","fileCount":407,"unpackedSize":6031949,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC23LgyMPp9HEDclwjw73qzCq1yG98Ri1Z0dIw4+e1/6QIgE0E7K9DRKsQEIqwBObXLqL7alwyaTIXCGuHcOl+t6Yw="}]},"_npmUser":{"name":"vveerrgg","email":"vergel@humanjava.com"},"directories":{},"maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nostr-crypto-utils_0.9.3_1786173017951_0.08676481307793549"},"_hasShrinkwrap":false}},"time":{"created":"2024-12-06T19:16:19.506Z","modified":"2026-08-08T07:10:18.327Z","0.1.4":"2024-12-06T19:16:19.717Z","0.1.5":"2024-12-06T19:46:57.374Z","0.1.6":"2024-12-15T02:39:29.199Z","0.2.0":"2024-12-17T01:03:58.054Z","0.3.0":"2024-12-28T16:36:22.819Z","0.4.0":"2024-12-28T22:56:49.609Z","0.4.1":"2024-12-29T22:51:06.030Z","0.4.2":"2024-12-30T00:23:51.477Z","0.4.3":"2024-12-30T01:42:39.301Z","0.4.4":"2024-12-30T05:49:30.967Z","0.4.5":"2024-12-30T06:19:10.722Z","0.4.6":"2024-12-30T15:21:56.685Z","0.4.8":"2025-01-02T05:11:00.166Z","0.4.9":"2025-01-02T19:27:51.561Z","0.4.10":"2025-01-02T21:02:56.491Z","0.4.11":"2025-01-12T15:56:19.320Z","0.4.12":"2025-01-12T23:20:57.495Z","0.4.13":"2025-01-15T04:42:14.475Z","0.4.14":"2025-01-24T02:47:07.548Z","0.4.15":"2025-01-28T02:17:21.495Z","0.4.16":"2026-02-19T19:28:51.261Z","0.4.17":"2026-02-20T17:39:42.287Z","0.5.0":"2026-02-21T08:08:26.549Z","0.4.18":"2026-02-27T18:44:52.981Z","0.5.1":"2026-03-02T18:36:55.325Z","0.5.2":"2026-03-02T21:02:52.687Z","0.5.3":"2026-03-04T00:12:18.552Z","0.6.0":"2026-03-06T19:16:07.777Z","0.7.0":"2026-03-08T17:56:41.751Z","0.7.1":"2026-03-08T19:55:00.737Z","0.8.0":"2026-07-19T20:00:27.130Z","0.9.1":"2026-07-19T20:51:18.788Z","0.9.2":"2026-07-22T00:25:12.444Z","0.9.3":"2026-08-08T07:10:18.181Z"},"bugs":{"url":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues"},"author":{"name":"vveerrgg"},"license":"MIT","homepage":"https://github.com/HumanjavaEnterprises/nostr-crypto-utils#readme","keywords":["nostr","crypto","cryptography","utilities","typescript","cloudflare-workers","edge","deno","browser","zero-dependency","ai-agent","agentic","sovereign-identity","nip-98","nip-17","nip-59"],"repository":{"type":"git","url":"git+https://github.com/HumanjavaEnterprises/nostr-crypto-utils.git"},"description":"Core cryptographic utilities for Nostr protocol — edge-native (Cloudflare Workers / Deno / browser), zero non-crypto dependencies","maintainers":[{"name":"vveerrgg","email":"vergel@humanjava.com"}],"readme":"# Nostr Crypto Utils\n\nA comprehensive cryptographic utility library for Nostr protocol implementation, focusing on core security operations and cross-platform compatibility.\n\n> **Edge-native (v0.8.0+):** runs unmodified on **Cloudflare Workers / Deno / browsers** — 5 audited crypto-only dependencies (`@noble/*`, `@scure/base`, `bech32`), no Node polyfills, no logging deps.\n>\n> **Building an agent?** This is Level 0 of a sovereign stack — give your AI its own\n> cryptographic identity, not a shared API key. See **[AGENTS.md](./AGENTS.md)** for agent\n> integration (Hermes / OpenClaw) and **[llms.txt](./llms.txt)** for a machine-readable map.\n\n## Overview\n\nThis library provides essential cryptographic operations and utilities required for Nostr protocol implementation, with a focus on:\n\n- Schnorr signatures for the Nostr protocol\n- Key management and validation\n- Event signing and verification\n- HTTP Auth (NIP-98)\n- Gift Wrap (NIP-59) and Private Direct Messages (NIP-17)\n- Versioned encrypted payloads (NIP-44)\n- Remote signing / Nostr Connect (NIP-46)\n- Private key encryption / ncryptsec (NIP-49)\n- Bech32-encoded entities (NIP-19)\n- Authentication protocol (NIP-42)\n- Encrypted direct messages (NIP-04 — _deprecated_, use NIP-17)\n- Delegated event signing (NIP-26 — _deprecated_, use NIP-46)\n\n## Core Features\n\n### Cryptographic Operations\n- Key generation and validation using Schnorr signatures\n- Event signing and verification (NIP-01 compliant)\n- NIP-04 encryption/decryption\n- Shared secret computation\n- Delegation token handling (NIP-26)\n- Authentication protocol (NIP-42)\n\n### Encoding Utilities\n- Hex encoding/decoding\n- Base64 encoding/decoding\n- UTF-8 encoding/decoding\n- Binary data handling\n- Bech32 encoding/decoding (NIP-19)\n\n### Protocol Support\n- NIP-01: Basic protocol flow\n- NIP-17: Private Direct Messages\n- NIP-19: Bech32-Encoded Entities\n- NIP-42: Authentication Protocol\n- NIP-44: Versioned Encrypted Payloads\n- NIP-46: Nostr Connect (Remote Signing)\n- NIP-49: Private Key Encryption (ncryptsec)\n- NIP-59: Gift Wrap\n- NIP-98: HTTP Auth\n- NIP-04: Encrypted Direct Messages _(deprecated → NIP-17)_\n- NIP-26: Delegated Event Signing _(deprecated → NIP-46)_\n\n## Project Structure\n\n```\n├── src/\n│   ├── crypto.ts           # Core cryptographic operations\n│   ├── encoding/           # Encoding utilities\n│   │   ├── base64.ts\n│   │   ├── hex.ts\n│   │   └── index.ts\n│   ├── types/             # Type definitions\n│   │   ├── base.ts\n│   │   ├── messages.ts\n│   │   ├── protocol.ts\n│   │   └── guards.ts\n│   ├── nips/              # NIP implementations\n│   └── utils/             # Utility functions\n```\n\n## Technical Requirements\n\n- **Edge-native**: runs unmodified on Cloudflare Workers, Deno, browsers, and Node.js 18+ — no Node polyfills required\n- Supports both ESM and CJS formats, with per-NIP subpath exports (`nostr-crypto-utils/nip98`, etc.)\n- TypeScript-first with full type definitions\n- 5 runtime dependencies, all audited and crypto-only (`@noble/ciphers`, `@noble/curves`, `@noble/hashes`, `@scure/base`, `bech32`)\n\n[![npm version](https://badge.fury.io/js/nostr-crypto-utils.svg)](https://www.npmjs.com/package/nostr-crypto-utils)\n[![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-%230074c1.svg)](http://www.typescriptlang.org/)\n[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/HumanjavaEnterprises/nostr-crypto-utils/blob/main/LICENSE)\n[![Documentation](https://img.shields.io/badge/docs-TypeDoc-blue.svg)](https://humanjavaenterprises.github.io/nostr-crypto-utils/)\n[![Build Status](https://img.shields.io/github/workflow/status/HumanjavaEnterprises/nostr-crypto-utils/CI)](https://github.com/HumanjavaEnterprises/nostr-crypto-utils/actions)\n[![Coverage Status](https://coveralls.io/repos/github/HumanjavaEnterprises/nostr-crypto-utils/badge.svg?branch=main)](https://coveralls.io/github/HumanjavaEnterprises/nostr-crypto-utils?branch=main)\n[![Known Vulnerabilities](https://snyk.io/test/github/HumanjavaEnterprises/nostr-crypto-utils/badge.svg)](https://snyk.io/test/github/HumanjavaEnterprises/nostr-crypto-utils)\n\n> **Release note — v0.8.0 (staged, pending publish).** This is the kernel of a\n> coordinated 2026-07 correctness pass across the Nostr library family. Every fix\n> in this release is verified against a shared known-answer vector set (NIP-44 v2 /\n> NIP-49 / NIP-19 TLV / BIP-340 deterministic-sign) so symmetric encode/decode bugs\n> can no longer hide in self-round-trip tests. The family dogfoods only its own\n> libraries — there is no upstream `nostr-tools` dependency. See\n> [CHANGELOG.md](CHANGELOG.md) for the full (breaking) details.\n\n## Security Notice\n\n⚠️ **Important**: This library handles cryptographic keys and operations that are critical for securing your Nostr identity and data. All cryptographic operations, including key generation, signing, and encryption, must be handled with appropriate security measures.\n\nIf you discover a security vulnerability, please follow our [Security Policy](SECURITY.md) and report it through [GitHub's Security Advisory feature](https://github.com/humanjavaenterprises/nostr-crypto-utils/security/advisories/new).\n\n### Dependency Vulnerability Status\n\nWe actively monitor and address security vulnerabilities in this codebase. **`npm audit --omit=dev` reports zero vulnerabilities** for this package — there are no known security issues in production dependencies.\n\nAny remaining `npm audit` findings are in development-only tooling (eslint, typescript-eslint, vitest, etc.) and stem from transitive dependencies with no upstream fix available. These are devDependencies that are never included in the published package and pose no risk to consumers of this library. We monitor upstream fixes and update promptly when they become available.\n\n## Why Choose nostr-crypto-utils?\n\n- **Edge-native**: zero Node polyfills — deploys as-is to Cloudflare Workers, Deno, and browsers\n- **Lean, audited dependencies**: only 5 crypto-only runtime deps (`@noble/*`, `@scure/base`, `bech32`) — small attack surface, easy to audit\n- **Type-First**: Built from the ground up with TypeScript for maximum type safety\n- **Modular Design**: Per-NIP subpath exports — import only what you need\n- **Complementary**: Works seamlessly with nostr-nsec-seedphrase for complete key management\n- **Security Focused**: Strict validation and comprehensive test coverage (161 tests)\n\n## Features\n\n- **Complete NIP Compliance**: Implements all required cryptographic operations according to Nostr Implementation Possibilities (NIPs)\n- **Type Safety**: Full TypeScript support with comprehensive type definitions\n- **Event Handling**: Create, sign, and validate Nostr events\n- **Message Formatting**: Protocol-compliant message formatting for relay communication\n- **Encryption**: Versioned NIP-44 encryption, NIP-59 gift wrap, NIP-17 private DMs\n- **HTTP Auth**: NIP-98 signed-request auth (event + header build/verify, no transport)\n- **Validation**: Comprehensive validation for events, filters, and subscriptions\n- **Edge-Native**: Cloudflare Workers / Deno / browser / Node.js — no polyfills\n- **Lean Dependencies**: 5 audited crypto-only runtime dependencies\n\n## Supported NIPs\n\nThis library implements the following Nostr Implementation Possibilities (NIPs):\n\n| NIP | Title | Description | Status |\n|-----|-------|-------------|---------|\n| [NIP-01](https://github.com/nostr-protocol/nips/blob/master/01.md) | Basic Protocol Flow Description | Core protocol functionality including event creation, signing, and verification | ✅ Complete |\n| [NIP-17](https://github.com/nostr-protocol/nips/blob/master/17.md) | Private Direct Messages | Encrypted chat (`kind 14`) over NIP-44 + NIP-59 gift wrap | ✅ Complete |\n| [NIP-19](https://github.com/nostr-protocol/nips/blob/master/19.md) | bech32-encoded Entities | Human-readable encoding for keys, events, and other entities | ✅ Complete |\n| [NIP-42](https://github.com/nostr-protocol/nips/blob/master/42.md) | Authentication | Client-relay authentication protocol | ✅ Complete |\n| [NIP-44](https://github.com/nostr-protocol/nips/blob/master/44.md) | Versioned Encrypted Payloads | Modern encryption (v2: ChaCha20 + HKDF + HMAC) | ✅ Complete |\n| [NIP-46](https://github.com/nostr-protocol/nips/blob/master/46.md) | Nostr Connect (Remote Signing) | Protocol layer for remote signing via bunker | ✅ Complete |\n| [NIP-49](https://github.com/nostr-protocol/nips/blob/master/49.md) | Private Key Encryption | ncryptsec password-encrypted key storage | ✅ Complete |\n| [NIP-59](https://github.com/nostr-protocol/nips/blob/master/59.md) | Gift Wrap | Rumor → seal (`kind 13`) → gift wrap (`kind 1059`/`21059`) over NIP-44 | ✅ Complete |\n| [NIP-98](https://github.com/nostr-protocol/nips/blob/master/98.md) | HTTP Auth | Build/verify `kind 27235` events + `Authorization: Nostr` header (no HTTP performed) | ✅ Complete |\n| [NIP-04](https://github.com/nostr-protocol/nips/blob/master/04.md) | Encrypted Direct Messages | Legacy DMs — **deprecated** upstream, prefer NIP-17 | ⚠️ Deprecated |\n| [NIP-26](https://github.com/nostr-protocol/nips/blob/master/26.md) | Delegated Event Signing | **Deprecated** upstream, prefer NIP-46 for acting on behalf of a key | ⚠️ Deprecated |\n\n### NIP-01 Features\n- Event creation and serialization\n- Event signing and verification\n- Event ID calculation\n- Basic protocol validation\n\n### NIP-04 Features\n- End-to-end encrypted direct messages\n- Secure key exchange\n- Message encryption/decryption\n\n### NIP-19 Features\n- Bech32 encoding/decoding for:\n  - Public keys (`npub`)\n  - Private keys (`nsec`)\n  - Note IDs (`note`)\n  - Profile references (`nprofile`)\n  - Event references (`nevent`)\n  - Addressable entities (`naddr`)\n  - Relay URLs (`nrelay`)\n- Comprehensive validation and error handling\n- Support for multiple relay URLs\n- TLV (Type-Length-Value) encoding for complex entities\n- Improved type exports and function accessibility (v0.4.5+)\n- Enhanced error messages and validation\n- Cross-platform compatibility guaranteed\n\n### NIP-19 Usage Examples\n\n```typescript\nimport { \n  npubEncode, \n  nsecEncode, \n  noteEncode, \n  nprofileEncode,\n  neventEncode,\n  naddrEncode,\n  nrelayEncode,\n  decode \n} from 'nostr-crypto-utils';\n\n// Encode a public key\nconst npub = npubEncode('7f3b6c2444c526fc7b3a48b0a1e38fb6a5a4062d4a097c9e96feb3c1df2f36d0');\n// npub1xtscya34g58tk0z6v2g0r6w5gpqrxdgkz9xeav\n\n// Encode a private key\nconst nsec = nsecEncode('7f3b6c2444c526fc7b3a48b0a1e38fb6a5a4062d4a097c9e96feb3c1df2f36d0');\n// nsec1xtscya34g58tk0z6v2g0r6w5gpqrxdgkz9xeav\n\n// Encode a note ID\nconst note = noteEncode('7f3b6c2444c526fc7b3a48b0a1e38fb6a5a4062d4a097c9e96feb3c1df2f36d0');\n// note1xtscya34g58tk0z6v2g0r6w5gpqrxdgkz9xeav\n\n// Encode a profile with multiple relays\nconst nprofile = nprofileEncode(\n  '7f3b6c2444c526fc7b3a48b0a1e38fb6a5a4062d4a097c9e96feb3c1df2f36d0',\n  ['wss://relay1.example.com', 'wss://relay2.example.com']\n);\n\n// Encode an event with author and kind\nconst nevent = neventEncode(\n  '7f3b6c2444c526fc7b3a48b0a1e38fb6a5a4062d4a097c9e96feb3c1df2f36d0',\n  ['wss://relay.example.com'],\n  '7f3b6c2444c526fc7b3a48b0a1e38fb6a5a4062d4a097c9e96feb3c1df2f36d0',\n  1\n);\n\n// Encode an addressable entity (NIP-33)\nconst naddr = naddrEncode(\n  '7f3b6c2444c526fc7b3a48b0a1e38fb6a5a4062d4a097c9e96feb3c1df2f36d0',\n  30023,\n  'my-article',\n  ['wss://relay.example.com']\n);\n\n// Encode a relay URL\nconst nrelay = nrelayEncode('wss://relay.example.com');\n\n// Decode any bech32-encoded entity\nconst decoded = decode(nprofile);\nconsole.log(decoded);\n// {\n//   type: 'nprofile',\n//   data: '7f3b6c2444c526fc7b3a48b0a1e38fb6a5a4062d4a097c9e96feb3c1df2f36d0',\n//   relays: ['wss://relay1.example.com', 'wss://relay2.example.com']\n// }\n\n// All functions include validation\ntry {\n  const invalidNpub = npubEncode('invalid-hex');\n} catch (error) {\n  console.error(error); // Error: Invalid hex string\n}\n```\n\n### NIP-44 Usage (Encrypted Payloads)\n\n```typescript\nimport { nip44 } from 'nostr-crypto-utils';\n// Or via subpath: import * as nip44 from 'nostr-crypto-utils/nip44';\n\n// Derive a conversation key from ECDH\nconst conversationKey = nip44.getConversationKey(myPrivKeyBytes, theirPubkeyHex);\n\n// Encrypt\nconst encrypted = nip44.encrypt('Hello!', conversationKey);\n\n// Decrypt\nconst plaintext = nip44.decrypt(encrypted, conversationKey);\n```\n\n### NIP-46 Usage (Remote Signing)\n\n```typescript\nimport { nip46 } from 'nostr-crypto-utils';\n// Or via subpath: import * as nip46 from 'nostr-crypto-utils/nip46';\n\n// Parse a bunker:// URI\nconst bunker = nip46.parseBunkerURI('bunker://pubkey...?relay=wss://relay.example.com&secret=abc');\n\n// Create a session (ephemeral keypair + NIP-44 conversation key)\nconst session = nip46.createSession(bunker.remotePubkey);\n\n// Build a request\nconst req = nip46.connectRequest(bunker.remotePubkey, bunker.secret);\n\n// Wrap into a kind 24133 encrypted event (ready to publish to relay)\nconst event = await nip46.wrapEvent(req, session, bunker.remotePubkey);\n\n// On receiving a response event, unwrap it\nconst response = nip46.unwrapEvent(responseEvent, session);\n\n// Create a filter for subscribing to responses\nconst filter = nip46.createResponseFilter(session.clientPubkey);\n```\n\n### NIP-49 Usage (ncryptsec Key Encryption)\n\n```typescript\nimport { nip49 } from 'nostr-crypto-utils';\n// Or via subpath: import * as nip49 from 'nostr-crypto-utils/nip49';\n\n// Encrypt a private key with a password\nconst ncryptsec = nip49.encrypt(secretKeyBytes, 'my-password');\n// Returns: 'ncryptsec1...'\n\n// Decrypt it back\nconst secretKey = nip49.decrypt(ncryptsec, 'my-password');\n```\n\n### NIP-98 Usage (HTTP Auth)\n\nBuilds and verifies the `kind 27235` auth event and the `Authorization: Nostr <base64>`\nheader. **No HTTP request is made** — you issue the request yourself, which keeps the\npackage edge-native. Ideal for authenticating requests to Nostr-native HTTP services.\n\n```typescript\nimport { nip98 } from 'nostr-crypto-utils';\n// Or via subpath: import * as nip98 from 'nostr-crypto-utils/nip98';\n\n// --- client side ---\nconst event = await nip98.createAuthEvent(\n  { url: 'https://api.example.com/v1/me', method: 'GET' },\n  privateKeyHex,\n);\nconst res = await fetch('https://api.example.com/v1/me', {\n  headers: { Authorization: nip98.toAuthHeader(event) },\n});\n\n// POST with a body — the body is hashed into a `payload` tag\nconst body = JSON.stringify({ name: 'alice' });\nconst postAuth = await nip98.createAuthEvent(\n  { url: 'https://api.example.com/v1/register', method: 'POST', payload: body },\n  privateKeyHex,\n);\n\n// --- server side (e.g. a Cloudflare Worker) ---\nconst incoming = nip98.fromAuthHeader(request.headers.get('Authorization'));\nconst result = await nip98.validateAuthEvent(incoming, {\n  url: request.url,\n  method: request.method,\n  body: await request.text(), // optional, checks the payload tag when present\n});\nif (!result.valid) return new Response(result.reason, { status: 401 });\nconst authedPubkey = incoming.pubkey;\n```\n\n### NIP-59 Usage (Gift Wrap)\n\nEncapsulates any event: a rumor (unsigned) is sealed (`kind 13`) and gift-wrapped\n(`kind 1059`, or ephemeral `kind 21059`) using NIP-44 encryption. Unwrapping verifies\nthe seal signature and enforces that the seal author equals the rumor author.\n\n```typescript\nimport { nip59 } from 'nostr-crypto-utils';\n// Or via subpath: import * as nip59 from 'nostr-crypto-utils/nip59';\n\n// Build a rumor and gift-wrap it to a recipient\nconst rumor = await nip59.createRumor({ kind: 1, content: 'hello' }, senderPubkeyHex);\nconst giftWrap = await nip59.wrapEvent(rumor, senderPrivkeyHex, recipientPubkeyHex);\n// giftWrap.kind === 1059, signed by a random one-time key, p-tagged to the recipient\n\n// Recipient unwraps it back to the rumor\nconst recovered = await nip59.unwrapEvent(giftWrap, recipientPrivkeyHex);\n// recovered.content === 'hello', recovered.pubkey === sender\n```\n\n### NIP-17 Usage (Private Direct Messages)\n\nEncrypted chat built on NIP-44 + NIP-59. `createDirectMessage` returns one gift wrap\nper recipient **plus** a copy addressed to the sender; publish each to the matching\nparty's DM inbox relays (NIP-17 `kind 10050`).\n\n```typescript\nimport { nip17 } from 'nostr-crypto-utils';\n// Or via subpath: import * as nip17 from 'nostr-crypto-utils/nip17';\n\n// Send a DM (also works for group rooms via multiple recipients)\nconst wraps = await nip17.createDirectMessage(senderPrivkeyHex, {\n  content: 'hey bob',\n  recipients: [bobPubkeyHex],\n  subject: 'dinner',          // optional\n});\nfor (const { recipient, giftWrap } of wraps) {\n  // publish giftWrap to `recipient`'s DM relays\n}\n\n// Read a received gift wrap into the kind-14 chat message\nconst message = await nip17.readDirectMessage(receivedGiftWrap, recipientPrivkeyHex);\n// message.kind === 14, message.content === 'hey bob'\n```\n\n### Type System\n\n#### Event Types\nThe library provides a comprehensive type system for Nostr events:\n\n```typescript\n// Create an unsigned event\nconst unsignedEvent: UnsignedNostrEvent = {\n  kind: NostrEventKind.TEXT_NOTE,\n  content: \"Hello Nostr!\",\n  tags: [],\n  created_at: Math.floor(Date.now() / 1000)\n};\n\n// Sign the event\nconst signedEvent = await signEvent(unsignedEvent, privateKey);\n```\n\n#### Authentication (NIP-42)\nSupport for NIP-42 authentication:\n\n```typescript\n// Create an auth event\nconst authEvent: UnsignedNostrEvent = {\n  kind: NostrEventKind.AUTH,\n  content: \"challenge-response\",\n  tags: [[\"challenge\", challenge]],\n  created_at: Math.floor(Date.now() / 1000)\n};\n\n// Sign and send the auth event\nconst signedAuthEvent = await signEvent(authEvent, privateKey);\n```\n\n#### Custom Tags (NIP-12)\nSupport for arbitrary tags:\n\n```typescript\n// Create a filter with custom tags\nconst filter: NostrFilter = {\n  kinds: [NostrEventKind.TEXT_NOTE],\n  \"#t\": [\"nostr\", \"crypto\"],  // Filter by custom tag\n  limit: 10\n};\n```\n\n### Quick Start\n\n### Installation\n```bash\nnpm install nostr-crypto-utils\n```\n\n### Basic Usage\n\n#### NIP-19 Encoding (Human-Readable Formats)\n```typescript\nimport { npubEncode, nsecEncode, noteEncode } from 'nostr-crypto-utils';\n\n// Convert a hex public key to npub format\nconst hexPubkey = '12xyl6w6aacmqa3gmmzwrr9m3u0ldx3dwqhczuascswvew9am9q4sfg99cx';\nconst npub = npubEncode(hexPubkey);\nconsole.log(npub); // npub1...\n\n// Convert a hex private key to nsec format\nconst hexPrivkey = 'your-hex-private-key';\nconst nsec = nsecEncode(hexPrivkey);\nconsole.log(nsec); // nsec1...\n\n// Convert an event ID to note format\nconst eventId = 'your-event-id';\nconst note = noteEncode(eventId);\nconsole.log(note); // note1...\n```\n\n#### Key Generation and Event Signing\n```typescript\nimport { generateKeyPair, createEvent, signEvent } from 'nostr-crypto-utils';\n\n// Generate a new key pair\nconst keyPair = generateKeyPair();\nconsole.log(keyPair.publicKey, keyPair.privateKey);\n\n// Create and sign an event\nconst event = createEvent({\n  pubkey: keyPair.publicKey,\n  kind: 1,\n  content: 'Hello Nostr!'\n});\nconst signedEvent = signEvent(event, keyPair.privateKey);\n```\n\n### Schnorr Signature Examples\n\nThe library provides robust support for Schnorr signatures, which are fundamental to Nostr's cryptographic operations. Here are some common use cases:\n\n#### Basic Message Signing\n\n```typescript\nimport { schnorrSign, schnorrVerify } from 'nostr-crypto-utils';\n\n// Sign a message\nconst message = 'Hello Nostr!';\nconst privateKey = 'your-private-key';\nconst signature = await schnorrSign(message, privateKey);\n\n// Verify the signature\nconst publicKey = 'corresponding-public-key';\nconst isValid = await schnorrVerify(signature, message, publicKey);\nconsole.log('Signature valid:', isValid); // true\n```\n\n#### Delegation Token Example (NIP-26)\n\n```typescript\nimport { schnorrSign } from 'nostr-crypto-utils';\n\n// Create a delegation token\nconst delegateePubkey = 'delegatee-public-key';\nconst delegatorPrivkey = 'delegator-private-key';\nconst conditions = {\n  kind: 1,  // Only allow text notes\n  until: Math.floor(Date.now() / 1000) + 86400 // 24 hours from now\n};\n\n// Format conditions string\nconst conditionsString = Object.entries(conditions)\n  .map(([key, value]) => `${key}=${value}`)\n  .sort()\n  .join('&');\n\n// Create and sign the delegation message\nconst message = `nostr:delegation:${delegateePubkey}:${conditionsString}`;\nconst token = await schnorrSign(message, delegatorPrivkey);\n```\n\nThese examples demonstrate the library's type-safe approach to Schnorr signatures, ensuring both security and ease of use.\n\n### Encrypted Direct Messages (NIP-04)\n\n> ⚠️ **Deprecated.** NIP-04 is `unrecommended` upstream (it leaks metadata). For new\n> work use **[NIP-17 Private Direct Messages](#nip-17-usage-private-direct-messages)**\n> (NIP-44 encryption + NIP-59 gift wrap). NIP-04 remains only for legacy compatibility.\n>\n> **Breaking change in 0.8.0.** When you do use NIP-04, it now has a single canonical,\n> **synchronous** API with **branded key types**. The argument order is fixed, and passing\n> keys in the wrong order (or as plain strings) is a **compile error**:\n>\n> - `encryptMessage(message, senderPrivkey: PrivateKey, recipientPubkey: PublicKey): string`\n> - `decryptMessage(ciphertext, recipientPrivkey: PrivateKey, senderPubkey: PublicKey): string`\n>\n> Build the branded keys with `asPrivateKey(hex)` / `asPublicKey(hex)` (64-char hex /\n> 32-byte x-only). Real x-only Nostr pubkeys are accepted (no more \"Point of length 32\n> was invalid\"). The legacy `encrypt`/`decrypt` remain as deprecated back-compat wrappers.\n\nThe library provides robust support for encrypted direct messages following the NIP-04 specification:\n\n```typescript\nimport { encryptMessage, decryptMessage, asPrivateKey, asPublicKey } from 'nostr-crypto-utils';\n\n// Encrypting a direct message: (message, senderPrivkey, recipientPubkey)\nfunction createEncryptedDM(\n  content: string,\n  recipientPubkey: string,\n  senderPrivkey: string\n) {\n  const encryptedContent = encryptMessage(\n    content,\n    asPrivateKey(senderPrivkey),\n    asPublicKey(recipientPubkey),\n  );\n\n  return {\n    kind: 4, // NIP-04 Encrypted Direct Message\n    content: encryptedContent,\n    tags: [['p', recipientPubkey]],\n  };\n}\n\n// Decrypting a received message: (ciphertext, recipientPrivkey, senderPubkey)\nfunction decryptDM(\n  encryptedContent: string,\n  senderPubkey: string,\n  recipientPrivkey: string\n) {\n  return decryptMessage(\n    encryptedContent,\n    asPrivateKey(recipientPrivkey),\n    asPublicKey(senderPubkey),\n  );\n}\n```\n\n### Event Validation and Signature Verification\n\nThe library provides utilities for validating Nostr events and verifying signatures:\n\n```typescript\nimport { validateEvent, verifySignature } from 'nostr-crypto-utils';\nimport type { NostrEvent, SignedNostrEvent } from './types';\n\nasync function validateSignedMessage(event: NostrEvent): Promise<boolean> {\n  try {\n    // First validate the event structure\n    if (!validateEvent(event)) {\n      console.debug('Invalid event format');\n      return false;\n    }\n\n    // Then verify the signature\n    const isValid = await verifySignature(event as SignedNostrEvent);\n    if (!isValid) {\n      console.debug('Invalid signature');\n      return false;\n    }\n\n    return true;\n  } catch (error) {\n    console.error('Error validating signed message:', error);\n    return false;\n  }\n}\n```\n\nThese examples demonstrate real-world usage patterns from production Nostr applications, showcasing both the security features and ease of use of the library.\n\n### NIP-26 Features\n- Create delegation tokens\n- Sign events with delegation\n- Validate delegated events\n- Conditional delegations with:\n  - Time constraints\n  - Event kind restrictions\n  - Tag restrictions\n\n## Features and Capabilities\n\n| Feature                    | Status | Description                                           |\n|---------------------------|--------|-------------------------------------------------------|\n| Key Management            | ✅     | Generate, validate, and manage Nostr keypairs         |\n| Event Creation            | ✅     | Create and validate Nostr events                      |\n| Event Signing             | ✅     | Sign events with schnorr signatures                   |\n| Event Verification        | ✅     | Verify event signatures and validate event structure  |\n| Direct Messages (NIP-04)  | ✅     | Encrypt and decrypt direct messages                   |\n| Message Formatting        | ✅     | Format messages for relay communication               |\n| Type Safety              | ✅     | Full TypeScript support with strict typing           |\n| Browser Support          | ✅     | Works in modern browsers with Web Crypto API         |\n| Node.js Support         | ✅     | Full support for Node.js environments               |\n\n## Integration with nostr-nsec-seedphrase\n\nThis library is designed to work seamlessly with [nostr-nsec-seedphrase](https://github.com/HumanjavaEnterprises/nostr-nsec-seedphrase) to provide a complete solution for Nostr key management and cryptographic operations:\n\n```typescript\nimport { generateSeedPhrase } from 'nostr-nsec-seedphrase';\nimport { createTextNoteEvent, signEvent } from 'nostr-crypto-utils';\n\n// Generate keys using nostr-nsec-seedphrase\nconst seedPhrase = generateSeedPhrase();\nconst keyPair = seedPhraseToKeyPair(seedPhrase);\n\n// Use nostr-crypto-utils for event creation and signing\nconst event = createTextNoteEvent({\n  content: 'Hello Nostr!',\n  pubkey: keyPair.publicKey,\n  created_at: Math.floor(Date.now() / 1000)\n});\n\nconst signedEvent = signEvent(event, keyPair.privateKey);\n```\n\nTogether, these libraries provide:\n- Secure key generation and recovery through seed phrases\n- Type-safe cryptographic operations\n- Comprehensive event handling\n- Minimal bundle size and dependencies\n\n## Delegate Token Creation (NIP-26)\n\n> ⚠️ **Deprecated.** NIP-26 is `unrecommended` upstream (\"adds unnecessary burden for\n> little gain\") and cannot revoke without time-bounding. For acting on behalf of a key,\n> prefer **NIP-46 remote signing**. The following remains for legacy compatibility.\n\nYou can use this library to create delegate tokens for use on web servers or other applications. This implements [NIP-26](https://github.com/nostr-protocol/nips/blob/master/26.md) for delegation of signing authority.\n\n### Basic Delegation Example\n\n```typescript\nimport { createDelegation, validateDelegation } from 'nostr-crypto-utils';\n\n// Create a delegation token (delegator's perspective)\nconst delegatorKeyPair = await generateKeyPair();\nconst delegateePubkey = 'npub1...'; // The public key you're delegating to\n\nconst delegation = await createDelegation({\n  delegatorPrivkey: delegatorKeyPair.privateKey,\n  delegateePubkey,\n  conditions: {\n    kind: 1,  // Only allow text notes\n    until: Math.floor(Date.now() / 1000) + 30 * 24 * 60 * 60  // 30 days\n  }\n});\n\n// Validate a delegation token (delegatee's perspective)\nconst isValid = await validateDelegation({\n  token: delegation.token,\n  delegatorPubkey: delegatorKeyPair.publicKey,\n  delegateePubkey,\n  kind: 1\n});\n```\n\n### Web Server Example\n\nHere's how to use delegation tokens in a web server context:\n\n```typescript\nimport { createEvent, signEventWithDelegation } from 'nostr-crypto-utils';\n\n// On your server, store these securely\nconst DELEGATE_PRIVKEY = 'nsec1...';  // Your server's private key\nconst DELEGATION_TOKEN = 'nostr:delegation:...';  // Token from the delegator\nconst DELEGATOR_PUBKEY = 'npub1...';  // Delegator's public key\n\n// Create and sign an event on behalf of the delegator\nconst event = await createEvent({\n  kind: 1,\n  content: 'Posted via delegation!',\n  pubkey: DELEGATOR_PUBKEY,  // Original delegator's pubkey\n  created_at: Math.floor(Date.now() / 1000)\n});\n\nconst signedEvent = await signEventWithDelegation({\n  event,\n  delegatePrivkey: DELEGATE_PRIVKEY,\n  delegation: {\n    token: DELEGATION_TOKEN,\n    conditions: {\n      kind: 1,\n      until: Math.floor(Date.now() / 1000) + 30 * 24 * 60 * 60\n    }\n  }\n});\n```\n\n### Conditional Delegation\n\nYou can create more specific delegations with conditions:\n\n```typescript\n// Create a delegation with multiple conditions\nconst delegation = await createDelegation({\n  delegatorPrivkey: delegatorKeyPair.privateKey,\n  delegateePubkey,\n  conditions: {\n    kinds: [1, 6],  // Allow only text notes and reposts\n    until: Math.floor(Date.now() / 1000) + 7 * 24 * 60 * 60,  // 1 week\n    since: Math.floor(Date.now() / 1000),  // Starting from now\n    tags: [\n      ['t', 'nostr'],  // Only allow posts with tag 't' = 'nostr'\n      ['p', delegateePubkey]  // Only allow mentions of the delegatee\n    ]\n  }\n});\n```\n\n### Security Considerations\n\nWhen working with delegated tokens:\n\n1. **Store Securely**: Always store delegation tokens and private keys securely\n2. **Check Expiration**: Validate the delegation's time constraints before using\n3. **Validate Conditions**: Check all conditions before signing or accepting delegated events\n4. **Limit Scope**: Only delegate the minimum required permissions\n5. **Monitor Usage**: Keep track of how delegated tokens are being used\n\nFor more details on delegation, see the [NIP-26 specification](https://github.com/nostr-protocol/nips/blob/master/26.md).\n\n## Type System Improvements\n\n### Enhanced Type System\n\n- **Consolidated Type Definitions**: Improved consistency and safety through unified type definitions\n- **Better Type Inference**: Enhanced type inference for easier development and better code completion\n- **Stricter Type Checks**: Improved type safety with stricter checks for better error prevention\n\n### Improved Type Documentation\n\n- **Better JSDoc Comments**: Improved documentation with clear and concise JSDoc comments\n- **NIP References**: Added references to relevant NIPs for better understanding of the underlying protocol\n\n## Debug Mode\n\nEnable debug mode to get detailed logging:\n\n```typescript\nimport { setDebugLevel } from 'nostr-crypto-utils';\n\n// Enable debug logging\nsetDebugLevel('debug');\n\n// Or for even more detail\nsetDebugLevel('trace');\n```\n\n### Common Error Messages\n\n| Error Message | Likely Cause | Solution |\n|--------------|--------------|----------|\n| \"Invalid delegation token\" | Token expired or malformed | Check token expiration and format |\n| \"Signature verification failed\" | Wrong key format or corrupted signature | Verify key formats and conversion |\n| \"Condition check failed\" | Event doesn't match delegation conditions | Check event kind and other conditions |\n| \"Invalid pubkey format\" | Using bech32 instead of hex | Convert pubkey to correct format |\n| \"Token expired\" | Delegation token past expiration | Create new delegation with future expiration |\n\n### Validation Checks\n\nWhen troubleshooting, verify these common points:\n\n#### Key Formats\n- Private keys should be in hex format\n- Public keys should be in hex format (not bech32)\n- Signatures should be 64 bytes in hex format\n\n#### Time Constraints\n- Token expiration should be in the future\n- Check system clock synchronization\n- Use UTC timestamps consistently\n\n#### Permission Scope\n- Verify event kinds match delegation conditions\n- Check any tag restrictions\n- Confirm time window restrictions\n\n#### Network Issues\n- Verify relay connections\n- Check for rate limiting\n- Confirm proper websocket handling\n\n### Testing Tools\n\n```typescript\n// Test delegation validity\nconst testDelegation = async (delegation) => {\n  const result = await validateDelegation({\n    token: delegation.token,\n    delegatorPubkey: delegation.delegator,\n    delegateePubkey: delegation.delegatee,\n    kind: 1\n  });\n  \n  console.log('Delegation valid:', result.isValid);\n  if (!result.isValid) {\n    console.error('Validation error:', result.error);\n  }\n  \n  return result;\n};\n\n// Test event signing\nconst testEventSigning = async (event, delegation) => {\n  try {\n    const signed = await signEventWithDelegation({\n      event,\n      delegatePrivkey: delegation.privateKey,\n      delegation: delegation.token\n    });\n    console.log('Event signed successfully:', signed.id);\n    return true;\n  } catch (error) {\n    console.error('Signing failed:', error);\n    return false;\n  }\n};\n```\n\nFor more help, join our [Discord community](https://discord.gg/nostr) or [open an issue](https://github.com/humanjavaenterprises/nostr-crypto-utils/issues).\n\n## Contributing\n\nWe welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Changelog\n\nSee [CHANGELOG.md](CHANGELOG.md) for a detailed history of changes.\n\n## Support\n\n- [Documentation](https://humanjavaenterprises.github.io/nostr-crypto-utils/)\n- [Issue Tracker](https://github.com/HumanjavaEnterprises/nostr-crypto-utils/issues)\n- [Discussions](https://github.com/HumanjavaEnterprises/nostr-crypto-utils/discussions)\n\n## Related Projects\n\n- [nostr-nsec-seedphrase](https://github.com/HumanjavaEnterprises/nostr-nsec-seedphrase) - Generate and manage Nostr private keys using BIP-39 seed phrases\n","readmeFilename":"README.md"}