{"_id":"@cmdcode/crypto-tools","_rev":"27-ec69665110c5ada4b7d4e598107e1a55","name":"@cmdcode/crypto-tools","dist-tags":{"latest":"2.8.0"},"versions":{"2.4.7":{"name":"@cmdcode/crypto-tools","version":"2.4.7","keywords":["crypto","tools","library","secp256k1","ecdh","schnorr","bip340","bip32","hash","hmac","sha256","bitcoin","nostr","signatures"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.4.7","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"faf75bf399fe1cd7389dff53e97c807f581ca134","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.4.7.tgz","fileCount":87,"integrity":"sha512-XaQVqaAiYFWuuCoYAzlPOK82ou7dTLnryRbrHBG4cmYgvgKG1VUxEOZFzvWAq7YVtJwB2YBC/NRmIt5TRLDorA==","signatures":[{"sig":"MEUCICUjbYSR2mFks6e3cSRUzwJbBwyphM+duee3/fR7OfzkAiEA8Qhvpbn8YbYUt9oaj5AAFYm24tyz2qtllqn+bwuJhRA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1578479},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/hd.d.ts","import":"./dist/hd.js","default":"./dist/hd.js"},"./ecc":{"types":"./dist/ecc.d.ts","import":"./dist/ecc.js","default":"./dist/ecc.js"},"./ecdh":{"types":"./dist/ecdh.d.ts","import":"./dist/ecdh.js","default":"./dist/ecdh.js"},"./hash":{"types":"./dist/hash.d.ts","import":"./dist/hash.js","default":"./dist/hash.js"},"./keys":{"types":"./dist/keys.d.ts","import":"./dist/keys.js","default":"./dist/keys.js"},"./math":{"types":"./dist/math.d.ts","import":"./dist/math.js","default":"./dist/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./proof":{"types":"./dist/proof.d.ts","import":"./dist/proof.js","default":"./dist/proof.js"},"./signer":{"types":"./dist/sig.d.ts","import":"./dist/sig.js","default":"./dist/sig.js"}},"scripts":{"lint":"eslint . --ext .ts","test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"rollup -c rollup.config.ts --configPlugin typescript","clean":"rm -rf dist/* coverage .nyc_output","types":"tsc","release":"yarn clean && yarn test && yarn types && yarn lint && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.0.2","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.12.8","tape":"^5.6.6","tslib":"^2.6.2","eslint":"^8.46.0","rollup":"^3.27.0","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.5.9","@types/tape":"^5.6.0","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.3","@rollup/plugin-commonjs":"^25.0.4","@rollup/plugin-typescript":"^11.1.3","@typescript-eslint/parser":"^6.5.0","@rollup/plugin-node-resolve":"^15.1.0","@typescript-eslint/eslint-plugin":"^6.5.0"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.4.7_1694106510363_0.7785487117448704","host":"s3://npm-registry-packages"}},"2.4.8":{"name":"@cmdcode/crypto-tools","version":"2.4.8","keywords":["crypto","tools","library","secp256k1","ecdh","schnorr","bip340","bip32","hash","hmac","sha256","bitcoin","nostr","signatures"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.4.8","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"70a7ff15fe6eee5b8e3f348e0054e95189aa83f9","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.4.8.tgz","fileCount":87,"integrity":"sha512-lhCp1tY1OyYGgnKI+tAjP2EoH2gY9Ow1ZgChAdus+WofA9QRKBEEGfE6XPminXfqnkW/5MHmCoHUBk5nl2/m+w==","signatures":[{"sig":"MEUCIEWohVoqPvl5Ic0gd5ChdyPS88wo2NnWdtQMEDD4NGBNAiEAvGOGC2bo9sABaVSN3gvztBbyOvYicmhG50FaWpD16aE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1578479},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/hd.d.ts","import":"./dist/hd.js","default":"./dist/hd.js"},"./ecc":{"types":"./dist/ecc.d.ts","import":"./dist/ecc.js","default":"./dist/ecc.js"},"./ecdh":{"types":"./dist/ecdh.d.ts","import":"./dist/ecdh.js","default":"./dist/ecdh.js"},"./hash":{"types":"./dist/hash.d.ts","import":"./dist/hash.js","default":"./dist/hash.js"},"./keys":{"types":"./dist/keys.d.ts","import":"./dist/keys.js","default":"./dist/keys.js"},"./math":{"types":"./dist/math.d.ts","import":"./dist/math.js","default":"./dist/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./proof":{"types":"./dist/proof.d.ts","import":"./dist/proof.js","default":"./dist/proof.js"},"./signer":{"types":"./dist/sig.d.ts","import":"./dist/sig.js","default":"./dist/sig.js"}},"scripts":{"lint":"eslint . --ext .ts","test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"rollup -c rollup.config.ts --configPlugin typescript","clean":"rm -rf dist/* coverage .nyc_output","types":"tsc","release":"yarn clean && yarn test && yarn types && yarn lint && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.0.2","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.12.8","tape":"^5.6.6","tslib":"^2.6.2","eslint":"^8.46.0","rollup":"^3.27.0","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.5.9","@types/tape":"^5.6.0","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.3","@rollup/plugin-commonjs":"^25.0.4","@rollup/plugin-typescript":"^11.1.3","@typescript-eslint/parser":"^6.5.0","@rollup/plugin-node-resolve":"^15.1.0","@typescript-eslint/eslint-plugin":"^6.5.0"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.4.8_1694496978129_0.6274689335192813","host":"s3://npm-registry-packages"}},"2.4.9":{"name":"@cmdcode/crypto-tools","version":"2.4.9","keywords":["crypto","tools","library","secp256k1","ecdh","schnorr","bip340","bip32","hash","hmac","sha256","bitcoin","nostr","signatures"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.4.9","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"645fc9f0ad526f5dab7a1c994a9f8e8526d45bc0","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.4.9.tgz","fileCount":87,"integrity":"sha512-hUM/wxftZSBoa85+CFF/PI3xQmpm57M0GWq9fEoeghXDCH+22jiBbOZstUHTMaMc1PC1iAnHF82PnJ2Il9z+fQ==","signatures":[{"sig":"MEQCIAgKFaZRyPk+UPspcA31SESOVRF5dA7UQqIn+ruoEgzvAiBpQwIDwu14Fd+Ig+ZAXj5LOo9e58ZDhm9dQDhasHx9xQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1578945},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/hd.d.ts","import":"./dist/hd.js","default":"./dist/hd.js"},"./ecc":{"types":"./dist/ecc.d.ts","import":"./dist/ecc.js","default":"./dist/ecc.js"},"./ecdh":{"types":"./dist/ecdh.d.ts","import":"./dist/ecdh.js","default":"./dist/ecdh.js"},"./hash":{"types":"./dist/hash.d.ts","import":"./dist/hash.js","default":"./dist/hash.js"},"./keys":{"types":"./dist/keys.d.ts","import":"./dist/keys.js","default":"./dist/keys.js"},"./math":{"types":"./dist/math.d.ts","import":"./dist/math.js","default":"./dist/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./proof":{"types":"./dist/proof.d.ts","import":"./dist/proof.js","default":"./dist/proof.js"},"./signer":{"types":"./dist/sig.d.ts","import":"./dist/sig.js","default":"./dist/sig.js"}},"scripts":{"lint":"eslint . --ext .ts","test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"rollup -c rollup.config.ts --configPlugin typescript","clean":"rm -rf dist/* coverage .nyc_output","types":"tsc","release":"yarn clean && yarn test && yarn types && yarn lint && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.0.2","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.12.8","tape":"^5.6.6","tslib":"^2.6.2","eslint":"^8.46.0","rollup":"^3.27.0","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.5.9","@types/tape":"^5.6.0","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.3","@rollup/plugin-commonjs":"^25.0.4","@rollup/plugin-typescript":"^11.1.3","@typescript-eslint/parser":"^6.5.0","@rollup/plugin-node-resolve":"^15.1.0","@typescript-eslint/eslint-plugin":"^6.5.0"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.4.9_1694536110145_0.3443375432674358","host":"s3://npm-registry-packages"}},"2.4.10":{"name":"@cmdcode/crypto-tools","version":"2.4.10","keywords":["crypto","tools","library","secp256k1","ecdh","schnorr","bip340","bip32","hash","hmac","sha256","bitcoin","nostr","signatures"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.4.10","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"fbb09b02ba5cec304b261442065a924ea4a60cf9","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.4.10.tgz","fileCount":87,"integrity":"sha512-2vNLhqsir9oS7FGmi1iBfdFSLMVbZ/JEawLxNVxKE9s3fRxjz8AFjur9AjG4ae7rDjK0/nsJUjeCj6aFAZUT7g==","signatures":[{"sig":"MEYCIQDDJPeAKkKw3IIGMCQVdVukvx2zrFptJc0uUWMO01w7XAIhANRcOCFhhAIRThX7LxcTKtix7zhJ1B0F1s1M8BMx86uR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1579070},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/hd.d.ts","import":"./dist/hd.js","default":"./dist/hd.js"},"./ecc":{"types":"./dist/ecc.d.ts","import":"./dist/ecc.js","default":"./dist/ecc.js"},"./ecdh":{"types":"./dist/ecdh.d.ts","import":"./dist/ecdh.js","default":"./dist/ecdh.js"},"./hash":{"types":"./dist/hash.d.ts","import":"./dist/hash.js","default":"./dist/hash.js"},"./keys":{"types":"./dist/keys.d.ts","import":"./dist/keys.js","default":"./dist/keys.js"},"./math":{"types":"./dist/math.d.ts","import":"./dist/math.js","default":"./dist/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./proof":{"types":"./dist/proof.d.ts","import":"./dist/proof.js","default":"./dist/proof.js"},"./signer":{"types":"./dist/sig.d.ts","import":"./dist/sig.js","default":"./dist/sig.js"}},"scripts":{"lint":"eslint . --ext .ts","test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"rollup -c rollup.config.ts --configPlugin typescript","clean":"rm -rf dist/* coverage .nyc_output","types":"tsc","release":"yarn clean && yarn test && yarn types && yarn lint && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.0.2","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.12.8","tape":"^5.6.6","tslib":"^2.6.2","eslint":"^8.46.0","rollup":"^3.27.0","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.5.9","@types/tape":"^5.6.0","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.3","@rollup/plugin-commonjs":"^25.0.4","@rollup/plugin-typescript":"^11.1.3","@typescript-eslint/parser":"^6.5.0","@rollup/plugin-node-resolve":"^15.1.0","@typescript-eslint/eslint-plugin":"^6.5.0"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.4.10_1694632840210_0.16771170099254906","host":"s3://npm-registry-packages"}},"2.4.11":{"name":"@cmdcode/crypto-tools","version":"2.4.11","keywords":["crypto","tools","library","secp256k1","ecdh","schnorr","bip340","bip32","hash","hmac","sha256","bitcoin","nostr","signatures"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.4.11","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"3e2a68f03173480061c48dce3eb4a6aaf0b76483","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.4.11.tgz","fileCount":87,"integrity":"sha512-Mc8JkZ9fz9MBnKFz0QVXGOzRrzcTArPZKRqfePaYN9niTf8NWlxsA8iqYExfXJ1FRIJN/vjxWqWZ4qdU4uXarw==","signatures":[{"sig":"MEUCIEe0dHLiGHZPGPSZmnMudDRtoFe7gF6HT0xvqIcAMElnAiEAtspXrkrXDNvCCWRyQcA9Pk9lt/36bDy0ASLT+judr6Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1580963},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/hd.d.ts","import":"./dist/hd.js","default":"./dist/hd.js"},"./ecc":{"types":"./dist/ecc.d.ts","import":"./dist/ecc.js","default":"./dist/ecc.js"},"./ecdh":{"types":"./dist/ecdh.d.ts","import":"./dist/ecdh.js","default":"./dist/ecdh.js"},"./hash":{"types":"./dist/hash.d.ts","import":"./dist/hash.js","default":"./dist/hash.js"},"./keys":{"types":"./dist/keys.d.ts","import":"./dist/keys.js","default":"./dist/keys.js"},"./math":{"types":"./dist/math.d.ts","import":"./dist/math.js","default":"./dist/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./proof":{"types":"./dist/proof.d.ts","import":"./dist/proof.js","default":"./dist/proof.js"},"./signer":{"types":"./dist/sig.d.ts","import":"./dist/sig.js","default":"./dist/sig.js"}},"scripts":{"lint":"eslint . --ext .ts","test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"rollup -c rollup.config.ts --configPlugin typescript","clean":"rm -rf dist/* coverage .nyc_output","types":"tsc","release":"yarn clean && yarn test && yarn types && yarn lint && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.0.3","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.12.8","tape":"^5.6.6","tslib":"^2.6.2","eslint":"^8.46.0","rollup":"^3.27.0","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.5.9","@types/tape":"^5.6.0","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.3","@rollup/plugin-commonjs":"^25.0.4","@rollup/plugin-typescript":"^11.1.3","@typescript-eslint/parser":"^6.5.0","@rollup/plugin-node-resolve":"^15.1.0","@typescript-eslint/eslint-plugin":"^6.5.0"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.4.11_1695134525482_0.469764762384969","host":"s3://npm-registry-packages"}},"2.5.0":{"name":"@cmdcode/crypto-tools","version":"2.5.0","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.5.0","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"4282adab1615063dbd09e7fc139716b040e641de","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.5.0.tgz","fileCount":97,"integrity":"sha512-bFHBAAvg1MNgiNmA6CvBi7o8SC/+pDMNt20OSeJz9aM+cYKxpaLQ6rJy7dQXZ+qEkae27eb/+KanI6NlfWg7Jg==","signatures":[{"sig":"MEQCIEnIxGFHH+NKYRKGIU67aJbf53pwwrIZaUPuibJrsmCsAiAO+afajEZZa27Vf8SodqqNmsPPzcuq24b/w6in38c1xA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1610381},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/hd.d.ts","import":"./dist/hd.js","default":"./dist/hd.js"},"./ecc":{"types":"./dist/ecc.d.ts","import":"./dist/ecc.js","default":"./dist/ecc.js"},"./ecdh":{"types":"./dist/ecdh.d.ts","import":"./dist/ecdh.js","default":"./dist/ecdh.js"},"./hash":{"types":"./dist/hash.d.ts","import":"./dist/hash.js","default":"./dist/hash.js"},"./keys":{"types":"./dist/keys.d.ts","import":"./dist/keys.js","default":"./dist/keys.js"},"./math":{"types":"./dist/math.d.ts","import":"./dist/math.js","default":"./dist/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./proof":{"types":"./dist/proof.d.ts","import":"./dist/proof.js","default":"./dist/proof.js"},"./merkle":{"types":"./dist/merkle.d.ts","import":"./dist/merkle.js","default":"./dist/merkle.js"},"./shamir":{"types":"./dist/shamir.d.ts","import":"./dist/shamir.js","default":"./dist/shamir.js"},"./signer":{"types":"./dist/sig.d.ts","import":"./dist/sig.js","default":"./dist/sig.js"}},"scripts":{"lint":"eslint . --ext .ts","test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"rollup -c rollup.config.ts --configPlugin typescript","clean":"rm -rf dist/* coverage .nyc_output","types":"tsc","release":"yarn clean && yarn test && yarn types && yarn lint && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.0.3","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.12.8","tape":"^5.6.6","tslib":"^2.6.2","eslint":"^8.46.0","rollup":"^3.27.0","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.5.9","@types/tape":"^5.6.0","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.3","@rollup/plugin-commonjs":"^25.0.4","@rollup/plugin-typescript":"^11.1.3","@typescript-eslint/parser":"^6.5.0","@rollup/plugin-node-resolve":"^15.1.0","@typescript-eslint/eslint-plugin":"^6.5.0"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.5.0_1695249317715_0.8623634386852228","host":"s3://npm-registry-packages"}},"2.5.1":{"name":"@cmdcode/crypto-tools","version":"2.5.1","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.5.1","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"3a2ade11dbe43b9531cc41725cdc756a346cecfd","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.5.1.tgz","fileCount":97,"integrity":"sha512-PjMeMAV+GNXcXr+Pwyeq/GPDmbD64p+yhdg9Uv9TzC/BpMqKxSgJ6KlxakuK9JrXm4VICBZG/aiz6xHMp1G1cA==","signatures":[{"sig":"MEQCICT6FRjJWP2GX9ubYJxj03mTdYfG2cOn7xYC+r6svlDbAiATV9UaAUeiRViVx3y8JIOGb0eTLpBNY/xParsrwXoiaA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1610423},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/hd.d.ts","import":"./dist/hd.js","default":"./dist/hd.js"},"./ecc":{"types":"./dist/ecc.d.ts","import":"./dist/ecc.js","default":"./dist/ecc.js"},"./ecdh":{"types":"./dist/ecdh.d.ts","import":"./dist/ecdh.js","default":"./dist/ecdh.js"},"./hash":{"types":"./dist/hash.d.ts","import":"./dist/hash.js","default":"./dist/hash.js"},"./keys":{"types":"./dist/keys.d.ts","import":"./dist/keys.js","default":"./dist/keys.js"},"./math":{"types":"./dist/math.d.ts","import":"./dist/math.js","default":"./dist/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./proof":{"types":"./dist/proof.d.ts","import":"./dist/proof.js","default":"./dist/proof.js"},"./merkle":{"types":"./dist/merkle.d.ts","import":"./dist/merkle.js","default":"./dist/merkle.js"},"./shamir":{"types":"./dist/shamir.d.ts","import":"./dist/shamir.js","default":"./dist/shamir.js"},"./signer":{"types":"./dist/sig.d.ts","import":"./dist/sig.js","default":"./dist/sig.js"}},"scripts":{"lint":"eslint . --ext .ts","test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"rollup -c rollup.config.ts --configPlugin typescript","clean":"rm -rf dist/* coverage .nyc_output","types":"tsc","release":"yarn clean && yarn test && yarn types && yarn lint && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.0.4","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.12.8","tape":"^5.6.6","tslib":"^2.6.2","eslint":"^8.46.0","rollup":"^3.27.0","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.5.9","@types/tape":"^5.6.0","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.3","@rollup/plugin-commonjs":"^25.0.4","@rollup/plugin-typescript":"^11.1.3","@typescript-eslint/parser":"^6.5.0","@rollup/plugin-node-resolve":"^15.1.0","@typescript-eslint/eslint-plugin":"^6.5.0"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.5.1_1697496326469_0.5470821360598026","host":"s3://npm-registry-packages"}},"2.5.2":{"name":"@cmdcode/crypto-tools","version":"2.5.2","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.5.2","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"ee481788f77c2af4f4ac9ee32d1e745c925b3894","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.5.2.tgz","fileCount":97,"integrity":"sha512-AGDctG7STlhlErAwzaIG5VKs/UqihrAVHbxmD/NhJlGYJR/H8ASi2lLo4r6l2pYiEXjLqE2qa/u9tNJl3kodow==","signatures":[{"sig":"MEQCIHHuSA3gB513021llsoWcFMINGAEpmScBhTeRzfEF7g4AiB6ufKXmUewtpA7Z22WQ2TqHAWDyCb6kx6bgyiNjn5EsA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1623853},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/hd.d.ts","import":"./dist/hd.js","default":"./dist/hd.js"},"./ecc":{"types":"./dist/ecc.d.ts","import":"./dist/ecc.js","default":"./dist/ecc.js"},"./ecdh":{"types":"./dist/ecdh.d.ts","import":"./dist/ecdh.js","default":"./dist/ecdh.js"},"./hash":{"types":"./dist/hash.d.ts","import":"./dist/hash.js","default":"./dist/hash.js"},"./keys":{"types":"./dist/keys.d.ts","import":"./dist/keys.js","default":"./dist/keys.js"},"./math":{"types":"./dist/math.d.ts","import":"./dist/math.js","default":"./dist/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./proof":{"types":"./dist/proof.d.ts","import":"./dist/proof.js","default":"./dist/proof.js"},"./merkle":{"types":"./dist/merkle.d.ts","import":"./dist/merkle.js","default":"./dist/merkle.js"},"./shamir":{"types":"./dist/shamir.d.ts","import":"./dist/shamir.js","default":"./dist/shamir.js"},"./signer":{"types":"./dist/sig.d.ts","import":"./dist/sig.js","default":"./dist/sig.js"}},"scripts":{"lint":"eslint . --ext .ts","test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"rollup -c rollup.config.ts --configPlugin typescript","clean":"rm -rf dist/* coverage .nyc_output","types":"tsc","release":"yarn clean && yarn test && yarn types && yarn lint && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.1.1","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.13.0","tape":"^5.7.1","tslib":"^2.6.2","eslint":"^8.51.0","rollup":"^4.1.4","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.8.6","@types/tape":"^5.6.1","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@typescript-eslint/parser":"^6.8.0","@rollup/plugin-node-resolve":"^15.2.3","@typescript-eslint/eslint-plugin":"^6.8.0"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.5.2_1697525391463_0.5305218201945963","host":"s3://npm-registry-packages"}},"2.6.0":{"name":"@cmdcode/crypto-tools","version":"2.6.0","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.6.0","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"ff618dd9d84807e3c57a3c5348f38d711265ce76","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.6.0.tgz","fileCount":97,"integrity":"sha512-aM5d4AUf1X42m531NH+FD24F7meYo33LhfodvIamiyvYSIl7Maumh8NQAePLvk+YekmzWU1NcsYOJsae4JhWSA==","signatures":[{"sig":"MEYCIQCxJDr/nDUQ79jmXT0OyOrb1uj7T+VZ6Npf5yxRxhJkhwIhAIn4UeNddYhFFDkKLUpsmc9kACgkoP10vBCKHThdEv/V","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1626736},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/hd.d.ts","import":"./dist/hd.js","default":"./dist/hd.js"},"./ecc":{"types":"./dist/ecc.d.ts","import":"./dist/ecc.js","default":"./dist/ecc.js"},"./ecdh":{"types":"./dist/ecdh.d.ts","import":"./dist/ecdh.js","default":"./dist/ecdh.js"},"./hash":{"types":"./dist/hash.d.ts","import":"./dist/hash.js","default":"./dist/hash.js"},"./keys":{"types":"./dist/keys.d.ts","import":"./dist/keys.js","default":"./dist/keys.js"},"./math":{"types":"./dist/math.d.ts","import":"./dist/math.js","default":"./dist/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./proof":{"types":"./dist/proof.d.ts","import":"./dist/proof.js","default":"./dist/proof.js"},"./merkle":{"types":"./dist/merkle.d.ts","import":"./dist/merkle.js","default":"./dist/merkle.js"},"./shamir":{"types":"./dist/shamir.d.ts","import":"./dist/shamir.js","default":"./dist/shamir.js"},"./signer":{"types":"./dist/sig.d.ts","import":"./dist/sig.js","default":"./dist/sig.js"}},"scripts":{"lint":"eslint . --ext .ts","test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"./build.sh","release":"yarn test && yarn lint && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.2.1","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.13.0","tape":"^5.7.1","tslib":"^2.6.2","eslint":"^8.51.0","rollup":"^4.1.4","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.8.6","@types/tape":"^5.6.1","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@typescript-eslint/parser":"^6.8.0","@rollup/plugin-node-resolve":"^15.2.3","@typescript-eslint/eslint-plugin":"^6.8.0"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.6.0_1698707464778_0.3688865175965017","host":"s3://npm-registry-packages"}},"2.6.1":{"name":"@cmdcode/crypto-tools","version":"2.6.1","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.6.1","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"aab6202f8cfcc4527afe1b84193a3827de6e8841","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.6.1.tgz","fileCount":97,"integrity":"sha512-UaBodL+fOalmD+6t+fpjSnonFe1yDPoj7/i09pE+dUjaUXixGn2SrB+MGrhuqDfyFwI2DEa2DxX/lOMy50FkJQ==","signatures":[{"sig":"MEUCIQC4jfSMMwtN4L3yGkWnsexlCtP7jfAkdeUjNfMkWBmgxAIgNqMpOjMBGbSB0EsIFTSly6JQ61glgsMlW4fJfNcDe8U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1626682},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/hd.d.ts","import":"./dist/hd.js","default":"./dist/hd.js"},"./ecc":{"types":"./dist/ecc.d.ts","import":"./dist/ecc.js","default":"./dist/ecc.js"},"./ecdh":{"types":"./dist/ecdh.d.ts","import":"./dist/ecdh.js","default":"./dist/ecdh.js"},"./hash":{"types":"./dist/hash.d.ts","import":"./dist/hash.js","default":"./dist/hash.js"},"./keys":{"types":"./dist/keys.d.ts","import":"./dist/keys.js","default":"./dist/keys.js"},"./math":{"types":"./dist/math.d.ts","import":"./dist/math.js","default":"./dist/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./proof":{"types":"./dist/proof.d.ts","import":"./dist/proof.js","default":"./dist/proof.js"},"./merkle":{"types":"./dist/merkle.d.ts","import":"./dist/merkle.js","default":"./dist/merkle.js"},"./shamir":{"types":"./dist/shamir.d.ts","import":"./dist/shamir.js","default":"./dist/shamir.js"},"./signer":{"types":"./dist/sig.d.ts","import":"./dist/sig.js","default":"./dist/sig.js"}},"scripts":{"lint":"eslint . --ext .ts","test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"./build.sh","release":"yarn test && yarn lint && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.2.2","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^3.13.0","tape":"^5.7.1","tslib":"^2.6.2","eslint":"^8.51.0","rollup":"^4.1.4","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.8.6","@types/tape":"^5.6.1","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@typescript-eslint/parser":"^6.8.0","@rollup/plugin-node-resolve":"^15.2.3","@typescript-eslint/eslint-plugin":"^6.8.0"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.6.1_1698823521497_0.3483396837116195","host":"s3://npm-registry-packages"}},"2.6.2":{"name":"@cmdcode/crypto-tools","version":"2.6.2","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.6.2","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"d3b8d2307be705ee875ac032e41e176a74da623d","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.6.2.tgz","fileCount":97,"integrity":"sha512-ywsSxBBxu+jpdleCRQUsQ+sjFs8MLpRSbcBJeYfgjAO1noBYnkpWNf62xrjtY6fEDosgyVt8NMm9yCe9z7tWNA==","signatures":[{"sig":"MEYCIQCkVyDiD75Q0flwyOPSfiNxsoGLYadyGKvahPgfVyzy6gIhAI7T/Vuz5ysgAliQEiU5GXi5v/9n+byTm1/VC1FkjnKw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1630953},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/hd.d.ts","import":"./dist/hd.js","default":"./dist/hd.js"},"./ecc":{"types":"./dist/ecc.d.ts","import":"./dist/ecc.js","default":"./dist/ecc.js"},"./ecdh":{"types":"./dist/ecdh.d.ts","import":"./dist/ecdh.js","default":"./dist/ecdh.js"},"./hash":{"types":"./dist/hash.d.ts","import":"./dist/hash.js","default":"./dist/hash.js"},"./keys":{"types":"./dist/keys.d.ts","import":"./dist/keys.js","default":"./dist/keys.js"},"./math":{"types":"./dist/math.d.ts","import":"./dist/math.js","default":"./dist/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./proof":{"types":"./dist/proof.d.ts","import":"./dist/proof.js","default":"./dist/proof.js"},"./merkle":{"types":"./dist/merkle.d.ts","import":"./dist/merkle.js","default":"./dist/merkle.js"},"./shamir":{"types":"./dist/shamir.d.ts","import":"./dist/shamir.js","default":"./dist/shamir.js"},"./signer":{"types":"./dist/sig.d.ts","import":"./dist/sig.js","default":"./dist/sig.js"}},"scripts":{"test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"./build.sh","release":"yarn test && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.2.3","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.1.1","tape":"^5.7.2","tslib":"^2.6.2","rollup":"^4.4.0","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.9.0","@types/tape":"^5.6.4","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.6.2_1699939127396_0.2453073424108141","host":"s3://npm-registry-packages"}},"2.6.3":{"name":"@cmdcode/crypto-tools","version":"2.6.3","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.6.3","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"c4b75de21bfc69f434b2a0fa5c5bd8048e5feb6b","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.6.3.tgz","fileCount":97,"integrity":"sha512-O2YMrDW4eYHzEJ05W6Kf5feFHf6YRELVQSzPYAiGf9MzogldxQc6bgHSp2Yz/lDkZxDI0MzQ7sI0txF5gZnXEw==","signatures":[{"sig":"MEQCIEIKGY1HIYLT3vskUWtXLdXRSIuVY+hJbW2Di+xj47u3AiBU7f6r+3mT9YD+kqBMOBwtIXxDidSfV65MVQWWDEzitw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1630966},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/hd.d.ts","import":"./dist/hd.js","default":"./dist/hd.js"},"./ecc":{"types":"./dist/ecc.d.ts","import":"./dist/ecc.js","default":"./dist/ecc.js"},"./ecdh":{"types":"./dist/ecdh.d.ts","import":"./dist/ecdh.js","default":"./dist/ecdh.js"},"./hash":{"types":"./dist/hash.d.ts","import":"./dist/hash.js","default":"./dist/hash.js"},"./keys":{"types":"./dist/keys.d.ts","import":"./dist/keys.js","default":"./dist/keys.js"},"./math":{"types":"./dist/math.d.ts","import":"./dist/math.js","default":"./dist/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./proof":{"types":"./dist/proof.d.ts","import":"./dist/proof.js","default":"./dist/proof.js"},"./merkle":{"types":"./dist/merkle.d.ts","import":"./dist/merkle.js","default":"./dist/merkle.js"},"./shamir":{"types":"./dist/shamir.d.ts","import":"./dist/shamir.js","default":"./dist/shamir.js"},"./signer":{"types":"./dist/sig.d.ts","import":"./dist/sig.js","default":"./dist/sig.js"}},"scripts":{"test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"./build.sh","release":"yarn test && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.2.3","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.1.1","tape":"^5.7.2","tslib":"^2.6.2","rollup":"^4.4.0","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.9.0","@types/tape":"^5.6.4","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.6.3_1700606867342_0.7843078346875558","host":"s3://npm-registry-packages"}},"2.6.4":{"name":"@cmdcode/crypto-tools","version":"2.6.4","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.6.4","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"4b51506c9250a7796c9985d059b6c8143ef61035","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.6.4.tgz","fileCount":97,"integrity":"sha512-QsoynUtCthkXD1a/ntHt5PHurp6DwcrKxy6mGTbY77DvaR3MzYGAeCnDum3iZI+5EEwQCPQmG+6B4R/dYFHl5w==","signatures":[{"sig":"MEYCIQCiR14uillndxqXZNkpTBIFA44Wm2BBBqQdSVcYIUbMIQIhAPU1E0KSVQvC3Zw8lheo3MW1sOOF+vecIl2UgemYam00","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1633589},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/hd.d.ts","import":"./dist/hd.js","default":"./dist/hd.js"},"./ecc":{"types":"./dist/ecc.d.ts","import":"./dist/ecc.js","default":"./dist/ecc.js"},"./ecdh":{"types":"./dist/ecdh.d.ts","import":"./dist/ecdh.js","default":"./dist/ecdh.js"},"./hash":{"types":"./dist/hash.d.ts","import":"./dist/hash.js","default":"./dist/hash.js"},"./keys":{"types":"./dist/keys.d.ts","import":"./dist/keys.js","default":"./dist/keys.js"},"./math":{"types":"./dist/math.d.ts","import":"./dist/math.js","default":"./dist/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./proof":{"types":"./dist/proof.d.ts","import":"./dist/proof.js","default":"./dist/proof.js"},"./merkle":{"types":"./dist/merkle.d.ts","import":"./dist/merkle.js","default":"./dist/merkle.js"},"./shamir":{"types":"./dist/shamir.d.ts","import":"./dist/shamir.js","default":"./dist/shamir.js"},"./signer":{"types":"./dist/sig.d.ts","import":"./dist/sig.js","default":"./dist/sig.js"}},"scripts":{"test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"./build.sh","release":"yarn test && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.2.3","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.1.1","tape":"^5.7.2","tslib":"^2.6.2","rollup":"^4.4.0","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.9.0","@types/tape":"^5.6.4","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.6.4_1701731051337_0.5154499467909848","host":"s3://npm-registry-packages"}},"2.6.5":{"name":"@cmdcode/crypto-tools","version":"2.6.5","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.6.5","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"e0ae71f57eb8c29fdd6b538c13ec70a575a24ed9","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.6.5.tgz","fileCount":104,"integrity":"sha512-IflfQmj9TA0AyAZLxgIjlHqrBD8Szp9X5lfzRwXxdiycSm4ydNq3x1zM+0CTZnsMFkl6fQ03eK70u7NC5cVCyg==","signatures":[{"sig":"MEYCIQCmkA3hcK+IOpH9STa5yr48eBLHVldM4m1HtxCFTI1crQIhAOlJBRojINFpTzlB6PuUIdzmM1VibTO0X1EfK+Jv3d2b","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1679101},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/browser.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/hd.d.ts","import":"./dist/hd.js","default":"./dist/hd.js"},"./ecc":{"types":"./dist/ecc.d.ts","import":"./dist/ecc.js","default":"./dist/ecc.js"},"./ecdh":{"types":"./dist/ecdh.d.ts","import":"./dist/ecdh.js","default":"./dist/ecdh.js"},"./hash":{"types":"./dist/hash.d.ts","import":"./dist/hash.js","default":"./dist/hash.js"},"./keys":{"types":"./dist/keys.d.ts","import":"./dist/keys.js","default":"./dist/keys.js"},"./math":{"types":"./dist/math.d.ts","import":"./dist/math.js","default":"./dist/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./proof":{"types":"./dist/proof.d.ts","import":"./dist/proof.js","default":"./dist/proof.js"},"./merkle":{"types":"./dist/merkle.d.ts","import":"./dist/merkle.js","default":"./dist/merkle.js"},"./shamir":{"types":"./dist/shamir.d.ts","import":"./dist/shamir.js","default":"./dist/shamir.js"},"./signer":{"types":"./dist/sig.d.ts","import":"./dist/sig.js","default":"./dist/sig.js"}},"scripts":{"test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"./build.sh","release":"yarn test && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.2.3","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.1.1","tape":"^5.7.2","tslib":"^2.6.2","rollup":"^4.4.0","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.9.0","@types/tape":"^5.6.4","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.6.5_1701899818468_0.4430741788286743","host":"s3://npm-registry-packages"}},"2.6.6":{"name":"@cmdcode/crypto-tools","version":"2.6.6","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.6.6","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"ab237c3f7288b9cc8f6fd4eaaff43e2857509011","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.6.6.tgz","fileCount":104,"integrity":"sha512-rUU77pgM0wm7kpURebTm/3UhIXHePQ35mxLjPiE76Z19+NDJQJK5YX0Ibz6EpLZ69fgG5LfyZJ6uz7JxeboVRA==","signatures":[{"sig":"MEUCIB/XTggCqx3fK/BSyJVP2fdfyspaNEloVrXcBdYePa9hAiEA0hsJjKEDfPEERBb0+SQrJvz/fAXgZNXpu1OyYffu394=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1679218},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/script.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/lib/hd.d.ts","import":"./dist/lib/hd.js","default":"./dist/lib/hd.js"},"./ecc":{"types":"./dist/lib/ecc.d.ts","import":"./dist/lib/ecc.js","default":"./dist/lib/ecc.js"},"./ecdh":{"types":"./dist/lib/ecdh.d.ts","import":"./dist/lib/ecdh.js","default":"./dist/lib/ecdh.js"},"./hash":{"types":"./dist/lib/hash.d.ts","import":"./dist/lib/hash.js","default":"./dist/lib/hash.js"},"./keys":{"types":"./dist/lib/keys.d.ts","import":"./dist/lib/keys.js","default":"./dist/lib/keys.js"},"./math":{"types":"./dist/lib/math.d.ts","import":"./dist/lib/math.js","default":"./dist/lib/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./proof":{"types":"./dist/lib/proof.d.ts","import":"./dist/lib/proof.js","default":"./dist/lib/proof.js"},"./merkle":{"types":"./dist/lib/merkle.d.ts","import":"./dist/lib/merkle.js","default":"./dist/lib/merkle.js"},"./shamir":{"types":"./dist/lib/shamir.d.ts","import":"./dist/lib/shamir.js","default":"./dist/lib/shamir.js"},"./signer":{"types":"./dist/lib/sig.d.ts","import":"./dist/lib/sig.js","default":"./dist/lib/sig.js"}},"scripts":{"test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"./build.sh","release":"yarn test && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.2.3","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.1.1","tape":"^5.7.2","tslib":"^2.6.2","rollup":"^4.4.0","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.9.0","@types/tape":"^5.6.4","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.6.6_1701900062470_0.849047767946207","host":"s3://npm-registry-packages"}},"2.6.7":{"name":"@cmdcode/crypto-tools","version":"2.6.7","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.6.7","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"3f4fbe9a742a051e938cc6dc1f0a433ad5977fc7","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.6.7.tgz","fileCount":104,"integrity":"sha512-HyJgF8EnIAVdyxO362VqgPGQlG/oiwoxMFiA3lRp8iLeTb7DHzOGzvWhvBKsBXLIqxKmHNkeLiaaXQ5P8PCIOw==","signatures":[{"sig":"MEUCIQDpeL0Xerg2KzjDu4mGwVc666f4BxXE9xE795+jxO3NzAIgSHxJAOjjLHIlHc4cCG4vITUee8ksjYq4G8hJ37d/ddU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1679365},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/script.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/lib/hd.d.ts","import":"./dist/lib/hd.js","default":"./dist/lib/hd.js"},"./ecc":{"types":"./dist/lib/ecc.d.ts","import":"./dist/lib/ecc.js","default":"./dist/lib/ecc.js"},"./ecdh":{"types":"./dist/lib/ecdh.d.ts","import":"./dist/lib/ecdh.js","default":"./dist/lib/ecdh.js"},"./hash":{"types":"./dist/lib/hash.d.ts","import":"./dist/lib/hash.js","default":"./dist/lib/hash.js"},"./keys":{"types":"./dist/lib/keys.d.ts","import":"./dist/lib/keys.js","default":"./dist/lib/keys.js"},"./math":{"types":"./dist/lib/math.d.ts","import":"./dist/lib/math.js","default":"./dist/lib/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./proof":{"types":"./dist/lib/proof.d.ts","import":"./dist/lib/proof.js","default":"./dist/lib/proof.js"},"./cipher":{"types":"./dist/lib/cipher.d.ts","import":"./dist/lib/cipher.js","default":"./dist/lib/cipher.js"},"./merkle":{"types":"./dist/lib/merkle.d.ts","import":"./dist/lib/merkle.js","default":"./dist/lib/merkle.js"},"./shamir":{"types":"./dist/lib/shamir.d.ts","import":"./dist/lib/shamir.js","default":"./dist/lib/shamir.js"},"./signer":{"types":"./dist/lib/sig.d.ts","import":"./dist/lib/sig.js","default":"./dist/lib/sig.js"}},"scripts":{"test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"./build.sh","release":"yarn test && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.2.3","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.1.1","tape":"^5.7.2","tslib":"^2.6.2","rollup":"^4.4.0","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.9.0","@types/tape":"^5.6.4","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.6.7_1701900473942_0.3455775527065834","host":"s3://npm-registry-packages"}},"2.6.8":{"name":"@cmdcode/crypto-tools","version":"2.6.8","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.6.8","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"d28da94d20dfa6dd49ea8bdcec68fc590abdb4e1","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.6.8.tgz","fileCount":104,"integrity":"sha512-xqTHK9XdLH8M58HaO1in8VGWvu9LEMgL3UTOPq42SKA0b0tvsQ4hho5xCC+zCrno3lOy0OEtvBVwZfT4qHMkUQ==","signatures":[{"sig":"MEMCIECr9eDcSHOcBkHLyQlJDVl/rKpJoBU3UwP6dFQ5AlWqAh9yUVdX2yrw8oq9kfsljo9Hip5b5HEQsJY0+emzntoU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1679787},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/script.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/lib/hd.d.ts","import":"./dist/lib/hd.js","default":"./dist/lib/hd.js"},"./ecc":{"types":"./dist/lib/ecc.d.ts","import":"./dist/lib/ecc.js","default":"./dist/lib/ecc.js"},"./ecdh":{"types":"./dist/lib/ecdh.d.ts","import":"./dist/lib/ecdh.js","default":"./dist/lib/ecdh.js"},"./hash":{"types":"./dist/lib/hash.d.ts","import":"./dist/lib/hash.js","default":"./dist/lib/hash.js"},"./keys":{"types":"./dist/lib/keys.d.ts","import":"./dist/lib/keys.js","default":"./dist/lib/keys.js"},"./math":{"types":"./dist/lib/math.d.ts","import":"./dist/lib/math.js","default":"./dist/lib/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./proof":{"types":"./dist/lib/proof.d.ts","import":"./dist/lib/proof.js","default":"./dist/lib/proof.js"},"./cipher":{"types":"./dist/lib/cipher.d.ts","import":"./dist/lib/cipher.js","default":"./dist/lib/cipher.js"},"./merkle":{"types":"./dist/lib/merkle.d.ts","import":"./dist/lib/merkle.js","default":"./dist/lib/merkle.js"},"./shamir":{"types":"./dist/lib/shamir.d.ts","import":"./dist/lib/shamir.js","default":"./dist/lib/shamir.js"},"./signer":{"types":"./dist/lib/sig.d.ts","import":"./dist/lib/sig.js","default":"./dist/lib/sig.js"}},"scripts":{"test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"./build.sh","release":"yarn test && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.2.3","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.1.1","tape":"^5.7.2","tslib":"^2.6.2","rollup":"^4.4.0","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.9.0","@types/tape":"^5.6.4","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.6.8_1701904993481_0.3436548105855819","host":"s3://npm-registry-packages"}},"2.6.9":{"name":"@cmdcode/crypto-tools","version":"2.6.9","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.6.9","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"423d46da08e638e299cff935a26aefcaeafad1fb","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.6.9.tgz","fileCount":104,"integrity":"sha512-evmtcMBHuyNudyoKGgh1Pw7jPHVVWdffz38gGOaZ6N0Gzba499tK95u+GtbqguFZ9T4vrr2qNB0TcGPsxd8w4w==","signatures":[{"sig":"MEQCIHpmNaFjPywQiJOPB6I56KlieNRn1pjRVpLDhjkYIlkMAiBVhUvZLkMhzweKUZNojd6HAPYYKXZBEfQVGy5yP/+CtQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1677596},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/script.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/lib/hd.d.ts","import":"./dist/lib/hd.js","default":"./dist/lib/hd.js"},"./ecc":{"types":"./dist/lib/ecc.d.ts","import":"./dist/lib/ecc.js","default":"./dist/lib/ecc.js"},"./ecdh":{"types":"./dist/lib/ecdh.d.ts","import":"./dist/lib/ecdh.js","default":"./dist/lib/ecdh.js"},"./hash":{"types":"./dist/lib/hash.d.ts","import":"./dist/lib/hash.js","default":"./dist/lib/hash.js"},"./keys":{"types":"./dist/lib/keys.d.ts","import":"./dist/lib/keys.js","default":"./dist/lib/keys.js"},"./math":{"types":"./dist/lib/math.d.ts","import":"./dist/lib/math.js","default":"./dist/lib/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./proof":{"types":"./dist/lib/proof.d.ts","import":"./dist/lib/proof.js","default":"./dist/lib/proof.js"},"./cipher":{"types":"./dist/lib/cipher.d.ts","import":"./dist/lib/cipher.js","default":"./dist/lib/cipher.js"},"./merkle":{"types":"./dist/lib/merkle.d.ts","import":"./dist/lib/merkle.js","default":"./dist/lib/merkle.js"},"./shamir":{"types":"./dist/lib/shamir.d.ts","import":"./dist/lib/shamir.js","default":"./dist/lib/shamir.js"},"./signer":{"types":"./dist/lib/sig.d.ts","import":"./dist/lib/sig.js","default":"./dist/lib/sig.js"}},"scripts":{"test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"./build.sh","release":"yarn test && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.2.3","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.1.1","tape":"^5.7.2","tslib":"^2.6.2","rollup":"^4.4.0","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.9.0","@types/tape":"^5.6.4","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.6.9_1701905726213_0.8366661361839061","host":"s3://npm-registry-packages"}},"2.6.10":{"name":"@cmdcode/crypto-tools","version":"2.6.10","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.6.10","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"51ccbb21d1c0176958608641a389e1209a11cdec","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.6.10.tgz","fileCount":104,"integrity":"sha512-5X5aOb4wPr9DjVKZwQnOihzTGbLpkxR15jxMzRWgItEsEsK3FGtFH1qVTmhBnq40n04RrA6H22S+5qhNa/SLyQ==","signatures":[{"sig":"MEQCIAnVWGpDAVWGXi+7ugG/tALAjodezdM+WlIn4EmjIlMoAiAv16jjJWKWvMpHKUPWivsXlPWoVLe7C4DG54egIgTvrQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1677583},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/script.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/lib/hd.d.ts","import":"./dist/lib/hd.js","default":"./dist/lib/hd.js"},"./ecc":{"types":"./dist/lib/ecc.d.ts","import":"./dist/lib/ecc.js","default":"./dist/lib/ecc.js"},"./ecdh":{"types":"./dist/lib/ecdh.d.ts","import":"./dist/lib/ecdh.js","default":"./dist/lib/ecdh.js"},"./hash":{"types":"./dist/lib/hash.d.ts","import":"./dist/lib/hash.js","default":"./dist/lib/hash.js"},"./keys":{"types":"./dist/lib/keys.d.ts","import":"./dist/lib/keys.js","default":"./dist/lib/keys.js"},"./math":{"types":"./dist/lib/math.d.ts","import":"./dist/lib/math.js","default":"./dist/lib/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./proof":{"types":"./dist/lib/proof.d.ts","import":"./dist/lib/proof.js","default":"./dist/lib/proof.js"},"./cipher":{"types":"./dist/lib/cipher.d.ts","import":"./dist/lib/cipher.js","default":"./dist/lib/cipher.js"},"./merkle":{"types":"./dist/lib/merkle.d.ts","import":"./dist/lib/merkle.js","default":"./dist/lib/merkle.js"},"./shamir":{"types":"./dist/lib/shamir.d.ts","import":"./dist/lib/shamir.js","default":"./dist/lib/shamir.js"},"./signer":{"types":"./dist/lib/sig.d.ts","import":"./dist/lib/sig.js","default":"./dist/lib/sig.js"}},"scripts":{"test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"./build.sh","release":"yarn test && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.2.4","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.1.1","tape":"^5.7.2","tslib":"^2.6.2","rollup":"^4.4.0","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.9.0","@types/tape":"^5.6.4","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.6.10_1701908950322_0.24826770719900404","host":"s3://npm-registry-packages"}},"2.7.0":{"name":"@cmdcode/crypto-tools","version":"2.7.0","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.7.0","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"fbeed1d34905f8acf5e2d7255bc4de9c65116fa0","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.7.0.tgz","fileCount":89,"integrity":"sha512-+cySDGrbFzy9wp+NDa/xRio5Af+E0S20YoJoWNNX3/v3s0rhhj+NBOWpSPK4t9Dkf+ZjzveGdbnK2y4VWkuN9g==","signatures":[{"sig":"MEUCIQDD2PqcWRgiAELxQbHyClfmrvOIulVAFUxZinzemctpTgIgb5kP+9OtThOicdOQTB16WFtsR9/Fuq6UxCbFVuv4+hk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1634600},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/script.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/lib/hd.d.ts","import":"./dist/lib/hd.js","default":"./dist/lib/hd.js"},"./ecc":{"types":"./dist/lib/ecc.d.ts","import":"./dist/lib/ecc.js","default":"./dist/lib/ecc.js"},"./hash":{"types":"./dist/lib/hash.d.ts","import":"./dist/lib/hash.js","default":"./dist/lib/hash.js"},"./keys":{"types":"./dist/lib/keys.d.ts","import":"./dist/lib/keys.js","default":"./dist/lib/keys.js"},"./math":{"types":"./dist/lib/math.d.ts","import":"./dist/lib/math.js","default":"./dist/lib/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./cipher":{"types":"./dist/lib/cipher.d.ts","import":"./dist/lib/cipher.js","default":"./dist/lib/cipher.js"},"./merkle":{"types":"./dist/lib/merkle.d.ts","import":"./dist/lib/merkle.js","default":"./dist/lib/merkle.js"},"./shamir":{"types":"./dist/lib/shamir.d.ts","import":"./dist/lib/shamir.js","default":"./dist/lib/shamir.js"},"./signer":{"types":"./dist/lib/sig.d.ts","import":"./dist/lib/sig.js","default":"./dist/lib/sig.js"}},"scripts":{"test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"./build.sh","release":"yarn test && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.2.4","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.1.1","tape":"^5.7.2","tslib":"^2.6.2","rollup":"^4.4.0","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.9.0","@types/tape":"^5.6.4","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.7.0_1704848941315_0.10096123712002969","host":"s3://npm-registry-packages"}},"2.7.1":{"name":"@cmdcode/crypto-tools","version":"2.7.1","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.7.1","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"4794ec66bbca519667420f036fe2f5b463a0c181","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.7.1.tgz","fileCount":94,"integrity":"sha512-sEGiTOdFNEV8RfP+tgNm9u7uJIJFzxfoA15hU4lE5COPseSfMdblnvGkTT/0vIskaS+2J1A29KfZAonC6YW3Vg==","signatures":[{"sig":"MEUCIQCLUaT314YPsT2dtuy8ypM/H1faETygLDyyAyg9/8gMywIgTG0YI9Pz/UZ+u5k4n8sznyHi7/UBVr5zUorIlEaGs3Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1637806},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/script.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/lib/hd.d.ts","import":"./dist/lib/hd.js","default":"./dist/lib/hd.js"},"./ecc":{"types":"./dist/lib/ecc.d.ts","import":"./dist/lib/ecc.js","default":"./dist/lib/ecc.js"},"./ecdh":{"types":"./dist/lib/ecdh.d.ts","import":"./dist/lib/ecdh.js","default":"./dist/lib/ecdh.js"},"./hash":{"types":"./dist/lib/hash.d.ts","import":"./dist/lib/hash.js","default":"./dist/lib/hash.js"},"./keys":{"types":"./dist/lib/keys.d.ts","import":"./dist/lib/keys.js","default":"./dist/lib/keys.js"},"./math":{"types":"./dist/lib/math.d.ts","import":"./dist/lib/math.js","default":"./dist/lib/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./cipher":{"types":"./dist/lib/cipher.d.ts","import":"./dist/lib/cipher.js","default":"./dist/lib/cipher.js"},"./merkle":{"types":"./dist/lib/merkle.d.ts","import":"./dist/lib/merkle.js","default":"./dist/lib/merkle.js"},"./shamir":{"types":"./dist/lib/shamir.d.ts","import":"./dist/lib/shamir.js","default":"./dist/lib/shamir.js"},"./signer":{"types":"./dist/lib/sig.d.ts","import":"./dist/lib/sig.js","default":"./dist/lib/sig.js"}},"scripts":{"test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"./build.sh","release":"yarn test && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.2.4","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.1.1","tape":"^5.7.2","tslib":"^2.6.2","rollup":"^4.4.0","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.9.0","@types/tape":"^5.6.4","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.7.1_1704852598240_0.22466047278105128","host":"s3://npm-registry-packages"}},"2.7.2":{"name":"@cmdcode/crypto-tools","version":"2.7.2","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.7.2","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"e3eb4b9846480eb537807db00ef1e8ca8a00455a","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.7.2.tgz","fileCount":94,"integrity":"sha512-Nn6hURig2Udwk0eAC5oq+7x25beHp4yP78Ez5v4TV2VEymUCH6IjDHWNVmU9izN7s76WduL1uRrc4Xv874tJFA==","signatures":[{"sig":"MEQCIAX29Hao34qHvCgB6xocdqhNtfXumzbunSjl01MECo/JAiABiva1PnT8UedsCJ6haqnD7ksGuaD95wTKqezjKqKQ7A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1637761},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/script.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/lib/hd.d.ts","import":"./dist/lib/hd.js","default":"./dist/lib/hd.js"},"./ecc":{"types":"./dist/lib/ecc.d.ts","import":"./dist/lib/ecc.js","default":"./dist/lib/ecc.js"},"./ecdh":{"types":"./dist/lib/ecdh.d.ts","import":"./dist/lib/ecdh.js","default":"./dist/lib/ecdh.js"},"./hash":{"types":"./dist/lib/hash.d.ts","import":"./dist/lib/hash.js","default":"./dist/lib/hash.js"},"./keys":{"types":"./dist/lib/keys.d.ts","import":"./dist/lib/keys.js","default":"./dist/lib/keys.js"},"./math":{"types":"./dist/lib/math.d.ts","import":"./dist/lib/math.js","default":"./dist/lib/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./cipher":{"types":"./dist/lib/cipher.d.ts","import":"./dist/lib/cipher.js","default":"./dist/lib/cipher.js"},"./merkle":{"types":"./dist/lib/merkle.d.ts","import":"./dist/lib/merkle.js","default":"./dist/lib/merkle.js"},"./shamir":{"types":"./dist/lib/shamir.d.ts","import":"./dist/lib/shamir.js","default":"./dist/lib/shamir.js"},"./signer":{"types":"./dist/lib/sig.d.ts","import":"./dist/lib/sig.js","default":"./dist/lib/sig.js"}},"scripts":{"test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"./build.sh","release":"yarn test && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.2.4","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.1.1","tape":"^5.7.2","tslib":"^2.6.2","rollup":"^4.4.0","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.9.0","@types/tape":"^5.6.4","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.7.2_1704853333939_0.39139195048312625","host":"s3://npm-registry-packages"}},"2.7.3":{"name":"@cmdcode/crypto-tools","version":"2.7.3","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.7.3","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"651d177bc0a4bca0c803b688474649aafc80307c","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.7.3.tgz","fileCount":94,"integrity":"sha512-J5so0mnK4EzzpWYKJYvYWT3cer/pahmfShArIeBBSwYTaPWR5YNZYa0puMmgWMCN3UFTIJjX4CGUtBFfxZg7ZA==","signatures":[{"sig":"MEYCIQDKmx4Qq5Ixt9dSuSMsNO+zbprBTeA4yh7g4armWUNzxwIhAMDbj2pQVVhXtHpGPiGXzV48kHgOP+BOmDOL0UOPsSiH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1637692},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/script.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/lib/hd.d.ts","import":"./dist/lib/hd.js","default":"./dist/lib/hd.js"},"./ecc":{"types":"./dist/lib/ecc.d.ts","import":"./dist/lib/ecc.js","default":"./dist/lib/ecc.js"},"./ecdh":{"types":"./dist/lib/ecdh.d.ts","import":"./dist/lib/ecdh.js","default":"./dist/lib/ecdh.js"},"./hash":{"types":"./dist/lib/hash.d.ts","import":"./dist/lib/hash.js","default":"./dist/lib/hash.js"},"./keys":{"types":"./dist/lib/keys.d.ts","import":"./dist/lib/keys.js","default":"./dist/lib/keys.js"},"./math":{"types":"./dist/lib/math.d.ts","import":"./dist/lib/math.js","default":"./dist/lib/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./cipher":{"types":"./dist/lib/cipher.d.ts","import":"./dist/lib/cipher.js","default":"./dist/lib/cipher.js"},"./merkle":{"types":"./dist/lib/merkle.d.ts","import":"./dist/lib/merkle.js","default":"./dist/lib/merkle.js"},"./shamir":{"types":"./dist/lib/shamir.d.ts","import":"./dist/lib/shamir.js","default":"./dist/lib/shamir.js"},"./signer":{"types":"./dist/lib/sig.d.ts","import":"./dist/lib/sig.js","default":"./dist/lib/sig.js"}},"scripts":{"test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"./build.sh","release":"yarn test && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.2.4","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.1.1","tape":"^5.7.2","tslib":"^2.6.2","rollup":"^4.4.0","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.9.0","@types/tape":"^5.6.4","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.7.3_1704853950327_0.5102102383030578","host":"s3://npm-registry-packages"}},"2.7.4":{"name":"@cmdcode/crypto-tools","version":"2.7.4","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.7.4","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"82084584e29fd20e7a2de1477ad41bb637e5f1df","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.7.4.tgz","fileCount":94,"integrity":"sha512-nyxJEASUz8Zw5nzFnFPkU4R4yx9cpa5M1QQ5RHjvnm9w3WlWvIsQ7HHzTMCIkXWbu1H9ol0KQTnWnzESa7MP0g==","signatures":[{"sig":"MEUCIQDHA9f0+AEQ/xjNYFZ46iseIMBWqp/92xDDiTMGfOKEKgIgFM9tPAA2eF+ZcD50Cfxu0p8KV+HIf/TYhdG+GvzHyYE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1637586},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/script.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/lib/hd.d.ts","import":"./dist/lib/hd.js","default":"./dist/lib/hd.js"},"./ecc":{"types":"./dist/lib/ecc.d.ts","import":"./dist/lib/ecc.js","default":"./dist/lib/ecc.js"},"./ecdh":{"types":"./dist/lib/ecdh.d.ts","import":"./dist/lib/ecdh.js","default":"./dist/lib/ecdh.js"},"./hash":{"types":"./dist/lib/hash.d.ts","import":"./dist/lib/hash.js","default":"./dist/lib/hash.js"},"./keys":{"types":"./dist/lib/keys.d.ts","import":"./dist/lib/keys.js","default":"./dist/lib/keys.js"},"./math":{"types":"./dist/lib/math.d.ts","import":"./dist/lib/math.js","default":"./dist/lib/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./cipher":{"types":"./dist/lib/cipher.d.ts","import":"./dist/lib/cipher.js","default":"./dist/lib/cipher.js"},"./merkle":{"types":"./dist/lib/merkle.d.ts","import":"./dist/lib/merkle.js","default":"./dist/lib/merkle.js"},"./shamir":{"types":"./dist/lib/shamir.d.ts","import":"./dist/lib/shamir.js","default":"./dist/lib/shamir.js"},"./signer":{"types":"./dist/lib/sig.d.ts","import":"./dist/lib/sig.js","default":"./dist/lib/sig.js"}},"scripts":{"test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"./build.sh","release":"yarn test && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.2.4","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.1.1","tape":"^5.7.2","tslib":"^2.6.2","rollup":"^4.4.0","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.9.0","@types/tape":"^5.6.4","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.7.4_1704855890032_0.07168378743324166","host":"s3://npm-registry-packages"}},"2.7.5":{"name":"@cmdcode/crypto-tools","version":"2.7.5","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.7.5","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"45cc0f3e0124737df3edc45b3605e3a576c3b414","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.7.5.tgz","fileCount":94,"integrity":"sha512-srtUnj9o3j/QO+8Vd1ovTz4p0juMTwevBDXvpaaVHEDGEoLAyvh30RBCIOlpyhTeXjmNd5UKmXtFI36GfWIIew==","signatures":[{"sig":"MEYCIQDex62jVLDCeSPTHTLTPd6hdwUxKgFA0toRiqQZHmagPAIhALwH7TyFJcxyoLkETAqCOGx0hUIZ8lM2CWUpEchDigOm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1962105},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/script.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/lib/hd.d.ts","import":"./dist/lib/hd.js","default":"./dist/lib/hd.js"},"./ecc":{"types":"./dist/lib/ecc.d.ts","import":"./dist/lib/ecc.js","default":"./dist/lib/ecc.js"},"./ecdh":{"types":"./dist/lib/ecdh.d.ts","import":"./dist/lib/ecdh.js","default":"./dist/lib/ecdh.js"},"./hash":{"types":"./dist/lib/hash.d.ts","import":"./dist/lib/hash.js","default":"./dist/lib/hash.js"},"./keys":{"types":"./dist/lib/keys.d.ts","import":"./dist/lib/keys.js","default":"./dist/lib/keys.js"},"./math":{"types":"./dist/lib/math.d.ts","import":"./dist/lib/math.js","default":"./dist/lib/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./cipher":{"types":"./dist/lib/cipher.d.ts","import":"./dist/lib/cipher.js","default":"./dist/lib/cipher.js"},"./merkle":{"types":"./dist/lib/merkle.d.ts","import":"./dist/lib/merkle.js","default":"./dist/lib/merkle.js"},"./shamir":{"types":"./dist/lib/shamir.d.ts","import":"./dist/lib/shamir.js","default":"./dist/lib/shamir.js"},"./signer":{"types":"./dist/lib/sig.d.ts","import":"./dist/lib/sig.js","default":"./dist/lib/sig.js"}},"scripts":{"test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"./build.sh","release":"yarn test && yarn build","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.2.4","@noble/curves":"^1.1.0","@noble/hashes":"^1.3.0","@noble/ciphers":"^0.4.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.1.1","tape":"^5.7.2","tslib":"^2.6.2","rollup":"^4.4.0","tap-spec":"^5.0.0","typescript":"^5.1.6","@types/node":"^20.9.0","@types/tape":"^5.6.4","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.7.5_1705608548177_0.9996638629656256","host":"s3://npm-registry-packages"}},"2.7.6":{"name":"@cmdcode/crypto-tools","version":"2.7.6","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.7.6","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"a028526b5cb1692e5624cff03d537a1f37502fe3","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.7.6.tgz","fileCount":94,"integrity":"sha512-4Ivetp6khIrJ3fxlY0PlvhxAZ811BBgQnb64TDpNLXo5pDqYiXw7Chgg55t81WKyiv/n0ex+uuvk6zNoTYW2BA==","signatures":[{"sig":"MEYCIQDthTuC960K6Mcq2RiXYikJJ6Y9j95prQxcJxfVsVoUvgIhAMNRonME9roobTlrHd1hY7sP4g38cUcFkKdmYrOehS3q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1972207},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/script.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/lib/hd.d.ts","import":"./dist/lib/hd.js","default":"./dist/lib/hd.js"},"./ecc":{"types":"./dist/lib/ecc.d.ts","import":"./dist/lib/ecc.js","default":"./dist/lib/ecc.js"},"./ecdh":{"types":"./dist/lib/ecdh.d.ts","import":"./dist/lib/ecdh.js","default":"./dist/lib/ecdh.js"},"./hash":{"types":"./dist/lib/hash.d.ts","import":"./dist/lib/hash.js","default":"./dist/lib/hash.js"},"./keys":{"types":"./dist/lib/keys.d.ts","import":"./dist/lib/keys.js","default":"./dist/lib/keys.js"},"./math":{"types":"./dist/lib/math.d.ts","import":"./dist/lib/math.js","default":"./dist/lib/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./cipher":{"types":"./dist/lib/cipher.d.ts","import":"./dist/lib/cipher.js","default":"./dist/lib/cipher.js"},"./merkle":{"types":"./dist/lib/merkle.d.ts","import":"./dist/lib/merkle.js","default":"./dist/lib/merkle.js"},"./shamir":{"types":"./dist/lib/shamir.d.ts","import":"./dist/lib/shamir.js","default":"./dist/lib/shamir.js"},"./signer":{"types":"./dist/lib/sig.d.ts","import":"./dist/lib/sig.js","default":"./dist/lib/sig.js"}},"scripts":{"test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"rm -rf ./dist && yarn tsc","bundle":"yarn rollup -c rollup.config.ts --configPlugin typescript","release":"yarn test && yarn build && yarn bundle","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.2.5","@noble/curves":"^1.3.0","@noble/hashes":"^1.3.3","@noble/ciphers":"^0.4.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tape":"^5.7.4","tslib":"^2.6.2","rollup":"^4.9.6","tap-spec":"^5.0.0","typescript":"^5.3.3","@types/node":"^20.11.10","@types/tape":"^5.6.4","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.6","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.7.6_1706575429197_0.10809633167918387","host":"s3://npm-registry-packages"}},"2.7.7":{"name":"@cmdcode/crypto-tools","version":"2.7.7","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","_id":"@cmdcode/crypto-tools@2.7.7","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"dist":{"shasum":"3f6eac46801b449e2f569a3142f58ce98f0b3fff","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.7.7.tgz","fileCount":94,"integrity":"sha512-QRmh34gY3qS8D9BcpMT/EA5WEf3wYIq7fjqkPC76dxLnYrV+kot2qfPt1rq6TOPZgZExml8OzWdeFxwygTfZpQ==","signatures":[{"sig":"MEUCIQCKQ/I79xwsq7efg7nglRK5r5FXq4bTTn8zXLA+sHzQcgIge7N+HWhruodIRFdF7+g501rDwYABLQOn++YGYykkL7k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1972947},"main":"./dist/main.cjs","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/script.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./hd":{"types":"./dist/lib/hd.d.ts","import":"./dist/lib/hd.js","default":"./dist/lib/hd.js"},"./ecc":{"types":"./dist/lib/ecc.d.ts","import":"./dist/lib/ecc.js","default":"./dist/lib/ecc.js"},"./ecdh":{"types":"./dist/lib/ecdh.d.ts","import":"./dist/lib/ecdh.js","default":"./dist/lib/ecdh.js"},"./hash":{"types":"./dist/lib/hash.d.ts","import":"./dist/lib/hash.js","default":"./dist/lib/hash.js"},"./keys":{"types":"./dist/lib/keys.d.ts","import":"./dist/lib/keys.js","default":"./dist/lib/keys.js"},"./math":{"types":"./dist/lib/math.d.ts","import":"./dist/lib/math.js","default":"./dist/lib/math.js"},"./util":{"types":"./dist/util.d.ts","import":"./dist/util.js","default":"./dist/util.js"},"./cipher":{"types":"./dist/lib/cipher.d.ts","import":"./dist/lib/cipher.js","default":"./dist/lib/cipher.js"},"./merkle":{"types":"./dist/lib/merkle.d.ts","import":"./dist/lib/merkle.js","default":"./dist/lib/merkle.js"},"./shamir":{"types":"./dist/lib/shamir.d.ts","import":"./dist/lib/shamir.js","default":"./dist/lib/shamir.js"},"./signer":{"types":"./dist/lib/sig.d.ts","import":"./dist/lib/sig.js","default":"./dist/lib/sig.js"}},"scripts":{"test":"tsx test/tap.ts | tap-spec","bench":"tsx test/bench.ts","build":"rm -rf ./dist && yarn tsc","bundle":"yarn rollup -c rollup.config.ts --configPlugin typescript","release":"yarn test && yarn build && yarn bundle","scratch":"tsx test/scratch.ts"},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"repository":{"url":"https://github.com/cmdruid/crypto-tools.git","type":"git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","directories":{},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","dependencies":{"@cmdcode/buff":"^2.2.5","@noble/curves":"^1.3.0","@noble/hashes":"^1.3.3","@noble/ciphers":"^0.4.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","tape":"^5.7.4","tslib":"^2.6.2","rollup":"^4.9.6","tap-spec":"^5.0.0","typescript":"^5.3.3","@types/node":"^20.11.10","@types/tape":"^5.6.4","tiny-secp256k1":"^2.2.3","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.6","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/crypto-tools_2.7.7_1726635253823_0.5836722579073221","host":"s3://npm-registry-packages"}},"2.8.0":{"name":"@cmdcode/crypto-tools","description":"A modern suite of cryptography tools, built for the plebian developer.","author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"version":"2.8.0","type":"module","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/main.cjs"}},"./cipher":{"import":"./dist/lib/cipher.js","types":"./dist/lib/cipher.d.ts","default":"./dist/lib/cipher.js"},"./ecc":{"import":"./dist/lib/ecc.js","types":"./dist/lib/ecc.d.ts","default":"./dist/lib/ecc.js"},"./ecdh":{"import":"./dist/lib/ecdh.js","types":"./dist/lib/ecdh.d.ts","default":"./dist/lib/ecdh.js"},"./hash":{"import":"./dist/lib/hash.js","types":"./dist/lib/hash.d.ts","default":"./dist/lib/hash.js"},"./hd":{"import":"./dist/lib/hd.js","types":"./dist/lib/hd.d.ts","default":"./dist/lib/hd.js"},"./keys":{"import":"./dist/lib/keys.js","types":"./dist/lib/keys.d.ts","default":"./dist/lib/keys.js"},"./math":{"import":"./dist/lib/math.js","types":"./dist/lib/math.d.ts","default":"./dist/lib/math.js"},"./merkle":{"import":"./dist/lib/merkle.js","types":"./dist/lib/merkle.d.ts","default":"./dist/lib/merkle.js"},"./shamir":{"import":"./dist/lib/shamir.js","types":"./dist/lib/shamir.d.ts","default":"./dist/lib/shamir.js"},"./signer":{"import":"./dist/lib/sig.js","types":"./dist/lib/sig.d.ts","default":"./dist/lib/sig.js"},"./util":{"import":"./dist/util.js","types":"./dist/util.d.ts","default":"./dist/util.js"}},"types":"./dist/index.d.ts","main":"./dist/main.cjs","unpkg":"./dist/script.js","repository":{"type":"git","url":"https://github.com/cmdruid/crypto-tools.git"},"publishConfig":{"registry":"https://registry.npmjs.org","access":"public"},"scripts":{"bench":"tsx test/bench.ts","build":"rm -rf ./dist && yarn tsc","bundle":"yarn rollup -c rollup.config.ts --configPlugin typescript","scratch":"tsx test/scratch.ts","test":"tsx test/tap.ts | tap-spec","release":"yarn test && yarn build && yarn bundle"},"dependencies":{"@cmdcode/buff":"^2.2.5","@noble/ciphers":"^0.4.1","@noble/curves":"^1.3.0","@noble/hashes":"^1.3.3"},"devDependencies":{"@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-typescript":"^11.1.6","@types/node":"^20.11.10","@types/tape":"^5.6.4","rollup":"^4.9.6","tap-spec":"^5.0.0","tape":"^5.7.4","tiny-secp256k1":"^2.2.3","tslib":"^2.6.2","tsx":"^4.7.0","typescript":"^5.3.3"},"licenseText":"Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN\n    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS\n    INFORMATION ON AN \"AS-IS\" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES\n    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS\n    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM\n    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED\n    HEREUNDER.\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer\nexclusive Copyright and Related Rights (defined below) upon the creator\nand subsequent owner(s) (each and all, an \"owner\") of an original work of\nauthorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for\nthe purpose of contributing to a commons of creative, cultural and\nscientific works (\"Commons\") that the public can reliably and without fear\nof later claims of infringement build upon, modify, incorporate in other\nworks, reuse and redistribute as freely as possible in any form whatsoever\nand for any purposes, including without limitation commercial purposes.\nThese owners may contribute to the Commons to promote the ideal of a free\nculture and the further production of creative, cultural and scientific\nworks, or to gain reputation or greater distribution for their Work in\npart through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any\nexpectation of additional consideration or compensation, the person\nassociating CC0 with a Work (the \"Affirmer\"), to the extent that he or she\nis an owner of Copyright and Related Rights in the Work, voluntarily\nelects to apply CC0 to the Work and publicly distribute the Work under its\nterms, with knowledge of his or her Copyright and Related Rights in the\nWork and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be\nprotected by copyright and related or neighboring rights (\"Copyright and\nRelated Rights\"). Copyright and Related Rights include, but are not\nlimited to, the following:\n\n  i. the right to reproduce, adapt, distribute, perform, display,\n     communicate, and translate a Work;\n ii. moral rights retained by the original author(s) and/or performer(s);\niii. publicity and privacy rights pertaining to a person's image or\n     likeness depicted in a Work;\n iv. rights protecting against unfair competition in regards to a Work,\n     subject to the limitations in paragraph 4(a), below;\n  v. rights protecting the extraction, dissemination, use and reuse of data\n     in a Work;\n vi. database rights (such as those arising under Directive 96/9/EC of the\n     European Parliament and of the Council of 11 March 1996 on the legal\n     protection of databases, and under any national implementation\n     thereof, including any amended or successor version of such\n     directive); and\nvii. other similar, equivalent or corresponding rights throughout the\n     world based on applicable law or treaty, and any national\n     implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention\nof, applicable law, Affirmer hereby overtly, fully, permanently,\nirrevocably and unconditionally waives, abandons, and surrenders all of\nAffirmer's Copyright and Related Rights and associated claims and causes\nof action, whether now known or unknown (including existing as well as\nfuture claims and causes of action), in the Work (i) in all territories\nworldwide, (ii) for the maximum duration provided by applicable law or\ntreaty (including future time extensions), (iii) in any current or future\nmedium and for any number of copies, and (iv) for any purpose whatsoever,\nincluding without limitation commercial, advertising or promotional\npurposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each\nmember of the public at large and to the detriment of Affirmer's heirs and\nsuccessors, fully intending that such Waiver shall not be subject to\nrevocation, rescission, cancellation, termination, or any other legal or\nequitable action to disrupt the quiet enjoyment of the Work by the public\nas contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason\nbe judged legally invalid or ineffective under applicable law, then the\nWaiver shall be preserved to the maximum extent permitted taking into\naccount Affirmer's express Statement of Purpose. In addition, to the\nextent the Waiver is so judged Affirmer hereby grants to each affected\nperson a royalty-free, non transferable, non sublicensable, non exclusive,\nirrevocable and unconditional license to exercise Affirmer's Copyright and\nRelated Rights in the Work (i) in all territories worldwide, (ii) for the\nmaximum duration provided by applicable law or treaty (including future\ntime extensions), (iii) in any current or future medium and for any number\nof copies, and (iv) for any purpose whatsoever, including without\nlimitation commercial, advertising or promotional purposes (the\n\"License\"). The License shall be deemed effective as of the date CC0 was\napplied by Affirmer to the Work. Should any part of the License for any\nreason be judged legally invalid or ineffective under applicable law, such\npartial invalidity or ineffectiveness shall not invalidate the remainder\nof the License, and in such case Affirmer hereby affirms that he or she\nwill not (i) exercise any of his or her remaining Copyright and Related\nRights in the Work or (ii) assert any associated claims and causes of\naction with respect to the Work, in either case contrary to Affirmer's\nexpress Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n a. No trademark or patent rights held by Affirmer are waived, abandoned,\n    surrendered, licensed or otherwise affected by this document.\n b. Affirmer offers the Work as-is and makes no representations or\n    warranties of any kind concerning the Work, express, implied,\n    statutory or otherwise, including without limitation warranties of\n    title, merchantability, fitness for a particular purpose, non\n    infringement, or the absence of latent or other defects, accuracy, or\n    the present or absence of errors, whether or not discoverable, all to\n    the greatest extent permissible under applicable law.\n c. Affirmer disclaims responsibility for clearing rights of other persons\n    that may apply to the Work or any use thereof, including without\n    limitation any person's Copyright and Related Rights in the Work.\n    Further, Affirmer disclaims responsibility for obtaining any necessary\n    consents, permissions or other rights required for any use of the\n    Work.\n d. Affirmer understands and acknowledges that Creative Commons is not a\n    party to this document and has no duty or obligation with respect to\n    this CC0 or use of the Work.\n","_id":"@cmdcode/crypto-tools@2.8.0","dist":{"shasum":"6ecb8d74314b182ad8f4a02d91cd8432d4a1aa23","integrity":"sha512-p98mSC59DqY6gOaaq72xscbSexeNpJNlYGoB3tcgBM1jEQld3k9cgN+9rzLfPXWDwkIjcZjhiUw4ecj5SoWWFw==","tarball":"https://registry.npmjs.org/@cmdcode/crypto-tools/-/crypto-tools-2.8.0.tgz","fileCount":94,"unpackedSize":1972949,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGbdTAAZ66YdETDNp31yXOyw4EBxDR8tFNJhbFquoNtGAiAldmWCUn6k7oKBbvxoWicWLmYc3J8ZPg8AZp9tAAKr+w=="}]},"_npmUser":{"name":"cmd-code","email":"cscottdev@protonmail.com"},"directories":{},"maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crypto-tools_2.8.0_1730662268858_0.47263252082111507"},"_hasShrinkwrap":false}},"time":{"created":"2023-09-07T17:08:30.267Z","modified":"2024-11-03T19:31:09.342Z","2.4.7":"2023-09-07T17:08:30.638Z","2.4.8":"2023-09-12T05:36:18.383Z","2.4.9":"2023-09-12T16:28:30.455Z","2.4.10":"2023-09-13T19:20:40.641Z","2.4.11":"2023-09-19T14:42:05.782Z","2.5.0":"2023-09-20T22:35:18.035Z","2.5.1":"2023-10-16T22:45:26.840Z","2.5.2":"2023-10-17T06:49:52.004Z","2.6.0":"2023-10-30T23:11:05.347Z","2.6.1":"2023-11-01T07:25:21.755Z","2.6.2":"2023-11-14T05:18:47.647Z","2.6.3":"2023-11-21T22:47:47.583Z","2.6.4":"2023-12-04T23:04:11.638Z","2.6.5":"2023-12-06T21:56:58.712Z","2.6.6":"2023-12-06T22:01:02.841Z","2.6.7":"2023-12-06T22:07:54.282Z","2.6.8":"2023-12-06T23:23:13.701Z","2.6.9":"2023-12-06T23:35:26.473Z","2.6.10":"2023-12-07T00:29:10.660Z","2.7.0":"2024-01-10T01:09:01.556Z","2.7.1":"2024-01-10T02:09:58.482Z","2.7.2":"2024-01-10T02:22:14.167Z","2.7.3":"2024-01-10T02:32:30.507Z","2.7.4":"2024-01-10T03:04:50.307Z","2.7.5":"2024-01-18T20:09:08.426Z","2.7.6":"2024-01-30T00:43:49.471Z","2.7.7":"2024-09-18T04:54:14.028Z","2.8.0":"2024-11-03T19:31:09.158Z"},"author":{"name":"Christopher Scott"},"license":"CC-BY-1.0","keywords":["secp256k1","ecdh","schnorr","shamir","bip340","bip32","hash","hmac","merkle","sha256","bitcoin","nostr","signatures","key derivation"],"repository":{"type":"git","url":"https://github.com/cmdruid/crypto-tools.git"},"description":"A modern suite of cryptography tools, built for the plebian developer.","maintainers":[{"name":"cmd-code","email":"cscottdev@protonmail.com"}],"readme":"# crypto-tools\n\nA modern suite of cryptography tools, built for the plebian developer.\n\n* All tools are written in typescript and simple to use.\n* Methods return a [Buff](https://github.com/cmdruid/buff) object for quick conversion between formats.\n* Library works in both node and the browser.\n* Uses the well-audited [@noble/curves](https://github.com/paulmillr/noble-curves) library for fast ecc operations.\n\n```ts\nimport {\n  ecdh,    // Basic methods for using the Elliptic-Curve Diffe-Hellman protocol.\n  hash,    // Includes sha256, sha512, hmac, ripemd, tagged hashing, and more.\n  hd,      // BIP-0032 based key derivation tool, with support for non-numeric paths.\n  keys,    // A suite of tools for generating and tweaking secp256k1 key pairs.\n  math,    // Bigint-based ecc math library, with added field and point arithmetic.\n  signer,  // BIP-0340 'schnorr' based signing library with an extensive API.\n  tree,    // A basic suite of tools for creating merkle trees and validating proofs.\n  Field,   // A feature-rich uint8 array class with built-in math operations.\n  Point    // A secp2561 point object with built-in math operations.\n} from '@cmdcode/crypto-tools'\n```\n\nMore documentation coming soon!  \n\n## How to Import\n\nThis library is designed to support classic and modern ESM imports, in both a nodejs and browser environment.\n\nExample install via NPM or yarn:\n\n```bash\nnpm install @cmdcode/crypto-tools || yarn add @cmdcode/crypto-tools\n```\n\nClassic import into a nodejs project:\n\n```ts\nconst { Field, Point } = require('@cmdcode/crypto-tools')\n```\n\nModern import into an nodejs project:\n\n```ts\nimport { Field, Point } from '@cmdcode/crypto-tools'\n```\n\nClassic import into a browser-based project:\n\n```html\n<script src=\"https://unpkg.com/@cmdcode/crypto-tools\"></script>\n<script>\n  const { Field, Point } = window.crypto_tools\n</script>\n```\n\nModern import into a browser-based project:\n\n```html\n<script type=\"module\">\n  import { Field, Point } from \"https://unpkg.com/@cmdcode/crypto-tools/dist/module.mjs\" \n</script>\n```\n\n## How to Use\n\nThis suite is made up of individual tools.\n\nEach tool can be unpacked from the main library, or imported and unpacked directly.\n\n```ts\n// Import tool from main library, then unpack methods.\nimport { signer } from '@cmdcode/crypto-tools'\nconst { sign_msg, verify_sig } = signer\n// Import methods from the tool directly.\nimport { sign_msg, verify_sig } from '@cmdcode/crypto-tools/signer'\n```\n\nMany methods will accept a `Bytes` value type, and return a `Buff` object. The `Bytes` type covers any data type that can be converted into raw bytes.\n\n```ts\ntype Bytes = string | number | bigint | Uint8Array | Buff\n```\n\n`Buff` works in place of a standard `Uint8Array` and offers a number of quick convertion methods.\n\n```ts\nconst seckey = get_seckey('deadbeef'.repeat(4))\nconsole.log('secret raw :', seckey)\nconsole.log('secret hex :', seckey.hex)\nconsole.log('secret big :', seckey.big)\n```\n\nYou can read more about the `Buff` API [here](https://github.com/cmdruid/buff).\n\n### ECDH Tool\n\nDerive a shared secret from between two keys, using Elliptic-Curve Diffe-Hellman protocol.\n\n```ts\nimport {\n  get_shared_key   // Get the shared secret for a given secret / public key pairing.\n  get_shared_code  // Use the derived secret to sign a message with HMAC-512.\n} from '@cmdcode/crypto-tools/ecdh'\n```\n\n### Hash Tool\n\nUsed for performing SHA-256, SHA-512, HMAC-256, HMAC-512, and other useful hashing methods.\n\n```ts\nimport {\n  sha256,   // Uses standard SHA-256 algorithm.\n  sha512,   // Uses standard SHA-512 algorithm.\n  ripe160,  // Uses RIPEMD-160 algorithm.\n  hash160,  // A double-hash algorithm used in bitcoin.\n  hash256,  // A double-hash algorithm used in bitcoin.\n  hmac256,  // Hash and sign a message using HMAC and SHA-256.\n  hmac512,  // Hash and sign a message using HMAC and SHA-512.\n  taghash,  // Creates a BIP-0340 standard 'tag' hash.\n  hash340,  // Hashes an array of data using BIP-0340 standards.\n} from '@cmdcode/crypto-tools/hash'\n```\n\nExamples:\n\n```ts\n// Each hash tool can accept many byte-compatible values.\nconst hash = sha256('fda0', 1024n, new Uint8Array(0), 42)\n// Use the taghash tool to create a BIP-0340 standard hash commitment.\nconst challenge = hash340('BIP0340/challenge', sig, pubkey, msg)\n```\n\n## HD Tool\n\nGenerate a pair of keys from a BIP-0032 style derivation path.\n\n```ts\nimport {\n  derive_key,     // Derive a key-pair using a BIP-0032* path of deterministic key tweaks.\n  parse_tweaks,   // Helper method to convert a derivation path into an array of tweaks.\n  generate_code,  // Generator method used to create the hash-chain.\n  encode_extkey   // Export a derived key-pair as a base58-encoded extended key.\n  parse_extkey    // Parse a base58-encoded extended key into its keys and meta-data.\n  derive_extkey   // Parse an extended key, then use a path to derive a child key-pair.\n} from '@cmdcode/crypto-tools/hd'\n```\n\n> Note : The derivation tool also supports using non-numeric characters in the derivation path.\n\nExamples:\n\n```ts\nimport { derive_key, encode_extkey } from '@cmdcode/crypto-tools/hd'\n// Define some sample data.\nconst seed = 'fffcf9f6f3f0edeae7e4e1dedbd8d5d2cfccc9c6c3c0bdbab7b4b1aeaba8a5a29f9c999693908d8a8784817e7b7875726f6c696663605d5a5754514e4b484542'\nconst path = \"m/0/2147483647'/1/2147483646'/2\"\n// Derive the key using the seed and derivation path.\nconst key_data = derive_key(path, seed)\n// Resulting key data:\nconsole.log('link:', key_data)\nlink: {\n  seckey : 'bb7d39bdb83ecf58f2fd82b6d918341cbef428661ef01ab97c28a4842125ac23',\n  pubkey : '024d902e1a2fc7a8755ab5b694c575fce742c48d9ff192e63df5193e4c7afe1f9c',\n  code   : '9452b549be8cea3ecb7a84bec10dcfd94afe4d129ebfd3b3cb58eedf394ed271',\n  path   : \"m/0/2147483647'/1/2147483646'/2\",\n  prev   : '02d2b36900396c9282fa14628566582f206a5dd0bcc8d5e892611806cafb0301f0'\n}\n// You can convert the key data into a base58 extended key.\nconst extkey = encode_extkey(keylink)\n// Resulting extkey:\n'extkey : xprvA2nrNbFZABcdryreWet9Ea4LvTJcGsqrMzxHx98MMrotbir7yrKCEXw7nadnHM8Dq38EGfSh6dqA9QWTyefMLEcBYJUuekgW4BYPJcr9E7j'\n```\n\n## KeyPair Tools\n\nMethods for working with key pairs on the secp256k1 curve.\n\n```ts\nimport {\n  get_seckey,     // Convert a number or byte value into a secp256k1 secret key.\n  get_pubkey,     // Generate a secp256k1 public key for a given secret key.\n  tweak_seckey,   // Apply an array of additional tweaks to a secret key.\n  tweak_pubkey,   // Apply an array of additional tweaks to a public key.\n  gen_seckey,     // Generate a random secret key (using Web Crypto API).\n  negate_seckey,  // Perform a field negation operation on a secret key.\n  gen_keypair,    // Generate a secp256k1 secret and public key pair.\n  get_keypair,    // Convert a number or byte value into a secp256k1 key pair.\n  convert_32b,    // Convert any public key into a 32-byte x-only key.\n  convert_33b,    // Convert any public key into a 33-byte compressed key.\n} from '@cmdcode/crypto-tools/keys'\n```\n\nExamples:\n\n```ts\nimport { gen_seckey, get_pubkey } from '../src/keys.js'\n// Configure a demo keypair and message.\nconst seckey = gen_seckey()\nconst pubkey = get_pubkey(seckey, true)\nconsole.log('seckey:', seckey.hex)\nconsole.log('pubkey:', pubkey.hex)\n```\n\n## Math Library\n\nA bigint math library for performing arithmetic and field / point operations.\n\n```ts\nimport {\n  fd,         // Perform various modulo arithmetic using secp256k1 field order N.\n  pt,         // Perform various point operations using secp256k1 field order P.\n  mod,        // Apply a modulo for a bigint value.\n  mod_n,      // Apply modulo N for a bigint value.\n  mod_p,      // Apply modulo P for a bigint value.\n  pow,        // Raise a number to a given power.\n  pow2,       // Raise a number 2x to a given power.\n  pow_n,      // Raise a number to a given power, modulo N.\n  sqrt_n,     // Perform a square root operation on a bigint value, modulo N.\n  sqrt_p,     // Perfrom a aquare root operation on a bigint value, modulo P.\n  invert,     // Invert / negate a bigint field value.\n  mod_bytes,  // Perform a modulo operation on a byte value.\n  in_field,   // Check if a number is within the secp256k1 field order N.\n  on_curve    // Check if a number is within the secp256k1 curve order P.\n} from '@cmdcode/crypto-tools/math'\n```\n\n## Proofing Tools\n\nA simplified data proofing system, compatible with Nostr NIP-01 signed events.\n\n```ts\nimport {\n  create_proof,    // Create a compact signature proof.\n  parse_proof,     // Parse a compact proof into JSON.\n  validate_proof,  // Validate the schema of a proof.\n  verify_proof,    // Verify the hash and signature of a proof.\n  create_event,    // Convert a proof into a NIP-01 nostr note.\n  parse_config     // Parse the proof configuration from params.\n} from '@cmdcode/crypto-tools/proof'\n```\n\nExamples:\n\n```ts\n// Setup a demo keypair and message.\nconst [ seckey, pubkey ] = gen_keypair()\n// Create a proof.\nconst data   = { name : 'bob', key : 'abcd' }\nconst stamp  = Math.floor(Date.now() / 1000)\nconst params = [[ 'kind', 10000 ], [ 'stamp', stamp ]]\nconst proof  = create_proof(seckey, data, params)\nconsole.log(proof)\n`e403621bae6dffd75c76b282cc3525da14bf55a4ee3c396279f35f766b4ad079749b45be02446dc32e4eab02be026eef1592a23c209eb8b571f4f78ac6a762405cc802eae19177096334c0d4e53add9c97dc200e3f2e5700bd17aee14beb01e983456c5cb3461f20c8f3d59e8386a0d8ad4c3d6f58cacb9fc85eef514b8fc1007c476558535de220aebc916b0974e8b76dd584ba14b479d947f9ee52c40333c8?kind=10000&stamp=1694095593`\n// Verify a proof\nconst is_valid = verify_proof(proof, data)\nconsole.log('is_valid:', is_valid)\n`is_valid : true`\n// Parse a proof into a ProofData object\nconst proof_data = parse_proof(proof)\nconsole.log('proof data:', proof_data)\nproof data: {\n  ref: 'e403621bae6dffd75c76b282cc3525da14bf55a4ee3c396279f35f766b4ad079',\n  pub: '749b45be02446dc32e4eab02be026eef1592a23c209eb8b571f4f78ac6a76240',\n  pid: '5cc802eae19177096334c0d4e53add9c97dc200e3f2e5700bd17aee14beb01e9',\n  sig: '83456c5cb3461f20c8f3d59e8386a0d8ad4c3d6f58cacb9fc85eef514b8fc1007c476558535de220aebc916b0974e8b76dd584ba14b479d947f9ee52c40333c8',\n  params: [ [ 'kind', '10000' ], [ 'stamp', '1694095593' ] ]\n}\n// Convert a proof into a nostr note.\nconst event = create_event(proof, data)\nconsole.log('event:', event)\nevent: {\n  kind: 10000,\n  content: '{\"name\":\"bob\",\"key\":\"abcd\"}',\n  tags: [],\n  pubkey: '749b45be02446dc32e4eab02be026eef1592a23c209eb8b571f4f78ac6a76240',\n  id: '5cc802eae19177096334c0d4e53add9c97dc200e3f2e5700bd17aee14beb01e9',\n  sig: '83456c5cb3461f20c8f3d59e8386a0d8ad4c3d6f58cacb9fc85eef514b8fc1007c476558535de220aebc916b0974e8b76dd584ba14b479d947f9ee52c40333c8',\n  created_at: 1694095593\n}\n```\n\n## Signature Tools\n\nA basic signing tool for working with BIP-0340 'schnorr' based digital signatures.\n\n```ts\nimport {\n  sign_msg,    // Sign a message using BIP-0340 standard.\n  verify_sig,  // Verify a BIP-0340 signature, key and, message.\n  gen_nonce,   // Generate a nonce for a given message.\n  recover_key  // Recover the secret key from a signature using ECDH recovery.\n} from '@cmdcode/crypto-tools/signer'\n```\n\nThe `sign_msg`, `verify_msg`, and `gen_nonce` methods are configurable through an options object:\n\n```ts\nexport interface SignConfig {\n  // Specify the aux data to use as a seed. Default is random.\n  aux          ?: Bytes | null\n  // Apply an adaptor tweak to the nonce value.\n  adaptors     ?: Bytes[]\n  // Apply tweaks to the nonce value during generation.\n  nonce_tweaks ?: Bytes[]\n  // Specify a public key to be used in ECDH key recovery.\n  recovery_key ?: Bytes\n  // Apply tweaks to the signature value during signing.\n  key_tweaks   ?: Bytes[]\n  // If validation fails, throw an error instead of returning false.\n  throws        : boolean\n  // If keys used during the signing operation should be negated for even-ness.\n  xonly         : boolean\n}\n```\nExamples:\n\n```ts\nimport { gen_keypair }          from '../src/keys.js'\nimport { sign_msg, verify_sig } from '../src/sig.js'\n// Configure a demo keypair and message.\nconst [ seckey, pubkey ] = gen_keypair(true)\nconst message  = 'abcd1234'.repeat(4)\n// Sign the message, then validate the signature.\nconst sig      = sign_msg(message, seckey)\nconst is_valid = verify_sig(sig, message, pubkey)\n// Check the console output.\nconsole.log('signature:', sig.hex)\nconsole.log('is_valid:', is_valid)\n```\n\nKey recovery allows you to designate another key-pair that can recover your private key from a signature, using ECDH.\n\n```ts\n// Configure two pairs of keys and a test message.\nconst [ hot_sec, hot_pub ]   = gen_keypair(true)\nconst [ cold_sec, cold_pub ] = gen_keypair(true)\nconst message = 'feedcab123'\n// Sign a message with the 'cold' pubkey as an ECDH recovery key.\nconst sig = sign_msg(message, hot_sec, { recovery_key: cold_pub })\n```\n\nUnder the hood, key recovery will modify the nonce generation so that an ECDH shared secret is used instead of your private key.\n\n```ts\n// Normal BIP-0340 nonce generation.\nlet sec_nonce  = taghash('BIP0340/nonce', seckey, pubkey, message)\n// Modified nonce generation for ECDH key recovery:\nlet shared_key = ecdh.get_shared_key(seckey, rec_pubkey)\n    sec_nonce  = hash340('BIP0340/nonce', shared_key, pubkey, message)\n```\n\nThis allows the 'cold' seckey to compute the shared secret, and thus extract the 'hot' seckey from the signature.\n\n```ts\n// Use the signature and 'cold' seckey to recovery the secret key.\nconst rec_key = recover_key(sig, message, hot_pub, cold_sec)\n// The recovered 'hot' seckey will be negated, so we will also negate \n// the original key in order to compare it with the recovered key.\nconsole.log('recovered key  :', rec_key.hex)\n`recovered key  : c18d25e25c1b229d14bd97e0daf3e4453765c2e007d9023698458573517ccd55`\nconsole.log('hot secret key :', get_seckey(hot_sec, true).hex)\n`hot secret key : c18d25e25c1b229d14bd97e0daf3e4453765c2e007d9023698458573517ccd55`\n```\n\nThe formula for recovering a secret key via ECDH shared secret signing:\n\n```ts\nR_value   = sig.slice(0, 32)\ns_value   = sig.slice(32, 64)\nsec_nonce = hash340('BIP0340/nonce', shared_key, pubkey, message)\nchallenge = hash340('BIP0340/challenge', R_value, pubkey, message)\nsec_key   = (s_value - sec_nonce) / challenge\n```\n\n## Field\n\nThe `Field` class will convert a key or integer value into a field value under the secp256k1 curve. This field value includes a built-in API for performing math operations in a simple and readable manner.\n\nEach `Field` object is stored as raw bytes, and they are directly usable as an `Uint8Array`.\n\n**Example:**\n\n```ts\nimport { Field } from '@cmdcode/crypto-tools/ecc'\n\nconst seed    = 'dead'.repeat(16)\nconst tweak   = 'beef'.repeat(16)\nconst secret  = Field.mod(seed)\nconst pubkey  = secret.point\nconst twk_sec = secret.add(tweak)\nconst twk_pub = twk_sec.point\n\nconsole.log('original seckey :', secret.hex)\nconsole.log('original pubkey :', pubkey.hex)\nconsole.log('tweaked seckey  :', twk_sec.hex)\nconsole.log('tweaked pubkey  :', twk_pub.hex)\n```\n\nDocumentation for the `Field` API:\n\n```ts\n// Fields can be created from a variety of types (strings are treated as hex).\ntype FieldValue = string | number | bigint | Uint8Array | Field\n\n// The Field class is an extension of the uint8 data type.\nclass Field extends Uint8Array {\n  // Prime N reference.\n  static N: bigint\n  // Converts a value under secp256k1 field order N. Same as new Field(x).\n  static mod(x: bigint, n?: bigint): bigint\n  // Normalize input values into bytes.\n  static normalize(num: FieldValue): Uint8Array\n  // Checks if value is within the secp256k1 field order N.\n  static is_valid(num: bigint): boolean\n  // Convert into a variety of formats.\n  get buff    : Buff\n  get raw     : Uint8Array\n  get big     : bigint\n  get hex     : string\n  // Return point object.\n  get point   : Point\n  // Checks if the point value of the field has an odd y coordinate.\n  get hasOddY : boolean\n  // Auto-negates the field value if it has an odd y coordiante.\n  get negated : Field\n  // All basic operations are available.\n  gt  (big: FieldValue) : boolean\n  lt  (big: FieldValue) : boolean\n  eq  (big: FieldValue) : boolean\n  ne  (big: FieldValue) : boolean\n  add (big: FieldValue) : Field\n  sub (big: FieldValue) : Field\n  mul (big: FieldValue) : Field\n  pow (big: FieldValue) : Field\n  div (big: FieldValue) : Field\n  negate()              : Field\n  generate()            : Point\n}\n```\n\n## Point\n\nThe `Point` class will convert a key or integer value into a point value under the secp256k1 curve. This point value includes a built-in API for performing math operations in a simple and readable manner.\n\nEach `Point` object contains an `x` coordiante and a `y` coordinate, stored as bigint values.\n\n**Example:**\n\n```ts\nimport { Point } from '@cmdcode/crypto-tools/ecc'\n\nconst _pubkey  = Point.from_x(secret.point.raw)\nconst _twk_pub = pubkey.add(tweak)\n\nconsole.log('imported point  :', _pubkey)\nconsole.log('imported pubkey :', _pubkey.hex)\nconsole.log('tweaked  pubkey :', _twk_pub.hex)\n```\n\nDocumentation for the `Point` API:\n\n```ts\n// Points can be created from a variety of types (strings are treated as hex).\ntype PointValue = string | number | bigint | Uint8Array | Point\n// The Point class stores the x / y coordinates of a point on the secp256k1 curve.\nclass Point {\n  // Prime N reference.\n  static P : bigint\n  static G : Point\n  // Create a point from an existing compressed key.\n  static from_x(x: PointValue, xonly ?: boolean) : Point\n  // Generate a point from a field (scalar) value.\n  static generate(value: FieldValue) : Point\n  // Helper method for importing points from Noble library.\n  static import(point: Point | ECPoint) : Point\n  // Accepts a varity of x-only and compressed key inputs.\n  // Will also accept coordinate data (as bigint). \n  constructor (x: PointValue, y?: bigint)\n  // Convert into a variety of formats.\n  get x        : Buff       // Return a buff object.\n  get y        : Buff       // Return a buff object.\n  get buff     : Buff       // Returns compressed key as bytes.\n  get hex      : string     // Returns compressed key as hex.\n  get hasEvenY : boolean\n  get hasOddY  : boolean\n  // Auto-negates the point value if it has an odd y coordiante.\n  get negated  : Point\n  // Basic math operations available.\n  eq  (value: PointValue) : boolean\n  add (x: PointValue)     : Point\n  sub (x: PointValue)     : Point\n  mul (value: PointValue) : Point\n  negate(): Point;\n}\n```\n\nA `Point` can also be generated from a `Field` object, allowing you to perform complex elliptic curve operations using mostly the `Field` class.\n\nHere is simplified example of signing and verifing a BIP-0340 digital signature, using the `Field` class:\n\n```ts\nimport { Field }  from '@cmdcode/crypto-tools/ecc'\nimport { digest } from '@cmdcode/crypto-tools/hash'\n// Generate some hex strings to use as a secret key and message.\nconst message   = 'dead'.repeat(16)\nconst secret    = 'beef'.repeat(16)\n// Compute the pubkey, nonce, and challenge values.\nconst pubkey    = Field.mod(secret).negated.point\nconst nonce     = hash340('BIP0340/nonce', secret, pubkey.x, message)\nconst R_value   = Field.mod(nonce).negated.point\nconst challenge = hash340('BIP0340/challenge', R_value.x, pubkey.x, message)\n// Signature is composed of an R value and S value.\nconst s_value   = Field.mod(secret).negated.mul(challenge).add(nonce)\nconst r_value   = Field.mod(s_value).point.sub(pubkey.mul(challenge))\n// Print the signature to console and report its validity.\nconsole.log('signature :', R_value.x.hex + s_value.hex)\nconsole.log('is valid  :', R_value.hex === r_value.hex)\n```\n\n## Development / Testing\n\nThis library uses yarn for package management, tape for writing tests, and rollup for cross-platform releases. Here are a few scripts that are useful for development.\n\n```bash\n## Performs a basic stress test for benchmarking performance.\nyarn bench\n## Compiles types and builds a new release in /dist folder.\nyarn build\n## Runs linting rules using ESLint and Typescript.\nyarn lint\n## Runs all TAP tests from the test/src folder.\nyarn test\n## Full script for generating a new release candidate.\nyarn release\n```\n\n## Bugs / Issues\n\nIf you run into any bugs or have any questions, please submit an issue ticket.\n\n## Contribution\n\nFeel free to fork and make contributions. Suggestions are welcome!\n\n## License\n\nUse this library however you want!\n","readmeFilename":"README.md"}