{"_id":"isomorphic-secp256k1-js","_rev":"27-d3d41078b3e8b863da599c594b2e8fd0","name":"isomorphic-secp256k1-js","dist-tags":{"rc":"4.0.5-rc.0","latest":"6.0.0"},"versions":{"1.0.0-rc":{"name":"isomorphic-secp256k1-js","version":"1.0.0-rc","keywords":["ECDSA","universal","blockchain","digital","signature","ecc","elliptic","curve","crypto","currency","secp256k1","javascript","dependencies","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@1.0.0-rc","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/universal-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/universal-secp256k1-js/issues"},"dist":{"shasum":"3b63a67ad709305e57139e990edd5784f191e446","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-1.0.0-rc.tgz","fileCount":8,"integrity":"sha512-oVkkcq+ewA6IjcqYgtfMkMO8uSM4GDVjJprTaZybjT1x0gqUXvX4QfYkhyGU2Qf5nJ4QH/EZEWY+yY6fpk4gpw==","signatures":[{"sig":"MEUCIDbGl/U6EzReZUWdJ0d8FUcdQUqXfBlWk5CJLglp6upjAiEAgrgP2Ge27XdblHbzmaNKjDR26tFg5Bp6ZuTozqQPa8E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17765,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWn3LACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrUdg/+J9cg/Lrql6QHDmvjQTnvyILvkArk5OLHWVnK73UnPPRXkbFc\r\n46vFPKVjTZgP/IR8gvZiProyO6lKCYn+vcJ5MbsxsJCJsgyllxuHSW80TW/1\r\nx1VgnVa2zrUGzMoyJHz7bbqMYu06IojH/FMbL8f4YrvOxneSyfvHyYG0Usjd\r\nu/HrofDabucZ6oA7vXmrS0sCbS6HIKySWWFAd1SbPhsfmGna7Mq60ZUUn/fT\r\ndWZ4JW+1L94c4jt8ai3SCUbszlNv+n1m1hLFcA0zRoMNdPRlztbYiUkMZV6x\r\nJT5ktVrR/EYcvoE/VEf2pgtpxsOpU1WelfzENRb9KEbFwCnd93LfG2XCJdT/\r\nS+nhubMUa3eY/84J5oJuks3kJ38tt8if00qWYWMaaFLmW/VoCm+O72AmVz/V\r\n5eXv7BMm2PXeHl4rGCrrJja0LhjiesuIwCN07k26YpzFICRyffeNGy/tn98S\r\nmZaTjsN+NNSl6Nr4/fZjbBKKq6wQFMGcsac0W5DwhdL6EjCqJzJngerQ9RNy\r\nQM+KB5nedJGEuX4Cx7ZCXzs773aaJyh/knxFNv24IaFb4KCN09HvEXc/BMNd\r\nn4Gh4cdFeeqVI6Ep0xUaB4solFE977Qmn6Ha48OpS20mISxKNf1clMEnnm2c\r\nGqR9hnIIuE4FNkxzxjvT1Mmz/1l7xlB/JTQ=\r\n=pHuq\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":">=15"},"exports":{".":"./index.js","./sign.js":"./sign.js","./package.json":"./package.json","./get_public_key.js":"./get_public_key.js","./recover_public_key.js":"./recover_public_key.js"},"gitHead":"7ce32ba730107c35033ab365ff3c6c9e9763c797","scripts":{"test":"npm run test:eslint && npm run test:prettier && npm run test:api","prepare":"npm run prepare:jsdoc && npm run prepare:prettier","test:api":"coverage-node test/index.test.mjs","test:eslint":"eslint .","prepare:jsdoc":"jsdoc-md","test:prettier":"prettier -c .","prepublishOnly":"npm test","prepare:prettier":"prettier --write readme.md"},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/universal-secp256k1-js.git","type":"git"},"_npmVersion":"8.19.2","description":"An ultra lightweight zero dependency universal JavaScript (ECDSA) secp256k1 curve.","directories":{},"sideEffects":false,"_nodeVersion":"16.18.0","browserslist":["defaults","not IE 11"],"dependencies":{"universal-sha256-js":"^1.0.0","universal-hmac-sha256-js":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.25.0","jsdoc-md":"^11.0.2","prettier":"^2.7.1","coverage-node":"^8.0.0","test-director":"^10.0.0","eslint-config-env":"^23.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-jsdoc":"^37.9.7","eslint-plugin-compat":"^4.0.2","eslint-plugin-import":"^2.26.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_1.0.0-rc_1666874827537_0.30789517305607883","host":"s3://npm-registry-packages"}},"1.0.0-rc.1":{"name":"isomorphic-secp256k1-js","version":"1.0.0-rc.1","keywords":["ECDSA","universal","blockchain","digital","signature","ecc","elliptic","curve","crypto","currency","secp256k1","javascript","dependencies","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@1.0.0-rc.1","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"24245a25c048ba7eafc89ccf9a87e6f72d66f345","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-1.0.0-rc.1.tgz","fileCount":8,"integrity":"sha512-OUbh3pPmFtbsSNgeTouc+/IBmbeRP9DfPUrpio/oHbQlWwyc24dS8LONRiuag3mdhn0jXJVvNeiPNPzVwkdpow==","signatures":[{"sig":"MEQCIGalxjYLbIfHT4lb3zK6sEf8vWLwHRJqUfesMoaU1kIYAiACLfH4WuXhhBJlVMwRZsRgsRq5yIr+4dhvWGuUIaOZkA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17783,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWn8vACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpoPw/+MPtG7HwfEXo4nCpgkKuSUOvqe9PYPBETCmdXRH52Ti4R8Ak8\r\nINV6DzBra2ZJjnOGFPvqw8snC4hunxU0L610naUy9g0k4HF9c6rkjoJrYW9Z\r\n09xBe+LOowOQc01WDKhXMZUxhAjo4LRcTdtbJnwLQK4hLBhWgOZ5Pdg6Cs0j\r\nk6URtxTrn1/jUBKqUVTtud4Jexk9xuULNLepE4IbGsZyz/PRo/hD4lLDFSaK\r\nJQwhYudTj9pKz5wNPiX0vB5hE1IFDOzmNZdauc4Ir66ILPsZDqnACDzs/xCq\r\nnYSCdFQPcDL7qyXaLnnhS4CQAOBO+vgA9+LLtWnguTatnH/hb+QAGgLONIRq\r\nPlGALVj7MJCiDeKLV+YaLWfCZfdAAA9NBDZobpF4MscEWHIDTt9OKEwDPQ6M\r\n61tM9bdrsxseqJgd4/3Ch9x0aGZ7BRJVF3eZUQikCwAjra3DBKB/hqATKAkx\r\nQ7aRcJl1EbNe21X3F056L3T4QzWTVse44Spdq7N80HpJRpSLGsAnfbD+eLkF\r\n1HfYycsqoXvwSJlcz9vWM7z26nz6RT7Scv6ssyqZuw7AuwR2bgAdvmWstsWY\r\nmvFUik7Gbec3IoXoPf0HC2awZwaCERlKfM1v0GQOV1pLCPYkL07byR9Gbd2Z\r\niZx2PiM31lxi92yfYDoeCqO4mgi0NBHaMaM=\r\n=ZiQ7\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":">=15"},"exports":{".":"./index.js","./sign.js":"./sign.js","./package.json":"./package.json","./get_public_key.js":"./get_public_key.js","./recover_public_key.js":"./recover_public_key.js"},"gitHead":"4e9ecc9a55c48091960e09504f04907bb91a6b10","scripts":{"test":"npm run test:eslint && npm run test:prettier && npm run test:api","prepare":"npm run prepare:jsdoc && npm run prepare:prettier","test:api":"coverage-node test/index.test.mjs","test:eslint":"eslint .","prepare:jsdoc":"jsdoc-md","test:prettier":"prettier -c .","prepublishOnly":"npm test","prepare:prettier":"prettier --write readme.md"},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"8.19.2","description":"An ultra lightweight zero dependency universal JavaScript (ECDSA) secp256k1 curve.","directories":{},"sideEffects":false,"_nodeVersion":"16.18.0","browserslist":["defaults","not IE 11"],"dependencies":{"universal-sha256-js":"^1.0.0","universal-hmac-sha256-js":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.25.0","jsdoc-md":"^11.0.2","prettier":"^2.7.1","coverage-node":"^8.0.0","test-director":"^10.0.0","eslint-config-env":"^23.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-jsdoc":"^37.9.7","eslint-plugin-compat":"^4.0.2","eslint-plugin-import":"^2.26.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_1.0.0-rc.1_1666875183035_0.629426596154931","host":"s3://npm-registry-packages"}},"1.0.0-rc.2":{"name":"isomorphic-secp256k1-js","version":"1.0.0-rc.2","keywords":["ECDSA","universal","blockchain","digital","signature","ecc","elliptic","curve","crypto","currency","secp256k1","javascript","dependencies","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@1.0.0-rc.2","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"e0c99091a953bda162970f0158b1ae43fb4bfbb9","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-1.0.0-rc.2.tgz","fileCount":8,"integrity":"sha512-f+Jy5qjBfBfkDIr4ko3SrsAd46SnWVFjDie0XHhNWGJadyRj5lLD7ZN9k1LwXo+5hqYo6Fwj9mDW91kkqYm6mg==","signatures":[{"sig":"MEUCIQDgo59/Dq/8HZ3jJTHs/e9xn12IOcos/9CQ+5PEiJkUeAIgRWIN7hkLQ75kB8nmrVAfCuJcXAB5GdeO6gYRNRV5i2I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17799,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWn+MACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoO7A/+PHs0qHH47BxByqt99HRVo4xjE8injYiPrfvJWZb/+CRiIopC\r\nHo3RKTzrYr/dvqRstpbZwmIMrZOWD9Qf3LVWef7qtJt1Dcur/ObJG6uu4JEX\r\nc7xIYXKJJ41ZqHuO+PpipVgMDi/Nv0sdfA/ZoaDS71OexPLthz9PyoSZo98t\r\n0+rGyRxQcMia4CHE3muLEMzQ6gVg3kzmBs4iu1pGdsFidU0ZVIv0eK043aQ2\r\nP5ISfLQJjHggRir+f7ilGVgTB0qkztIDJEA+o36G05c2XeHdPl6y8X2BdzG2\r\nMBAFNT4CvK0KpwYaX8GZCEvwMY/WYk/UCLk3dz7i4UDoi9O0nyndhMaI6DGn\r\ncS1cWwjGcerGnB9lWGfiyYnvfqAD/voF/0pafEksjifOqNlktjJ2yierTOE0\r\nHSWwpFi27Ufuuq8XVRmdEPayed1vqPZcQ1to5+JGZbhaAbqMydCpRvcfIxtJ\r\nXkLNoqyKO1YETfPGGSepTUN+DbZUZwAGPeUfoVHRwYK/MEeJEEmmbclbLUCp\r\ndhzvmgelacL6WpsDv8qg39cSUM28MdAzsX4wW/RfrCbpH1dUsp07aYExLaEN\r\nnilVZyrrfYDShoD28gCy28NvaALJEhKLdlIchHnWS6mm6m6DjTHEdFy78VIC\r\nlvoI5amvT0igJVmSnJhYeqfbqBWz8T0T7gY=\r\n=A3dt\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":">=15"},"exports":{".":"./index.js","./sign.js":"./sign.js","./package.json":"./package.json","./get_public_key.js":"./get_public_key.js","./recover_public_key.js":"./recover_public_key.js"},"gitHead":"4e9ecc9a55c48091960e09504f04907bb91a6b10","scripts":{"test":"npm run test:eslint && npm run test:prettier && npm run test:api","prepare":"npm run prepare:jsdoc && npm run prepare:prettier","test:api":"coverage-node test/index.test.mjs","test:eslint":"eslint .","prepare:jsdoc":"jsdoc-md","test:prettier":"prettier -c .","prepublishOnly":"npm test","prepare:prettier":"prettier --write readme.md"},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"8.19.2","description":"An ultra lightweight pure JavaScript implimentation for the secp256k1 curve for node and browsers.","directories":{},"sideEffects":false,"_nodeVersion":"16.18.0","browserslist":["defaults","not IE 11"],"dependencies":{"universal-sha256-js":"^1.0.0","universal-hmac-sha256-js":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.25.0","jsdoc-md":"^11.0.2","prettier":"^2.7.1","coverage-node":"^8.0.0","test-director":"^10.0.0","eslint-config-env":"^23.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-jsdoc":"^37.9.7","eslint-plugin-compat":"^4.0.2","eslint-plugin-import":"^2.26.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_1.0.0-rc.2_1666875275807_0.16242238511973084","host":"s3://npm-registry-packages"}},"1.0.0-rc.3":{"name":"isomorphic-secp256k1-js","version":"1.0.0-rc.3","keywords":["ECDSA","universal","blockchain","digital","signature","ecc","elliptic","curve","crypto","currency","secp256k1","javascript","dependencies","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@1.0.0-rc.3","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"c95d45a556902dcd61ef21d26c66ec1f1923f21c","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-1.0.0-rc.3.tgz","fileCount":8,"integrity":"sha512-2x4YFcsXNGvraA8BELVrdq+WHjYTrwZOPBHGZQx09+KMTR73BbtY9qjwQR+cCcxnVjiCsyqkk6kJlWGmETaO/Q==","signatures":[{"sig":"MEUCIHQKpzZQLSVm5nA61XfPOqDk3N77GX6R01MYO7v3E5TgAiEA5kZ/UH70bQhu+XSw0V/NSFxkZ8s5sybpGI/PeYh2SWI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWpdKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp7RA/+JF21gj2uYCHgEU+4/S+3El9HxbUZ7Yvaji7/xf9sXHGLpTUY\r\nb1AvQjPEMP05jwAL2Wo6YiD7OV6SeQN1gkj8aNWksOn2WQpqWBO25yXtcF8l\r\na+brZe0mpmf590U/NypGkjQORb3mJoIUQdo5ATKVj60C0YhmrwnwEcSEMwIg\r\nmkx0IFcLEzvvlXPyz8ulAVmDsTaiP1AnNSwvewKU4mjUxLhJVgDjeu0/sqAl\r\nptF0hquVYEtBoJF+q8jQNW2waycAqSh+JHeGRRPKlI8CyT6Iw1EjokujzVb8\r\nuIHjK0o54O7iGJ7xqpA7ddDKmmIoKizJU/qEmO8zKOk1XO2Kx2f9GpM50o0W\r\nEgOmwJRTAtz3R2u2NQ8KgOBwlGfyQBs2oPG3Y+7EyUmvrjke0Su2m2VG+p+s\r\nkzXrpY4x7PXJC1dyhwIrjCXcMWRM2HRYIknTKCiMiOavkylxZH+qcwJ+c2oc\r\nahLLbSUj7WgCpuz7liLCXDhgMtVdpIpTz0Sdy+obQyDQpisO+HGDGBC+6mKk\r\nwoms61p87IY1HBZSh6Gfbp1S1VsioBcPqg4V2FWsCsxprWC41JzQBTDKHCMP\r\nuKbKgWTPdhqmy55Qh014gYdVlA9eqcUcA9iXZPB0+tSHM6hhNQg7CmD108HC\r\n9R4DNsAATJPnkJuYe5IgLQ79vYaciO6udnQ=\r\n=/YON\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":">=15"},"exports":{".":"./index.js","./sign.js":"./sign.js","./package.json":"./package.json","./get_public_key.js":"./get_public_key.js","./recover_public_key.js":"./recover_public_key.js"},"gitHead":"4e9ecc9a55c48091960e09504f04907bb91a6b10","scripts":{"test":"npm run test:eslint && npm run test:prettier && npm run test:api","prepare":"npm run prepare:jsdoc && npm run prepare:prettier","test:api":"coverage-node test/index.test.mjs","test:eslint":"eslint .","prepare:jsdoc":"jsdoc-md","test:prettier":"prettier -c .","prepublishOnly":"npm test","prepare:prettier":"prettier --write readme.md"},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"8.19.2","description":"An ultra lightweight pure JavaScript implimentation for the secp256k1 curve for node and browsers.","directories":{},"sideEffects":false,"_nodeVersion":"16.18.0","browserslist":["defaults","not IE 11"],"dependencies":{"universal-sha256-js":"^1.0.0","universal-hmac-sha256-js":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.25.0","jsdoc-md":"^11.0.2","prettier":"^2.7.1","coverage-node":"^8.0.0","test-director":"^10.0.0","eslint-config-env":"^23.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-jsdoc":"^37.9.7","eslint-plugin-compat":"^4.0.2","eslint-plugin-import":"^2.26.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_1.0.0-rc.3_1666881354188_0.499118595387418","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"isomorphic-secp256k1-js","version":"1.0.0","keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","ecc","elliptic","curve","crypto","currency","secp256k1","dependencies","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@1.0.0","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"7d5a91e3d528b15f7258335df1fd4d6db3db3579","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-1.0.0.tgz","fileCount":8,"integrity":"sha512-7ggulV20jVutVhdPZ1oD7c1zIfUuJAn5DZ3efpHwPmZmonc+Ns4cBJfbqo/M2tkexq+TXggjy5PKZGXuw3D7oA==","signatures":[{"sig":"MEUCIQDJq0KXRQICv/Uuq42B+GdR4FVMX5Khk+rd9MnsBpxhGgIgPlvLlxDqrIhjqfqGfO6LM9YVeln98dS+562ZfRjMZOA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17816,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWqLzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrOyA//QZkGr/5v7WEeZYkrNR1Q1sUjc09fccB5rFDeYKdZx7ht6pgo\r\nb/OO/IesRq6NNu70pVoiq1wxtqKiegj8dOGHOxA2v0QKyKKV6FstgCxdAsfZ\r\nE1mFgilwteSABA+kkcnIZxK/bzwQ0Fw2kOl8H7ElA3NeZL7uAwO7Dnkjf0lc\r\nx5Hm80aBUjhTr3ntEkR5iGkEINRdFylieYNNKWVFrDsXsBKERMnnMLOXH1IH\r\nRxy7ENtlxJsuJM02sgwIJGBnbRq09/jmkNQAIfi70LPKZ18Twf8mD6FuUlHw\r\ndfW96srdTV2zqxldvPyIaFZPsQHzTm8nmMm/Atav0z/BRMzgfunwvtVZ97pP\r\nrgsT06q7225DnfLu9ubS2xymg/SkycRKb766p64wjmybDpWcmQA/aOwuHLqa\r\nFq0QmURKUNUYf3Fh4bTDp1X4RY+ajPtz0YjTaUuk6gVSB/krLx9Omyu/b8Ht\r\n6hDTrxcmvwQdSjRxS7HKr4FRsdJdo4iJVeFZ1igFd6B84iuwfTm6+lu8vFFU\r\n8LEbHp+5PQbHxBy1NqaXIMnz2t0UQscCMEUDxG4frDP3+5YQF4ftswp12DFk\r\nsGv9nFPiFmPvLdBxjkPgwaZipio2jNI5UseXxl43pBos9m4DM/axAO374Un7\r\n/6KIICxCPgVOuKHpyIRMV2qGdxWj1AnKABg=\r\n=elOb\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":">=15"},"exports":{".":"./index.js","./sign.js":"./sign.js","./package.json":"./package.json","./get_public_key.js":"./get_public_key.js","./recover_public_key.js":"./recover_public_key.js"},"gitHead":"8e24b56d60d404fc6d6e2b0942f0b8b8a81d3ad7","scripts":{"test":"npm run test:eslint && npm run test:prettier && npm run test:api","prepare":"npm run prepare:jsdoc && npm run prepare:prettier","test:api":"coverage-node test/index.test.mjs","test:eslint":"eslint .","prepare:jsdoc":"jsdoc-md","test:prettier":"prettier -c .","prepublishOnly":"npm test","prepare:prettier":"prettier --write readme.md"},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"8.19.2","description":"An ultra lightweight (2 kbyte) pure JavaScript implimentation for the secp256k1 curve for node and browsers.","directories":{},"sideEffects":false,"_nodeVersion":"16.18.0","browserslist":["defaults","not IE 11"],"dependencies":{"universal-sha256-js":"^1.0.0","universal-hmac-sha256-js":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.25.0","jsdoc-md":"^11.0.2","prettier":"^2.7.1","coverage-node":"^8.0.0","test-director":"^10.0.0","eslint-config-env":"^23.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-jsdoc":"^37.9.7","eslint-plugin-compat":"^4.0.2","eslint-plugin-import":"^2.26.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_1.0.0_1666884339102_0.01994324184269125","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"isomorphic-secp256k1-js","version":"1.0.1","keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","ecc","elliptic","curve","crypto","currency","secp256k1","dependencies","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@1.0.1","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"7cd46ea428532ae19bc9613c33d0de3d77656aee","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-1.0.1.tgz","fileCount":9,"integrity":"sha512-uS3tvrsf4bYhqvVr2R5IB9tb0PPEzrpogkgzEVBgs11O/Qu2SdOfcXzr4u7ujvPGX1EHRq5P5wEVEku5s1dItA==","signatures":[{"sig":"MEQCIDUjolXD0vusack5+xwVbmwdf/piTPNt9O36UqWuMkQHAiA19HogYCDY4tiGApuJbyEoF5s/INzVEKKOsp3kVhpfYA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17923,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWt0jACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoHWg//cCuqp7VrpOk2JOi4h8SkYVjxihPhW8EJ/ssSfeadayIYfWVS\r\n9b3RLI1lSwKG4gCwMlWOUx/ImDmz0BGl7xcwkNnTW/+nwuFqSpIg6BN+n763\r\n9bSg8AKK8CIdiLLl4znka1WlbYRqVsWgD8j9JbZ0tXYhRAjtKGaGniNe6n1o\r\nxaWVQ/IoFwgP5dUXF3cZY9SpDeFX+UJlzhM5eLEjtUIsmURjnDYpngAIIkbW\r\nswg8FmVhhPkZ/GCR/dKul6bxfNAjiIZQ69VqC5NQj/Wi6lyOdBSaWV951Ofz\r\nTz2Cd+ZnG5eflXPXrSXJtdPMX5sDW/7pKIJgdQPaDsYUofM4TLcY4qu4FpxI\r\n0XZRTS6SLZQErsjZzPy4d4dW3MbKS+5mxTDp03esS2E7nLjKf02EcRt380LW\r\n5/cx7xX+q4j8B3vgwutYb691fuY9HlNJMVaA90krl4IErE0P5Qn8QB2oY0e0\r\navIees118gHt/cRDTCFYdjJK7ZLIRtABwCtc5gWDiiRjSu4ak+FHtfAU/Oq7\r\ny3IUQtbf13xaf8dmrC86ewumZZb28EnpsEATEm2j4IWELI2E9b2Hm5W3qG17\r\nkX5vD7cyAkJvvvhwcv/2WoZuC8SiZruOuYRvJOT6k0/l76KCv1oNvBvq5YSs\r\nLZa6G6uyWSMmRvdXE537sVmM8QXrrrHUCxA=\r\n=K6nn\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":">=15"},"exports":{".":"./index.js","./sign.js":"./sign.js","./package.json":"./package.json","./get_public_key.js":"./get_public_key.js","./recover_public_key.js":"./recover_public_key.js"},"gitHead":"9ad1d04916423b11610f24b6e3dccc68368370ac","scripts":{"test":"npm run test:eslint && npm run test:prettier && npm run test:api","prepare":"npm run prepare:jsdoc && npm run prepare:prettier","test:api":"coverage-node test/index.test.mjs","test:eslint":"eslint .","prepare:jsdoc":"jsdoc-md","test:prettier":"prettier -c .","prepublishOnly":"npm test","prepare:prettier":"prettier --write readme.md"},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"7.7.6","description":"An ultra lightweight (2 kbyte) pure JavaScript implimentation for the secp256k1 curve for node and browsers.","directories":{},"sideEffects":false,"_nodeVersion":"15.14.0","browserslist":["defaults","not IE 11"],"dependencies":{"universal-sha256-js":"^1.0.0","universal-hmac-sha256-js":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.25.0","jsdoc-md":"^11.0.2","prettier":"^2.7.1","coverage-node":"^8.0.0","test-director":"^10.0.0","eslint-config-env":"^23.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-jsdoc":"^37.9.7","eslint-plugin-compat":"^4.0.2","eslint-plugin-import":"^2.26.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_1.0.1_1666899235037_0.4593799200646025","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"isomorphic-secp256k1-js","version":"1.0.2","keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","ecc","elliptic","curve","crypto","currency","secp256k1","dependencies","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@1.0.2","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"669d448af5e5ae605b8e8c1d54f36bdd3afe9093","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-1.0.2.tgz","fileCount":9,"integrity":"sha512-RKhdK5hxvS1jmrAfv/abVE7ueRqe+eE5U2765Lq/J8G3AzkXlK3PthFJtZ9tyjdQZWdB4inm8zjPKbHdhZ+9LA==","signatures":[{"sig":"MEQCIDyUaixXJE5L7hHS6TtDXk1YusvfVpBO0kLhHFbK+tOzAiA+uiqLc9SctUkBSlYfKdwrScnGmrdT/8JKm6ShjrJduw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17955,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWvLuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqVtw/+LeWmhCQ1OAEh+bzktFBcSSGbSoW+TGmObfQGGhkKP9N6IZ/z\r\nm9SOPEySdlKhm15Cga64ux5kJkPwlqCIeY2egd9FAuDngsu8thzLg0zkWL2W\r\n+vt7R6gptOZtjwjCivzfwcVzUBdIulc14yGp1obr6d0JPvpIGz9Wt3X86jL0\r\n0pAOfaiZC1vTKyLRoB8Xz51z2J+G0YH4YxlWRNTCIbC3aT1oV7lJyDwUSr3J\r\nfhN5ABeEjYxqeZlNLLg1iQjowx+hBHEDfib0byQXCTUChGKUCmYW4J4Fq1Ag\r\nvRnmwarz6qZzCXTBvp2keVQ7xyjOjGiMHk818uFiuT2XlX5FRQ8YEf2/HERP\r\nKE5eFKlegtnrt6HPOCusT8DcnRP/swjToc93G/ZPtNr/JS5RZ4wmqBOosn+c\r\nU72XbPfOe116JESBibsmcDO2MPpedKKOhbLHFEX/fA3CG372dM0pHwXjyz6P\r\n9T2hSZNvNxrsHyRzH5wDe0kxn2E2BiTcw3VE5QAmFzL7AdXWhgyMKX5M9Yig\r\nki6ouoHTOO4yzWwrpcGULstCVMKk9MoezobKiGZeklY343m9szVW2YAEs7T6\r\nn/z/kpb+kgZwwt5iNXI95rqfoYNNR9prC0GoEIQTeSZX5jgtzvx1bUyuvaJ9\r\nQEz2uTuGKKbMkL7Glv5v3xOlYa+udX24pbw=\r\n=vWs3\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":">=15"},"exports":{".":"./index.js","./sign.js":"./sign.js","./package.json":"./package.json","./get_public_key.js":"./get_public_key.js","./recover_public_key.js":"./recover_public_key.js"},"gitHead":"23e95c1842fefb438eca560670087356d87095e0","scripts":{"test":"npm run test:eslint && npm run test:prettier && npm run test:api","prepare":"npm run prepare:jsdoc && npm run prepare:prettier","test:api":"coverage-node test/index.test.mjs","test:eslint":"eslint .","prepare:jsdoc":"jsdoc-md","test:prettier":"prettier -c .","prepublishOnly":"npm test","prepare:prettier":"prettier --write readme.md"},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"7.7.6","description":"An ultra lightweight (2 kbyte) pure JavaScript implimentation for the secp256k1 curve for node and browsers.","directories":{},"sideEffects":false,"_nodeVersion":"15.14.0","browserslist":["defaults","not IE 11"],"dependencies":{"universal-sha256-js":"^1.0.0","universal-hmac-sha256-js":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.25.0","jsdoc-md":"^11.0.2","prettier":"^2.7.1","coverage-node":"^8.0.0","test-director":"^10.0.0","eslint-config-env":"^23.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-jsdoc":"^37.9.7","eslint-plugin-compat":"^4.0.2","eslint-plugin-import":"^2.26.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_1.0.2_1666904814469_0.7430111981718577","host":"s3://npm-registry-packages"}},"2.0.0-beta.0":{"name":"isomorphic-secp256k1-js","version":"2.0.0-beta.0","keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","ecc","elliptic","curve","crypto","currency","secp256k1","dependencies","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@2.0.0-beta.0","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"dbedaf644dd6553bce9bfa11aa6b4a829d4b367b","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-2.0.0-beta.0.tgz","fileCount":7,"integrity":"sha512-8OaxsZ/pfhg7j6kRcdMBJdDVT0pOgkp24ExaqxK969sNjyJHeNt+XHVOI0DydbQw3okabwbCyW2ZuIiwR5GA9w==","signatures":[{"sig":"MEYCIQC0xF7wVRbTQq52lDCmvAQr6q/GoQusyqbKhbrYgmS2PQIhAOH/rHaeic1J7voptrP+wdBZvrhykJtXoevY/CWWQlOJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14570,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj8AZeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp7fg/+KwCOgedOH2WQ0A6kZZEtMMxGShfnVD2+418v22kj+0ewUVTK\r\nmzYCEWQg2u761SwIhx5BSxhIqlRQZK26odyxHQthWTVRA3wgTX5nEvujyxwZ\r\n2vn3FE8CoNikProG/tRgNZRbEQnTtJHuQc57vQWyO/Qk4KIBCDTF7jRZ6ChZ\r\nNLxQwkvdn0Mh8r/cBfOMPDKpd+Zt5VzC0bOXE4BXSl/I5xEPqCd0LmZUXYM/\r\nT73RJpCUjU2wgZYlYjx8pNhrUjFqGw0QX0efPMx1nyywAo0qhpkeN+8RcdE6\r\nRWZq3k8hA+PG3rtv4eR1qfMDmhwd4drV1O2EQsCoKAMPyNtRrOiIwJXFlUQu\r\nHbdcHgK4DBamzifUm5p1ThF9CYS7/sfjMQQeue2ZQJ5h4DrDVcqzPLcu5AHT\r\nIVF8RZ61TAsZ4iZbm2CTJkaRJnLcoFDeG8spLyfj1IZ6+m27Q/OW9kbC03m7\r\nvSjjwiH2QtxNXnLqBF3YZbedUKsuOOuZVfx1OjLGo6p3KWVH+kF6eWuMO0u/\r\ntHJV7PLb8bn3n8jMmvAtMO7Vdw3c8uUDLFjsKNOc1JDVlgZn0DxqYOngT4fi\r\nps5kchrBXcJvAstKbRUMlF4l4NaePvNtquoGnVRXDfWqDC5XDZ3REyWHGz+j\r\n6fwj5Er81y3OOUthL7WQZVoh8tSLNlWortg=\r\n=bGUR\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^16.0.0 || >= 18.0.0"},"exports":{"./sign.mjs":"./sign.mjs","./package.json":"./package.json","./get_public_key.mjs":"./get_public_key.mjs","./recover_public_key.mjs":"./recover_public_key.mjs"},"gitHead":"c837d0ae4dd67bac5f74b08421095762c76db6af","scripts":{"test":"npm run test:eslint && npm run test:prettier && npm run test:api","prepare":"npm run prepare:prettier","test:api":"coverage-node test/index.test.mjs","test:eslint":"eslint .","test:prettier":"prettier -c .","prepublishOnly":"npm test","prepare:prettier":"prettier --write readme.md"},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"8.19.3","description":"An ultra lightweight (2 kbyte) pure JavaScript implimentation for the secp256k1 curve for node and browsers.","directories":{},"sideEffects":false,"_nodeVersion":"16.19.0","browserslist":["defaults","not IE 11"],"dependencies":{"universal-sha256-js":"^1.0.0","universal-hmac-sha256-js":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.25.0","jsdoc-md":"^11.0.2","prettier":"^2.7.1","coverage-node":"^8.0.0","test-director":"^10.0.0","eslint-config-env":"^23.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-jsdoc":"^37.9.7","eslint-plugin-compat":"^4.0.2","eslint-plugin-import":"^2.26.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_2.0.0-beta.0_1676674654590_0.5912800512269079","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"isomorphic-secp256k1-js","version":"2.0.0","keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","ecc","elliptic","curve","crypto","currency","secp256k1","dependencies","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@2.0.0","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"07636dfcf5ab63c396447428cda48991c014797e","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-2.0.0.tgz","fileCount":7,"integrity":"sha512-Dl8Q86eQhxrOZazdXEEJOIX3w56TJOPTYZSlsAeNGlPw95mi5dbx7giKg286fyZI6HVoKlTX2JFvBpYH91NuYg==","signatures":[{"sig":"MEUCICzbo1L858FVT2GR1b9u1xiUNHq9g46E75wUuwe1rnoyAiEAuWQ4deQAJlY3t86znaGY42avKTPmE+yYaSr1hMFVWtc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj8AoaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqe7hAAmSGBWuFwWpsep70fwIzgE3Z5qj9UA60VXCw+OKh0Ce9b1dRZ\r\nZd7l34urTbe9ZK2QpDG9oa+wHGdCb1l6o3WC3LLjmoWNxfZPmvz5SsNhDXLt\r\nlii0uuovYN+8blmqMkJcMPvybYMHAqBdpBggAGCsIwAGUFOzNsgM23pxyQ81\r\nF+PlhclS94PUrlMazxHu4SfvW1g3KAsMmz2UMeexfYQUptPkQqKoak6Y4KzB\r\nBVwOyoTnls4IVdkPJLeyDnEDs0WHqZ1uVkf42jW4zpIG+ksh97bOITPR2HuK\r\nq3e49UHfWfqFCtkNFrbRU5eYlu3q2Lxixq6UFN6/wghvC8kJzeaY9OzcCbOO\r\nbz+imK6Yrugb0I5ds6ZzVn+Z4wVjxbpS2O4CK5wjYFOuW6GPWTQxGS8rPOB5\r\nUIR90ZhWasxtMs4WOIQgtph37NJNuS+TV0Ajm2y64tRxJbeI+n1LM19U0PB7\r\nhliszfo1+KUG6mTiNF8myxNBLUnzXnsSp4nEJnwCWd/N5QMqWBS2usSIxWp4\r\n+u0zYI/zdivgAHvNexDe23Y8iuyODy0s920M8n5PhW6Ul5R9Demrhm8dTgKC\r\ny3SCDkEFrXMyCIEh0+zRK/sV4w7VfR7DIJpk1o160p70n6heaT4/6FM7o0IK\r\n7OtrWHAtE5POmreEZQ71p6SP6EcxVaHg23M=\r\n=5Lj9\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^16.0.0 || >= 18.0.0"},"exports":{"./sign.mjs":"./sign.mjs","./package.json":"./package.json","./get_public_key.mjs":"./get_public_key.mjs","./recover_public_key.mjs":"./recover_public_key.mjs"},"gitHead":"c837d0ae4dd67bac5f74b08421095762c76db6af","scripts":{"test":"npm run test:eslint && npm run test:prettier && npm run test:api","prepare":"npm run prepare:prettier","test:api":"coverage-node test/index.test.mjs","test:eslint":"eslint .","test:prettier":"prettier -c .","prepublishOnly":"npm test","prepare:prettier":"prettier --write readme.md"},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"8.19.3","description":"An ultra lightweight (2 kbyte) pure JavaScript implimentation for the secp256k1 curve for node and browsers.","directories":{},"sideEffects":false,"_nodeVersion":"16.19.0","browserslist":["defaults","not IE 11"],"dependencies":{"universal-sha256-js":"^1.0.0","universal-hmac-sha256-js":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.25.0","jsdoc-md":"^11.0.2","prettier":"^2.7.1","coverage-node":"^8.0.0","test-director":"^10.0.0","eslint-config-env":"^23.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-jsdoc":"^37.9.7","eslint-plugin-compat":"^4.0.2","eslint-plugin-import":"^2.26.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_2.0.0_1676675609813_0.16775371857100563","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"isomorphic-secp256k1-js","version":"2.0.1","keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","ecc","elliptic","curve","crypto","currency","secp256k1","dependencies","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@2.0.1","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"bb5adbc062b2621f6f218cae40b6582c8835a7be","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-2.0.1.tgz","fileCount":7,"integrity":"sha512-b2i6H/18OdLOIIHqbqhHb4Om21wanPRNRugwusKucv0RWIMg5jE3VqWHVa33OCiykVVDzoPcWZ/3QlTUvt2+9A==","signatures":[{"sig":"MEQCIAdtL4ubuJ/M2ZY4qRMjQCjaOS0gx3vzstUInFt+5BgdAiA8X1+CpOWfKbumfB+/XqAOVdGIeZUCNwPi6JES6k9e9g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16428,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj9t5vACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpNbw/9EXw+zFUWpU5AMSnQUAw7wNZzl0sY44Zma7h4u7tPpZQfopkQ\r\nFDQjky03tSpWbn4Lo5OgyRK309l8W02GmiATO6R5NzlbbEv9ZdI5zcu+Als2\r\nJUSk16TBzdirSN/65DZohUTL+ipbE6aXv7zXSrMCRTE6R0dtPBpQWCxPl2pm\r\nLjLgo0t0VWzaJvO4JZ67hw4m9ixW9wmdgy1/oq6XYa0Kw3PxVjCZjm3b8RfQ\r\nUIX4dt25vqBOJ4FlothgqxRFa5RKs+3CmICUKprLiBp2iQVCIs67VvK0R0Pu\r\nHZsS9ZUE/YrFfjgrfIwLPTP1a5j0/t3PEcxv+muZ8ID7fRKPKDFz0hpqLJ7u\r\n0+wZ9OD2YWZZ309LyM9cy6YlNnEysAQwNdyrYFfEm3iBIQw05VdgJ1fTuOrr\r\ncFd02rKk5ZCzL/xGTvFNU6QIDWSNSV720I5P5nwwMSXiEr0d0fL5480DpP6/\r\nLUShpvpG8qjKbiR3CPvNxlHWEOXViRQw081gR3WNw9TWcaULy72Z6245jC1g\r\nIqFwkzoY6agU+nowJ5LNBVUWIm+B9zppGQcEByorav7Q3Z6WpsEpbvOynMhf\r\n+MAA4Ede72aVYNvipwCHfQoSrOlgyecX2MmUMk6NNOkWUX5bJCO9Uxo/GMdX\r\nzqat3uK/yjvsoGjcx/tQPgdz8C2svb9T3Yo=\r\n=waQ5\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^16.0.0 || >= 18.0.0"},"exports":{"./sign.mjs":"./sign.mjs","./package.json":"./package.json","./get_public_key.mjs":"./get_public_key.mjs","./recover_public_key.mjs":"./recover_public_key.mjs"},"gitHead":"5a3ab38d9671c4782e84e1c927aecc10a2d7dd70","scripts":{"test":"npm run eslint && npm run prettier && npm run types && npm run tests","tests":"coverage-node test/index.test.mjs","types":"tsc -p jsconfig.json","eslint":"eslint .","prettier":"prettier -c .","prepublishOnly":"npm test","prettier:readme":"prettier --write readme.md"},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"8.19.3","description":"An ultra lightweight (2 kbyte) pure JavaScript implimentation for the secp256k1 curve for node and browsers.","directories":{},"sideEffects":false,"_nodeVersion":"16.19.1","browserslist":["defaults","not IE 11"],"dependencies":{"universal-sha256-js":"^2.0.0","universal-hmac-sha256-js":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.34.0","prettier":"^2.8.4","typescript":"^4.9.5","@types/node":"^18.13.0","coverage-node":"^8.0.0","test-director":"^10.0.0","eslint-plugin-simple-import-sort":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_2.0.1_1677123182911_0.4621915166703954","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"isomorphic-secp256k1-js","version":"2.0.2","keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","ecc","elliptic","curve","crypto","currency","secp256k1","dependencies","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@2.0.2","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"ebbd21f1101933796569a1aff3f110711c6f9d67","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-2.0.2.tgz","fileCount":7,"integrity":"sha512-22LUs43jSRyLI6jE9CQW9NaDcnMaW3ySn14XRFSm8a8dpDPowkW4yeJ7EkJjuqOwUZiyGPtRtL5tBqhmOnrJaA==","signatures":[{"sig":"MEUCIQCoLczv6eLj9ZDIiHJO/T5x/o179b7zOPg3/sC9CT5/wQIgeoOkEfD9k46mZV5nuCKAi9DTreJdx+RY6HZM/E/PAgk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16477,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj9uevACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrpIQ//X4n+liz2HzHEV9AiiMs6naKA8/nQ49tRsrWDbX8QbcufG7qH\r\nAuptSl+wMVksL6VMXw7/7qdABRSlvoKin/VdkrWt4LK83pdboza0CwBjUiy3\r\nuWbQ8O32dp+YKQyNBSyId9nXZ9KVm+A14gtQavHDXe315geW18vNck5ZDkLb\r\n5xdztrs5oAlgXioV/Zw10Qaq5nbpk4eHFyCe9ZPvPzUGzF/uNZWy05YYmwdU\r\nhALD1daSqooEdcT54+Q0yExEWuvuH7F9Yhb8ScMOFVUAuYC/GLXa/roIsWBp\r\nAk9gguokxWuEHuw/X6qd7a88P4Ko9jowPqpHPgSxuWsTMa4JlDYxhtRo/7e4\r\ncQ3P3ViO2Ujd96PGYenPRUDp4HNwk/m075Nf5+A18NwlurIaJrG3hZU+IqW0\r\n1bjmJHtIllB+opdakPMiQnqEr8zMqUMiI+YGuqwpEd0fGCHrdjl0JNgIskZ+\r\nnte7ZBCUCET/7IOxZX1W0LjxxBetEz+M7YRkcXLtfYo3cg9ECnMWbqNY2qfL\r\nKZD7KFjGibiQ9+MVGnk2YvM4E8hrW8xW7wv8ofReBv5NLY5kfqFH3+mPybYJ\r\nXZF2m6Uggp2vRF/LOjwSMJ8zelZ4dq+pE0LJzxP0wFIDEPcvOepj9FAb3A8e\r\nch64nLFII1E/tA/RKS3bSFRN33SfZPC3uB0=\r\n=wOW8\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^16.0.0 || >= 18.0.0"},"exports":{"./sign.mjs":"./sign.mjs","./package.json":"./package.json","./get_public_key.mjs":"./get_public_key.mjs","./recover_public_key.mjs":"./recover_public_key.mjs"},"gitHead":"55f9fab95420fbb0c34c5d982cf3f39e92de79fb","scripts":{"test":"npm run eslint && npm run prettier && npm run types && npm run tests","tests":"coverage-node test/index.test.mjs","types":"tsc -p jsconfig.json","eslint":"eslint .","prettier":"prettier -c .","prepublishOnly":"npm test","prettier:readme":"prettier --write readme.md"},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"8.19.3","description":"An ultra lightweight (2 kbyte) pure JavaScript implimentation for the secp256k1 curve for node and browsers.","directories":{},"sideEffects":false,"_nodeVersion":"16.19.1","browserslist":["defaults","not IE 11"],"dependencies":{"universal-sha256-js":"^2.0.0","universal-hmac-sha256-js":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.34.0","prettier":"^2.8.4","typescript":"^4.9.5","@types/node":"^18.13.0","coverage-node":"^8.0.0","test-director":"^10.0.0","eslint-plugin-simple-import-sort":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_2.0.2_1677125551645_0.16511925285202222","host":"s3://npm-registry-packages"}},"2.0.3":{"name":"isomorphic-secp256k1-js","version":"2.0.3","keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","ecc","elliptic","curve","crypto","currency","secp256k1","dependencies","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@2.0.3","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"8689b092f4c4c27b63e9cc192afc7715cc5c7828","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-2.0.3.tgz","fileCount":7,"integrity":"sha512-XB61tHHlZIeOS+NPt+hSAEaPQ0KEDRZrRiaHJDUbIr8gGEYhze6zQAdTE7YXxf2B92jOwRAo7Yk5f3nDv2LHUA==","signatures":[{"sig":"MEQCIDLUoQZL5nCEhk4pRgwBGhsdKmFYJS7ofJDtepgvGbVZAiBxte46CSyJ+1z5HCFKPvm9ms83xsXhyciTkIZjDaK1tQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16747,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj9uk7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpVdxAAlP3XBxLwE/hCsUWQ1u3sW6+SulSZfxPwoVypWsncTCrJ6+u6\r\n/lhpcxhbqXjSR+vjQaZkgjWAPjJtKhLA4ss2ebJQOcTzank+orJ6gtpRWJG9\r\n1rl4hA0xbxfGDKKp/S1sdMjNeovZT9PtlYAtQgalx/IcvHyaHWv8bJ+rj4vb\r\nRlZuQvOsSKuvs9spxotDoBrm5Cprj11uyDEwIYStfBbFW4z4rEQO8b1jOhkY\r\ne+aA3B3g7F7ol7MHwxfrGXaxehv76RQtwguV4aXcYsy6kUo++KkW1HYoVO8g\r\nUwOJrTd2upm0ssi3CuWDMxmaNid+cJIfjbQiL93/EVbbhhdKuBRit6WihnbJ\r\no45PrqWxV++xBWGLNTwacXbRonqEfhyRf97UeotCJO24nEZr2nv3+AjNR1xR\r\nFfPU+sx66XwqvX9jA2MfxVl1tiDsmxZAoF5dnRETkDBGCGHcQNW90mKOU4lx\r\nejWKqQx14+k7YuPmq58G2n4vpB/72SIDcS9znKXp4C7n4CMByr5BaM/VkBnu\r\nJIDf9/mnia7gDiuYzb3ZXsReSFKVZULqGzJafX2ylYbTsuu5uyK5xaIpTd73\r\nOIFNxkEJitJdBbgnROC1ImM7dqLM1N6OGd1uPR3HFW/yHy9S4vuSHX2zyhrc\r\noDOBOfMJDwYvexu525UnmEZqFYRvfegkndE=\r\n=rrii\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^16.0.0 || >= 18.0.0"},"exports":{"./sign.mjs":"./sign.mjs","./package.json":"./package.json","./get_public_key.mjs":"./get_public_key.mjs","./recover_public_key.mjs":"./recover_public_key.mjs"},"gitHead":"7652ad44d65a6512b1b7ab4a820d2023efda69e0","scripts":{"test":"npm run eslint && npm run prettier && npm run types && npm run tests","tests":"coverage-node test/index.test.mjs","types":"tsc -p jsconfig.json","eslint":"eslint .","prettier":"prettier -c .","prepublishOnly":"npm test","prettier:readme":"prettier --write readme.md"},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"8.19.3","description":"An ultra lightweight (2 kbyte) pure JavaScript implimentation for the secp256k1 curve for node and browsers.","directories":{},"sideEffects":false,"_nodeVersion":"16.19.1","browserslist":["defaults","not IE 11"],"dependencies":{"universal-sha256-js":"^2.0.0","universal-hmac-sha256-js":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.34.0","prettier":"^2.8.4","typescript":"^4.9.5","@types/node":"^18.13.0","coverage-node":"^8.0.0","test-director":"^10.0.0","eslint-plugin-simple-import-sort":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_2.0.3_1677125946910_0.0895250724932466","host":"s3://npm-registry-packages"}},"2.0.4":{"name":"isomorphic-secp256k1-js","version":"2.0.4","keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","ecc","elliptic","curve","crypto","currency","secp256k1","dependencies","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@2.0.4","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"ff10e19318f6f011c8d287e1f7213a48395d23b2","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-2.0.4.tgz","fileCount":7,"integrity":"sha512-Vb22sJ1iu935EobNTbBym6Zd3XwpVEUCnzSye6FUEtPZN2tNWL5bJbyo4wV9+f5VhDJcWus8yelaxNitoOVKjQ==","signatures":[{"sig":"MEYCIQD9bl9rG4vjLRaZCeP/BBjnsVlgFPyv9Jf3mjtQ7xicqAIhAImDgM1FHrf1aAJ6iT4RQmRgWxikqFRDq+Cds+dZI4gu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16747,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/VrVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoq7RAAko6D7UDgXhfhb2TdGcwzGDDja1z9Fv/aoAcby+jGNnonYTFl\r\ncXLRX7VgbaCH+jHtfPCvhuBKeTbFzisic8yDK21Z/vWvuYCefg5a89eauwFr\r\nfMHI+Q81N4kho/AEuwdORF66O6MQHHNOyrStrP6eAPxXd1IODrz7iIBlAwmn\r\nZhmilWhil5FUWJv1fpbg8bTy0xAfCJ8GnuZ5sWBdctxkoqByRfBfLNxFgzbJ\r\n9vgWK5unLSpRkcXvSyPHfBdJs+ZTym1VWWyf8lenEJGKEVXiGRC6vtnPjiCA\r\nJ9oNTeOavsvlPi0L9V+Jsv3uR2irr8Yb08XptyzuwaQq5HoYUHM0WQiZ0lOJ\r\nFNCdVgloLZgo3KXPLsZfir7L7h5gHcOhFXZ8ctnRWUb9kkajH3yyJd/+2eS/\r\nHRNSS1JqmbowY7qMi9u2mRBHQEhc+p5/EZ7JEBY90O7CuBsXhaH0Y7sFKtBF\r\n0k/PH3Usmw/Lxilnlk/+xMsV79Kfwd8DAhQ9u5z5VDQe+YdAl2xxqow2up2p\r\nb1W22MHblq7pQSyg3t9kiBTjUbu3t7ulcf8BXOaHWifVM7v2WE/S2BmuTFRw\r\n/NWNnVW2muHso+yIxgaWH0Wb0mghQhd5VTnAu/p6aQ9qHQd43nG22H1q/MAY\r\nRwDb31GyLril7+pKLI6Yr3gftv9G175yHsU=\r\n=/OsT\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^16.0.0 || >= 18.0.0"},"exports":{"./sign.mjs":"./sign.mjs","./package.json":"./package.json","./get_public_key.mjs":"./get_public_key.mjs","./recover_public_key.mjs":"./recover_public_key.mjs"},"gitHead":"e80f4e704c83288e1e92b5f0fc0785624b4639e7","scripts":{"test":"npm run eslint && npm run prettier && npm run types && npm run tests","tests":"coverage-node test/index.test.mjs","types":"tsc -p jsconfig.json","eslint":"eslint .","prettier":"prettier -c .","prepublishOnly":"npm test","prettier:readme":"prettier --write readme.md"},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"8.19.3","description":"An ultra lightweight (2 kbyte) pure JavaScript implimentation for the secp256k1 curve for node and browsers.","directories":{},"sideEffects":false,"_nodeVersion":"16.19.1","browserslist":["defaults","not IE 11"],"dependencies":{"universal-sha256-js":"^2.0.0","universal-hmac-sha256-js":"^3.0.2"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.34.0","prettier":"^2.8.4","typescript":"^4.9.5","@types/node":"^18.13.0","coverage-node":"^8.0.0","test-director":"^10.0.0","eslint-plugin-simple-import-sort":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_2.0.4_1677548244955_0.30655445649781043","host":"s3://npm-registry-packages"}},"2.0.5":{"name":"isomorphic-secp256k1-js","version":"2.0.5","keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","ecc","elliptic","curve","crypto","currency","secp256k1","dependencies","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@2.0.5","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"e2e1cd3b85c774e16597913e3e0b316a0337304f","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-2.0.5.tgz","fileCount":7,"integrity":"sha512-KbPvWOsATe2svbx6FH9aYUkJCs88SkO9Cz43Ajmj8h3a9SykO6YIJohgGeG45TaH06si507O9ySbwoUIs7RxVw==","signatures":[{"sig":"MEYCIQCZ+GC2WocZtEAqwii3nGUIvYgLzQ7MdZkGCPhz419kVgIhAIr+72zBqCPmP53vlLdIlBecb9hWzXclCyf+WqffGusG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17340,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFAdrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr8aQ/9ECJQNR0AAO2U/pGkNvkG0efICVcHKqPw793cBAvynB0i0mfU\r\nCcKzc99y98Qfijf/PzV2SAeNmwSUNiU5Mr8UnkWheLOLOGydMCJ28ZHCdGxG\r\n9IcAP2gFBZdObTtMfhNyiSmxr2WEzlpZ9frMeMy4+p1cKe+dsdDg4PfU/60Q\r\n6JGGcrck/xyot1RQocZMTl1PC+KxAZQBRxgdcNq77FBSPgqSBrW4jJ4OTfcU\r\nVOjAnku8fhJf0gASvDuZiTkv1Xxc+wStaK28L1ks08RCQe1438z4e3kNHrjN\r\nx8v3c/Pn/KpU/xV+CCr3eZHswgd6Vho435O7r5XMH43c064bDw7K05tLPVl6\r\nBlFAK8E1E4HLcECJ8XAK2InAmnBzuACllc7mX2refyEkV4AGKpRXsnQW14eb\r\n+4ic8828sy5fekBHe1RiitoVYfScRCN2csO7VcuiL2KXDGAwLoLOeEpjWr9b\r\n3CXoGH0PbVugE6SQVj9Gj5xeL9YBMgi1b4qo2dEELQirGf+ynAv935EcQCBF\r\nyIS+zVxLqApJ3Am1wIaS/JGXZDMQcF/enNSZw1TtklrN7UNECmyXdo+3fOHA\r\nswuy08n739V5UbcEexLC4XNpcrnrmfN+iHBMxWl9/f8ODbc0L0vihsL8/OsW\r\nWjgzMnqmCmox9eX24Hq7ULajV1srFhYJOO0=\r\n=48xz\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^16.0.0 || >= 18.0.0"},"exports":{"./sign.mjs":"./sign.mjs","./package.json":"./package.json","./get_public_key.mjs":"./get_public_key.mjs","./recover_public_key.mjs":"./recover_public_key.mjs"},"gitHead":"a55cc7e55634c3e9fd410896f7a0ce84feeb826e","scripts":{"test":"npm run eslint && npm run prettier && npm run types && npm run tests","tests":"coverage-node test/index.test.mjs","types":"tsc -p jsconfig.json","eslint":"eslint .","prettier":"prettier -c .","prepublishOnly":"npm test","prettier:readme":"prettier --write readme.md"},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"8.11.0","description":"An ultra lightweight (2 kbyte) pure JavaScript implimentation for the secp256k1 curve for node and browsers.","directories":{},"sideEffects":false,"_nodeVersion":"18.14.2","browserslist":["defaults","not IE 11"],"dependencies":{"universal-sha256-js":"^2.0.0","universal-hmac-sha256-js":"^3.0.2"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.34.0","esbuild":"^0.17.11","prettier":"^2.8.4","typescript":"^4.9.5","@types/node":"^18.13.0","coverage-node":"^8.0.0","test-director":"^10.0.0","eslint-plugin-simple-import-sort":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_2.0.5_1679034219210_0.7342620251067071","host":"s3://npm-registry-packages"}},"3.0.0-rc.1":{"name":"isomorphic-secp256k1-js","version":"3.0.0-rc.1","keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","ecc","elliptic","curve","crypto","currency","secp256k1","dependencies","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@3.0.0-rc.1","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"6bd496b72ec1018bd545ec4a9fee606e47e6db1b","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-3.0.0-rc.1.tgz","fileCount":7,"integrity":"sha512-bQ01yiJuqpplpokj1puAgbUSI2sk9I6KBfjQqjoCvdK1X8jMPXPQFCxD05gP7uhrJK0PdRXSI66boDVaDLvx8Q==","signatures":[{"sig":"MEUCIGdhLEfB/YZmGaHkk9dx+0pffad63dugK5naZBZGXT84AiEA4P9MErEIGGm2Sen3GBgmt07kk/N3yHGiQqq71KpOWc4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17357},"engines":{"node":"^16.0.0 || >= 18.0.0"},"exports":{"./sign.mjs":"./sign.mjs","./package.json":"./package.json","./get_public_key.mjs":"./get_public_key.mjs","./recover_public_key.mjs":"./recover_public_key.mjs"},"gitHead":"a55cc7e55634c3e9fd410896f7a0ce84feeb826e","scripts":{"test":"npm run eslint && npm run prettier && npm run types && npm run tests","tests":"ALLOW_MISSING_COVERAGE=1 coverage-node test/index.test.mjs","types":"tsc -p jsconfig.json","eslint":"eslint .","prettier":"prettier -c .","prepublishOnly":"npm test","prettier:readme":"prettier --write readme.md"},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"8.11.0","description":"An ultra lightweight (2 kbyte) pure JavaScript implimentation for the secp256k1 curve for node and browsers.","directories":{},"sideEffects":false,"_nodeVersion":"18.14.2","browserslist":["defaults","not IE 11"],"dependencies":{"universal-sha256-js":"^2.0.0","universal-hmac-sha256-js":"^3.0.2"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.34.0","esbuild":"^0.17.11","prettier":"^2.8.4","typescript":"^4.9.5","@types/node":"^18.13.0","coverage-node":"^8.0.0","test-director":"^10.0.0","eslint-plugin-simple-import-sort":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_3.0.0-rc.1_1693888197197_0.14441199271769167","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"isomorphic-secp256k1-js","version":"3.0.0","keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","ecc","elliptic","curve","crypto","currency","secp256k1","dependencies","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@3.0.0","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"ba749bd2706f4566313dc7441e0b73cc850f37bc","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-3.0.0.tgz","fileCount":7,"integrity":"sha512-9RB+kwJH7ftPOtdVwcfBBkr4bBtI0B4BQQCUZ3Dl0HXTIyhCBO36K6qIMhVtJ5Bgst6FgPIRuj1iu1IGp9erww==","signatures":[{"sig":"MEYCIQDWgQN7WTWueszGlAvkhhu5wZxn02z65xg/e7B+bXi0cAIhAPvTpYqSdbt5REnw5J6GFPF3Kxjg8GPfAvbjsN2vFelB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17352},"engines":{"node":"^16.0.0 || >= 18.0.0"},"exports":{"./sign.mjs":"./sign.mjs","./package.json":"./package.json","./get_public_key.mjs":"./get_public_key.mjs","./recover_public_key.mjs":"./recover_public_key.mjs"},"gitHead":"a55cc7e55634c3e9fd410896f7a0ce84feeb826e","scripts":{"test":"npm run eslint && npm run prettier && npm run types && npm run tests","tests":"ALLOW_MISSING_COVERAGE=1 coverage-node test/index.test.mjs","types":"tsc -p jsconfig.json","eslint":"eslint .","prettier":"prettier -c .","prepublishOnly":"npm test","prettier:readme":"prettier --write readme.md"},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"8.11.0","description":"An ultra lightweight (2 kbyte) pure JavaScript implimentation for the secp256k1 curve for node and browsers.","directories":{},"sideEffects":false,"_nodeVersion":"18.14.2","browserslist":["defaults","not IE 11"],"dependencies":{"universal-sha256-js":"^2.0.0","universal-hmac-sha256-js":"^3.0.2"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.34.0","esbuild":"^0.17.11","prettier":"^2.8.4","typescript":"^4.9.5","@types/node":"^18.13.0","coverage-node":"^8.0.0","test-director":"^10.0.0","eslint-plugin-simple-import-sort":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_3.0.0_1693890397706_0.5725380829938711","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"isomorphic-secp256k1-js","version":"4.0.0","keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","ecc","elliptic","curve","crypto","currency","secp256k1","dependencies","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@4.0.0","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"bbee86072200ddc69b5b1e05c8b891316826acb9","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-4.0.0.tgz","fileCount":17,"integrity":"sha512-dpMFflw19IeJmARuAlyZp9GTD7POa9thu+lcQF2npwofmP05yJcdL6wsC0vVjRe61De9bpXpaRJh4cHfSaIhPw==","signatures":[{"sig":"MEYCIQDBMi7A0rdWBvwEZzvBYwucdElGiowylKFfjp8tb2XFvQIhAPndCGC0spjBDW9b+UTzegJMRUB5umDOx7uAwDhgeyPS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30411},"type":"module","types":"dist/index.d.ts","engines":{"node":">= 18.0.0"},"exports":{"./sign":"./dist/sign.js","./utils":"./dist/utils.js","./sha256":"./dist/sha256.js","./hmac_sha256":"./dist/hmac_sha256.js","./package.json":"./package.json","./get_public_key":"./dist/get_public_key.js","./recover_public_key":"./dist/recover_public_key.js"},"gitHead":"cd12061cd38ba98d666b545ce42d31c802a3dd82","scripts":{"test":"npm run eslint && npm run prettier && npm run mocha","build":"tsc","mocha":"mocha","eslint":"eslint .","prettier":"prettier -c .","extract-api":"api-extractor run --local","prepublishOnly":"npm test","prettier:readme":"prettier --write readme.md"},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"11.0.0","description":"An ultra lightweight (2 kbyte) pure JavaScript implimentation for the secp256k1 curve for node and browsers.","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","browserslist":["defaults","not IE 11"],"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","chai":"^5.1.2","mocha":"^11.0.1","eslint":"^8.34.0","ts-node":"^10.9.2","prettier":"^2.8.4","typescript":"^5.7.3","@types/chai":"^5.0.1","@types/node":"^22.10.5","@types/mocha":"^10.0.10","@types/elliptic":"^6.4.18","@typescript-eslint/parser":"^8.19.1","@typescript-eslint/eslint-plugin":"^8.19.1","eslint-plugin-simple-import-sort":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_4.0.0_1736755570146_0.6832594044022833","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"isomorphic-secp256k1-js","version":"4.0.1","keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","ecc","elliptic","curve","crypto","currency","secp256k1","dependencies","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@4.0.1","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"e96fc4db614a38154920b3ccc19a54b851d635f4","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-4.0.1.tgz","fileCount":14,"integrity":"sha512-rCvTNAMSXV4VLjxSn9ovYvxyyOgho4y9VDXZyehNxRtYWB/nitLaFkibQcQOaGtNF8LcY8K8c8OMaZ84pfRHEg==","signatures":[{"sig":"MEUCIQDMlN3kaz1thmqn/VSqQB62KTL/tBuMOppw8CfQ7n3AJQIgCIbVNkMwWNGlLRAjgyuLj56pjBCOyQ28e4LnJGbTEdU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25297},"type":"module","engines":{"node":">= 18.0.0"},"exports":{"./sign":"./sign.js","./utils":"./utils.js","./sha256":"./sha256.js","./hmac_sha256":"./hmac_sha256.js","./package.json":"./package.json","./get_public_key":"./get_public_key.js","./recover_public_key":"./recover_public_key.js"},"gitHead":"171c24d6dc0fd5448b4aeed222785eecc74b7a93","scripts":{"test":"npm run eslint && npm run prettier && npm run mocha","build":"tsc","mocha":"mocha","eslint":"eslint .","prettier":"prettier -c .","extract-api":"api-extractor run --local","prepublishOnly":"npm test","prettier:readme":"prettier --write readme.md"},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"11.0.0","description":"An ultra lightweight (2 kbyte) pure JavaScript implimentation for the secp256k1 curve for node and browsers.","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","browserslist":["defaults","not IE 11"],"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","chai":"^5.1.2","mocha":"^11.0.1","eslint":"^8.34.0","ts-node":"^10.9.2","prettier":"^2.8.4","typescript":"^5.7.3","@types/chai":"^5.0.1","@types/node":"^22.10.5","@types/mocha":"^10.0.10","@types/elliptic":"^6.4.18","@typescript-eslint/parser":"^8.19.1","@typescript-eslint/eslint-plugin":"^8.19.1","eslint-plugin-simple-import-sort":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_4.0.1_1736756839514_0.1833093954083782","host":"s3://npm-registry-packages-npm-production"}},"4.0.2":{"name":"isomorphic-secp256k1-js","version":"4.0.2","keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","ecc","elliptic","curve","crypto","currency","secp256k1","dependencies","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@4.0.2","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"5b3bbf3217d591ae0c57c425dbf0f98d5d4fa7b9","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-4.0.2.tgz","fileCount":14,"integrity":"sha512-8Aq5r9oknjRIb8+7Xrm5WAusrdMTRxClt9xIQGeLfCPEmtMvHMgmzIfgCZd0IG++knCQPbfzV/EV7tMpsdkLVQ==","signatures":[{"sig":"MEUCIFEpFnZEuFtBQwYBM/U3TRHQGTpJ0oC++oqIDXv3Z9QhAiEA5UBL3qTHl94GQ2/KfwYrp1fq/kezzWDgPlqcFzSLe5E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25292},"type":"module","engines":{"node":">= 18.0.0"},"exports":{"./sign":"./sign.js","./utils":"./utils.js","./sha256":"./sha256.js","./hmac_sha256":"./hmac_sha256.js","./package.json":"./package.json","./get_public_key":"./get_public_key.js","./recover_public_key":"./recover_public_key.js"},"gitHead":"171c24d6dc0fd5448b4aeed222785eecc74b7a93","scripts":{"test":"npm run eslint && npm run prettier && npm run mocha","build":"tsc","mocha":"mocha","eslint":"eslint .","prettier":"prettier -c .","extract-api":"api-extractor run --local","prepublishOnly":"npm test","prettier:readme":"prettier --write readme.md"},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"11.0.0","description":"An ultra lightweight (2 kbyte) pure JavaScript implimentation for the secp256k1 curve for node and browsers.","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","browserslist":["defaults","not IE 11"],"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","chai":"^5.1.2","mocha":"^11.0.1","eslint":"^8.34.0","ts-node":"^10.9.2","prettier":"^2.8.4","typescript":"^5.7.3","@types/chai":"^5.0.1","@types/node":"^22.10.5","@types/mocha":"^10.0.10","@types/elliptic":"^6.4.18","@typescript-eslint/parser":"^8.19.1","@typescript-eslint/eslint-plugin":"^8.19.1","eslint-plugin-simple-import-sort":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_4.0.2_1736757101665_0.33626291086187865","host":"s3://npm-registry-packages-npm-production"}},"4.0.3":{"name":"isomorphic-secp256k1-js","version":"4.0.3","keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","ecc","elliptic","curve","crypto","currency","secp256k1","dependencies","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@4.0.3","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"459fa7fa13f8d5f913801ee4cde72bc0515bfb8c","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-4.0.3.tgz","fileCount":14,"integrity":"sha512-YLyWLQ2rxMsUqMeyQ4OVnnfY4gWd6R0bhmVeh+lJuEvIgf3ux1NM31YiMiSY7cMMJfvnQ7g4lIzdDH7A13CoSg==","signatures":[{"sig":"MEUCIHzix2lJUNShsaGpx8ckJ8DDYc+Hw4AahSYedu1Vbt1GAiEAmGRMfOOAfZclr/S5cfyN5/4znZG8mA/Qz0tf5TPLxrY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25558},"type":"module","engines":{"node":">= 18.0.0"},"exports":{"./sign":"./sign.js","./utils":"./utils.js","./sha256":"./sha256.js","./sign.js":"./sign.js","./utils.js":"./utils.js","./sha256.js":"./sha256.js","./hmac_sha256":"./hmac_sha256.js","./package.json":"./package.json","./get_public_key":"./get_public_key.js","./hmac_sha256.js":"./hmac_sha256.js","./get_public_key.js":"./get_public_key.js","./recover_public_key":"./recover_public_key.js","./recover_public_key.js":"./recover_public_key.js"},"gitHead":"171c24d6dc0fd5448b4aeed222785eecc74b7a93","scripts":{"test":"npm run eslint && npm run prettier && npm run mocha","build":"tsc","mocha":"mocha","eslint":"eslint .","prettier":"prettier -c .","extract-api":"api-extractor run --local","prepublishOnly":"npm test","prettier:readme":"prettier --write readme.md"},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"11.0.0","description":"An ultra lightweight (2 kbyte) pure JavaScript implimentation for the secp256k1 curve for node and browsers.","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","browserslist":["defaults","not IE 11"],"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","chai":"^5.1.2","mocha":"^11.0.1","eslint":"^8.34.0","ts-node":"^10.9.2","prettier":"^2.8.4","typescript":"^5.7.3","@types/chai":"^5.0.1","@types/node":"^22.10.5","@types/mocha":"^10.0.10","@types/elliptic":"^6.4.18","@typescript-eslint/parser":"^8.19.1","@typescript-eslint/eslint-plugin":"^8.19.1","eslint-plugin-simple-import-sort":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_4.0.3_1736758629994_0.27557713845297793","host":"s3://npm-registry-packages-npm-production"}},"4.0.4":{"name":"isomorphic-secp256k1-js","version":"4.0.4","keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","ecc","elliptic","curve","crypto","currency","secp256k1","dependencies","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@4.0.4","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"4388297960ab0169051cc0553b3c01c49d5d1f07","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-4.0.4.tgz","fileCount":14,"integrity":"sha512-OsFurOtWZH8oCCvyIHgCXF6in86grwmTmnLPI0kHdpQqKVZa+VrBsmATnUvdEYgrTsuIe1NHIBgqTrFsE/kzaQ==","signatures":[{"sig":"MEYCIQCRzL04g8LXtW6z2s+GMZgCvT+1yYIwJ4mjVor058lDiwIhALq1uS15Gt4b16vacHtqb4eu7S0dwK7uAqNmZxZ8JBSm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26110},"type":"module","engines":{"node":">= 18.0.0"},"exports":{"./sign":"./sign.js","./utils":"./utils.js","./sha256":"./sha256.js","./sign.js":"./sign.js","./utils.js":"./utils.js","./sha256.js":"./sha256.js","./hmac_sha256":"./hmac_sha256.js","./package.json":"./package.json","./get_public_key":"./get_public_key.js","./hmac_sha256.js":"./hmac_sha256.js","./get_public_key.js":"./get_public_key.js","./recover_public_key":"./recover_public_key.js","./recover_public_key.js":"./recover_public_key.js"},"gitHead":"5d634071f8200b3f6c34991b0f690363585df759","scripts":{"test":"npm run eslint && npm run prettier && npm run mocha","build":"tsc","mocha":"mocha","eslint":"eslint .","prettier":"prettier -c .","extract-api":"api-extractor run --local","prepublishOnly":"npm test","prettier:readme":"prettier --write readme.md"},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"10.8.2","description":"An ultra lightweight (2 kbyte) pure JavaScript implimentation for the secp256k1 curve for node and browsers.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.6","browserslist":["defaults","not IE 11"],"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","chai":"^5.1.2","mocha":"^11.0.1","eslint":"^8.34.0","ts-node":"^10.9.2","prettier":"^2.8.4","typescript":"^5.7.3","@types/chai":"^5.0.1","@types/node":"^22.10.5","@types/mocha":"^10.0.10","@types/elliptic":"^6.4.18","@typescript-eslint/parser":"^8.19.1","@typescript-eslint/eslint-plugin":"^8.19.1","eslint-plugin-simple-import-sort":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_4.0.4_1738747386744_0.23275407099071233","host":"s3://npm-registry-packages-npm-production"}},"4.0.5-rc.0":{"name":"isomorphic-secp256k1-js","version":"4.0.5-rc.0","keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","ecc","elliptic","curve","crypto","currency","secp256k1","dependencies","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@4.0.5-rc.0","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"d46304ae6e687903ee27b9c68127d4377ce9b215","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-4.0.5-rc.0.tgz","fileCount":14,"integrity":"sha512-K3D7VAoL4GSRvJzzwj7ip2x6C2PLDTFHvTpBnzfdSQnt+cL07F1k67WgEDgxHukEw+/fSEC9hnOQygyOE3YLuQ==","signatures":[{"sig":"MEUCIB4xgxtwii6K49ueYTQi/co5KM65bKyTOL4wamKmle3nAiEA42qQONhwqC7e4cyuqHMTiDlsfK2XSTCbsl/Ogy99954=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25999},"type":"module","engines":{"node":">= 18.0.0"},"exports":{"./sign":"./sign.js","./utils":"./utils.js","./sha256":"./sha256.js","./sign.js":"./sign.js","./utils.js":"./utils.js","./sha256.js":"./sha256.js","./hmac_sha256":"./hmac_sha256.js","./package.json":"./package.json","./get_public_key":"./get_public_key.js","./hmac_sha256.js":"./hmac_sha256.js","./get_public_key.js":"./get_public_key.js","./recover_public_key":"./recover_public_key.js","./recover_public_key.js":"./recover_public_key.js"},"gitHead":"5d634071f8200b3f6c34991b0f690363585df759","scripts":{"test":"npm run eslint && npm run prettier && npm run mocha","build":"tsc","mocha":"mocha","eslint":"eslint .","prettier":"prettier -c .","extract-api":"api-extractor run --local","prepublishOnly":"npm test","prettier:readme":"prettier --write readme.md"},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"10.8.2","description":"An ultra lightweight (2 kbyte) pure JavaScript implimentation for the secp256k1 curve for node and browsers.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.6","browserslist":["defaults","not IE 11"],"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"tsx":"^4.19.2","chai":"^5.1.2","mocha":"^11.0.1","eslint":"^8.34.0","ts-node":"^10.9.2","prettier":"^2.8.4","typescript":"^5.7.3","@types/chai":"^5.0.1","@types/node":"^22.10.5","@types/mocha":"^10.0.10","@types/elliptic":"^6.4.18","@typescript-eslint/parser":"^8.19.1","@typescript-eslint/eslint-plugin":"^8.19.1","eslint-plugin-simple-import-sort":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_4.0.5-rc.0_1738748572154_0.18034227961473137","host":"s3://npm-registry-packages-npm-production"}},"4.0.5":{"name":"isomorphic-secp256k1-js","version":"4.0.5","keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","ecc","elliptic","curve","crypto","currency","secp256k1","dependencies","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@4.0.5","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"edb6f062cbe7c66625aaee7e30797d2a04f77528","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-4.0.5.tgz","fileCount":14,"integrity":"sha512-EMu+rJYEh3cKfu0CvEJhsCBhmMF33H/lhXgi2X/8kjDIfWTPrcF52O5wfUFYJ95n8q5prDid3MOXTWdFu8egEg==","signatures":[{"sig":"MEUCIBNq08uQ8eZ/pmwToQ7pXLSzKRcPItCUr1XxdHiLo1AyAiEAllAYl9zYDR/DDTLh2M30aVB/wFBMlpg3vU+AR4JNHLg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25994},"type":"module","engines":{"node":">= 18.0.0"},"exports":{"./sign":"./sign.js","./utils":"./utils.js","./sha256":"./sha256.js","./sign.js":"./sign.js","./utils.js":"./utils.js","./sha256.js":"./sha256.js","./hmac_sha256":"./hmac_sha256.js","./package.json":"./package.json","./get_public_key":"./get_public_key.js","./hmac_sha256.js":"./hmac_sha256.js","./get_public_key.js":"./get_public_key.js","./recover_public_key":"./recover_public_key.js","./recover_public_key.js":"./recover_public_key.js"},"gitHead":"5d634071f8200b3f6c34991b0f690363585df759","scripts":{"test":"npm run eslint && npm run prettier && npm run mocha","build":"tsc","mocha":"mocha","eslint":"eslint .","prettier":"prettier -c .","extract-api":"api-extractor run --local","prepublishOnly":"npm test","prettier:readme":"prettier --write readme.md"},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"10.8.2","description":"An ultra lightweight (2 kbyte) pure JavaScript implimentation for the secp256k1 curve for node and browsers.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.6","browserslist":["defaults","not IE 11"],"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","chai":"^5.1.2","mocha":"^11.0.1","eslint":"^8.34.0","ts-node":"^10.9.2","prettier":"^2.8.4","typescript":"^5.7.3","@types/chai":"^5.0.1","@types/node":"^22.10.5","@types/mocha":"^10.0.10","@types/elliptic":"^6.4.18","@typescript-eslint/parser":"^8.19.1","@typescript-eslint/eslint-plugin":"^8.19.1","eslint-plugin-simple-import-sort":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_4.0.5_1738748780872_0.2628001680417016","host":"s3://npm-registry-packages-npm-production"}},"5.0.1":{"name":"isomorphic-secp256k1-js","version":"5.0.1","keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","verification","public-key-recovery","key-generation","csprng","rfc6979","ecc","elliptic","curve","crypto","currency","secp256k1","browser","node","zero-dependency","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@5.0.1","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"b1a8b8d6bc107da9d7d78a2cb6a89890eb9e78b7","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-5.0.1.tgz","fileCount":22,"integrity":"sha512-dRgo/Hdwm3tRibDsUM1cq53r81Y1d/178VCsHIGyy/sKhB9WFbxAu1MpC4hvDLyGvAxkQobWKTKYexKOL8d2tA==","signatures":[{"sig":"MEYCIQCbxkOVB8hbgOLvztLufFxXpQmaM5DaR3Qq37lG3N1KagIhAIAi2Qo0mvF92InRRmchfVzopQs3IubhOUoZsaI0Yliw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65562},"main":"./index.js","type":"module","types":"./index.d.ts","module":"./index.js","engines":{"node":">= 20.19.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","default":"./index.js"},"./sign":{"types":"./sign.d.ts","import":"./sign.js","default":"./sign.js"},"./utils":{"types":"./utils.d.ts","import":"./utils.js","default":"./utils.js"},"./sha256":{"types":"./sha256.d.ts","import":"./sha256.js","default":"./sha256.js"},"./verify":{"types":"./verify.d.ts","import":"./verify.js","default":"./verify.js"},"./sign.js":{"types":"./sign.d.ts","import":"./sign.js","default":"./sign.js"},"./utils.js":{"types":"./utils.d.ts","import":"./utils.js","default":"./utils.js"},"./sha256.js":{"types":"./sha256.d.ts","import":"./sha256.js","default":"./sha256.js"},"./verify.js":{"types":"./verify.d.ts","import":"./verify.js","default":"./verify.js"},"./hmac_sha256":{"types":"./hmac_sha256.d.ts","import":"./hmac_sha256.js","default":"./hmac_sha256.js"},"./package.json":"./package.json","./get_public_key":{"types":"./get_public_key.d.ts","import":"./get_public_key.js","default":"./get_public_key.js"},"./hmac_sha256.js":{"types":"./hmac_sha256.d.ts","import":"./hmac_sha256.js","default":"./hmac_sha256.js"},"./get_public_key.js":{"types":"./get_public_key.d.ts","import":"./get_public_key.js","default":"./get_public_key.js"},"./recover_public_key":{"types":"./recover_public_key.d.ts","import":"./recover_public_key.js","default":"./recover_public_key.js"},"./generate_private_key":{"types":"./generate_private_key.d.ts","import":"./generate_private_key.js","default":"./generate_private_key.js"},"./recover_public_key.js":{"types":"./recover_public_key.d.ts","import":"./recover_public_key.js","default":"./recover_public_key.js"},"./generate_private_key.js":{"types":"./generate_private_key.d.ts","import":"./generate_private_key.js","default":"./generate_private_key.js"}},"gitHead":"1f0f8775038c66fbdac8ca619056934056e34a19","scripts":{"test":"npm run format:check && npm run build && npm run typecheck && npm run test:unit","build":"npm run clean && tsc -p tsconfig.json","clean":"node ./scripts/clean.mjs","format":"prettier --write .","prepack":"npm test","postpack":"npm run clean","test:unit":"node --import tsx --test test/*.test.ts","typecheck":"tsc --noEmit -p tsconfig.test.json","format:check":"prettier --check ."},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"11.5.1","description":"A strict, zero-runtime-dependency secp256k1 ECDSA library for private-key generation, public-key derivation, deterministic signing, verification, and recovery in Node.js and browsers.","directories":{},"sideEffects":false,"_nodeVersion":"24.7.0","browserslist":["defaults","not IE 11"],"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.23.5","esbuild":"0.28.1","prettier":"3.9.6","typescript":"5.9.3","@types/node":"22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_5.0.1_1785738537204_0.86488875242882","host":"s3://npm-registry-packages-npm-production"}},"5.0.2":{"name":"isomorphic-secp256k1-js","version":"5.0.2","keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","verification","public-key-recovery","key-generation","private-key","public-key","csprng","entropy","randomness","webcrypto","web-crypto","rfc6979","recoverable-signature","ecc","elliptic","curve","crypto","currency","secp256k1","browser","node","typescript","zero-dependency","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@5.0.2","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"ce182e9435282c7270f972f7c3e19522e172c59b","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-5.0.2.tgz","fileCount":24,"integrity":"sha512-hJkucmmBZNQDfV0xxnFxaBbQ9db/9lAUKovJkrbzvMMLMjfh1RDyDFFVQ/cy+qkOGCmMEwWrIAh1Oka0N389vg==","signatures":[{"sig":"MEUCID+KXrXXoowkxrn/MSCllL3yeXKmDkAsPLeiB5Z5bl3HAiEAyPHDkzVUIoy7rIlUIMPdoRXbCEMr6uxmwdeNHlWHAoI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":77459},"main":"./index.js","type":"module","types":"./index.d.ts","module":"./index.js","engines":{"node":">= 20.19.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","default":"./index.js"},"./sign":{"types":"./sign.d.ts","import":"./sign.js","default":"./sign.js"},"./utils":{"types":"./utils.d.ts","import":"./utils.js","default":"./utils.js"},"./sha256":{"types":"./sha256.d.ts","import":"./sha256.js","default":"./sha256.js"},"./verify":{"types":"./verify.d.ts","import":"./verify.js","default":"./verify.js"},"./sign.js":{"types":"./sign.d.ts","import":"./sign.js","default":"./sign.js"},"./utils.js":{"types":"./utils.d.ts","import":"./utils.js","default":"./utils.js"},"./sha256.js":{"types":"./sha256.d.ts","import":"./sha256.js","default":"./sha256.js"},"./verify.js":{"types":"./verify.d.ts","import":"./verify.js","default":"./verify.js"},"./hmac_sha256":{"types":"./hmac_sha256.d.ts","import":"./hmac_sha256.js","default":"./hmac_sha256.js"},"./package.json":"./package.json","./get_public_key":{"types":"./get_public_key.d.ts","import":"./get_public_key.js","default":"./get_public_key.js"},"./hmac_sha256.js":{"types":"./hmac_sha256.d.ts","import":"./hmac_sha256.js","default":"./hmac_sha256.js"},"./get_public_key.js":{"types":"./get_public_key.d.ts","import":"./get_public_key.js","default":"./get_public_key.js"},"./recover_public_key":{"types":"./recover_public_key.d.ts","import":"./recover_public_key.js","default":"./recover_public_key.js"},"./generate_private_key":{"types":"./generate_private_key.d.ts","import":"./generate_private_key.js","default":"./generate_private_key.js"},"./recover_public_key.js":{"types":"./recover_public_key.d.ts","import":"./recover_public_key.js","default":"./recover_public_key.js"},"./generate_private_key.js":{"types":"./generate_private_key.d.ts","import":"./generate_private_key.js","default":"./generate_private_key.js"}},"gitHead":"3874abba8721e7ee6673f050c840c47f3c9f34f9","scripts":{"test":"npm run format:check && npm run build && npm run typecheck && npm run test:unit","build":"npm run clean && tsc -p tsconfig.json","clean":"node ./scripts/clean.mjs","format":"prettier --write .","prepack":"npm test","postpack":"npm run clean","test:unit":"node --import tsx --test test/*.test.ts","typecheck":"tsc --noEmit -p tsconfig.test.json","format:check":"prettier --check ."},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"11.5.1","description":"Zero-dependency secp256k1 ECDSA for Node.js and browsers, with native or caller-supplied CSPRNG key generation, RFC 6979 signing, verification, and recovery.","directories":{},"sideEffects":false,"_nodeVersion":"24.7.0","browserslist":["defaults","not IE 11"],"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.23.5","esbuild":"0.28.1","prettier":"3.9.6","typescript":"5.9.3","@types/node":"22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_5.0.2_1785746034634_0.7581189232323688","host":"s3://npm-registry-packages-npm-production"}},"5.0.3":{"name":"isomorphic-secp256k1-js","version":"5.0.3","keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","verification","public-key-recovery","key-generation","private-key","public-key","csprng","entropy","randomness","webcrypto","web-crypto","rfc6979","recoverable-signature","ecc","elliptic","curve","crypto","currency","secp256k1","browser","node","typescript","zero-dependency","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","_id":"isomorphic-secp256k1-js@5.0.3","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"dist":{"shasum":"c0bd0a76d2ecfdce1470aa41de1eaa601696af59","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-5.0.3.tgz","fileCount":24,"integrity":"sha512-I0m0esMyaxstdyamfsm3QfIMzXwMb7ormSIfDEoK8gW2ZHd1La9Q0U6xXorQ1xxuq5oOSkJ/YLXsTMeKddhXzQ==","signatures":[{"sig":"MEUCIQClLygjYy84NqJUG7YOHVdEJevGLHz+ekmTvZXtPtZaLAIgdNqWUV2pnWWXkjOnl+nZRw/+3DEiDmBG+pzBN5Lsofs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":77476},"main":"./index.js","type":"module","types":"./index.d.ts","module":"./index.js","engines":{"node":">= 20.19.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","default":"./index.js"},"./sign":{"types":"./sign.d.ts","import":"./sign.js","default":"./sign.js"},"./utils":{"types":"./utils.d.ts","import":"./utils.js","default":"./utils.js"},"./sha256":{"types":"./sha256.d.ts","import":"./sha256.js","default":"./sha256.js"},"./verify":{"types":"./verify.d.ts","import":"./verify.js","default":"./verify.js"},"./sign.js":{"types":"./sign.d.ts","import":"./sign.js","default":"./sign.js"},"./utils.js":{"types":"./utils.d.ts","import":"./utils.js","default":"./utils.js"},"./sha256.js":{"types":"./sha256.d.ts","import":"./sha256.js","default":"./sha256.js"},"./verify.js":{"types":"./verify.d.ts","import":"./verify.js","default":"./verify.js"},"./hmac_sha256":{"types":"./hmac_sha256.d.ts","import":"./hmac_sha256.js","default":"./hmac_sha256.js"},"./package.json":"./package.json","./get_public_key":{"types":"./get_public_key.d.ts","import":"./get_public_key.js","default":"./get_public_key.js"},"./hmac_sha256.js":{"types":"./hmac_sha256.d.ts","import":"./hmac_sha256.js","default":"./hmac_sha256.js"},"./get_public_key.js":{"types":"./get_public_key.d.ts","import":"./get_public_key.js","default":"./get_public_key.js"},"./recover_public_key":{"types":"./recover_public_key.d.ts","import":"./recover_public_key.js","default":"./recover_public_key.js"},"./generate_private_key":{"types":"./generate_private_key.d.ts","import":"./generate_private_key.js","default":"./generate_private_key.js"},"./recover_public_key.js":{"types":"./recover_public_key.d.ts","import":"./recover_public_key.js","default":"./recover_public_key.js"},"./generate_private_key.js":{"types":"./generate_private_key.d.ts","import":"./generate_private_key.js","default":"./generate_private_key.js"}},"gitHead":"fbcc996d8c9b032d836493bf33d318ea403f0ac1","scripts":{"test":"npm run format:check && npm run build && npm run typecheck && npm run test:unit","build":"npm run clean && tsc -p tsconfig.json","clean":"node ./scripts/clean.mjs","format":"prettier --write .","prepack":"npm test","postpack":"npm run clean","test:unit":"node --import tsx --test test/*.test.ts","typecheck":"tsc --noEmit -p tsconfig.test.json","format:check":"prettier --check ."},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"repository":{"url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git","type":"git"},"_npmVersion":"11.5.1","description":"Zero-dependency secp256k1 ECDSA for Node.js and browsers, with native or caller-supplied CSPRNG key generation, RFC 6979 signing, verification, and recovery.","directories":{},"sideEffects":false,"_nodeVersion":"24.7.0","browserslist":["defaults","not IE 11"],"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.23.5","esbuild":"0.28.1","prettier":"3.9.6","typescript":"5.9.3","@types/node":"22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/isomorphic-secp256k1-js_5.0.3_1786099183703_0.7005184590864344","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"isomorphic-secp256k1-js","version":"6.0.0","description":"Zero-dependency secp256k1 ECDSA for Node.js and browsers, with native or caller-supplied CSPRNG key generation, RFC 6979 signing, verification, and recovery.","repository":{"type":"git","url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git"},"keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","verification","public-key-recovery","key-generation","private-key","public-key","csprng","entropy","randomness","webcrypto","web-crypto","rfc6979","recoverable-signature","ecc","elliptic","curve","crypto","currency","secp256k1","browser","node","typescript","zero-dependency","lightweight"],"author":{"name":"pur3miish"},"license":"MIT","bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"type":"module","main":"./index.js","module":"./index.js","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./index.js","default":"./index.js"},"./generate_private_key.js":{"types":"./generate_private_key.d.ts","import":"./generate_private_key.js","default":"./generate_private_key.js"},"./generate_private_key":{"types":"./generate_private_key.d.ts","import":"./generate_private_key.js","default":"./generate_private_key.js"},"./get_public_key.js":{"types":"./get_public_key.d.ts","import":"./get_public_key.js","default":"./get_public_key.js"},"./get_public_key":{"types":"./get_public_key.d.ts","import":"./get_public_key.js","default":"./get_public_key.js"},"./hmac_sha256.js":{"types":"./hmac_sha256.d.ts","import":"./hmac_sha256.js","default":"./hmac_sha256.js"},"./hmac_sha256":{"types":"./hmac_sha256.d.ts","import":"./hmac_sha256.js","default":"./hmac_sha256.js"},"./recover_public_key.js":{"types":"./recover_public_key.d.ts","import":"./recover_public_key.js","default":"./recover_public_key.js"},"./recover_public_key":{"types":"./recover_public_key.d.ts","import":"./recover_public_key.js","default":"./recover_public_key.js"},"./verify.js":{"types":"./verify.d.ts","import":"./verify.js","default":"./verify.js"},"./verify":{"types":"./verify.d.ts","import":"./verify.js","default":"./verify.js"},"./sign.js":{"types":"./sign.d.ts","import":"./sign.js","default":"./sign.js"},"./sign":{"types":"./sign.d.ts","import":"./sign.js","default":"./sign.js"},"./utils.js":{"types":"./utils.d.ts","import":"./utils.js","default":"./utils.js"},"./utils":{"types":"./utils.d.ts","import":"./utils.js","default":"./utils.js"},"./sha256":{"types":"./sha256.d.ts","import":"./sha256.js","default":"./sha256.js"},"./sha256.js":{"types":"./sha256.d.ts","import":"./sha256.js","default":"./sha256.js"},"./package.json":"./package.json"},"sideEffects":false,"scripts":{"clean":"node ./scripts/clean.mjs","build":"npm run clean && tsc -p tsconfig.json","format":"prettier --write .","format:check":"prettier --check .","typecheck":"tsc --noEmit -p tsconfig.test.json","test:unit":"node --import tsx --test test/*.test.ts","test":"npm run format:check && npm run build && npm run typecheck && npm run test:unit","prepack":"npm test","postpack":"npm run clean"},"homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","engines":{"node":">= 20.19.0"},"browserslist":["defaults","not IE 11"],"devDependencies":{"@types/node":"22.20.1","esbuild":"0.28.1","prettier":"3.9.6","tsx":"4.23.5","typescript":"5.9.3"},"_id":"isomorphic-secp256k1-js@6.0.0","gitHead":"15314012fb7bc341caec26efa54eb99bc267a657","_nodeVersion":"24.7.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-m7SOXS5AlS1R6e73zhoufPNDDMUC2IpmSBAFfA75vE2UqeY9CoH3T14MQg8/PdmQ0ujzkQjHJeESe/6RzZKSNQ==","shasum":"23e20839b8caaa1cb11f94468ef889aec36ad8e7","tarball":"https://registry.npmjs.org/isomorphic-secp256k1-js/-/isomorphic-secp256k1-js-6.0.0.tgz","fileCount":24,"unpackedSize":77628,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDF5Z39mxiLeMRMIQtQl/2+uTURfDdUCbuCSRrYXGYD6AiEA2r0/SxQEtUX4RK+swVxvIC92BTBYU9kNUgbhcqmzJ9Y="}]},"_npmUser":{"name":"pur3miish","email":"pur3miish@me.com"},"directories":{},"maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/isomorphic-secp256k1-js_6.0.0_1786108521454_0.469754536481487"},"_hasShrinkwrap":false}},"time":{"created":"2022-10-27T12:47:07.536Z","modified":"2026-08-07T13:15:21.727Z","1.0.0-rc":"2022-10-27T12:47:07.680Z","1.0.0-rc.1":"2022-10-27T12:53:03.178Z","1.0.0-rc.2":"2022-10-27T12:54:35.975Z","1.0.0-rc.3":"2022-10-27T14:35:54.336Z","1.0.0":"2022-10-27T15:25:39.309Z","1.0.1":"2022-10-27T19:33:55.226Z","1.0.2":"2022-10-27T21:06:54.657Z","2.0.0-beta.0":"2023-02-17T22:57:34.769Z","2.0.0":"2023-02-17T23:13:30.062Z","2.0.1":"2023-02-23T03:33:03.055Z","2.0.2":"2023-02-23T04:12:31.739Z","2.0.3":"2023-02-23T04:19:07.058Z","2.0.4":"2023-02-28T01:37:25.132Z","2.0.5":"2023-03-17T06:23:39.367Z","3.0.0-rc.1":"2023-09-05T04:29:57.414Z","3.0.0":"2023-09-05T05:06:37.854Z","4.0.0":"2025-01-13T08:06:10.391Z","4.0.1":"2025-01-13T08:27:19.702Z","4.0.2":"2025-01-13T08:31:41.823Z","4.0.3":"2025-01-13T08:57:10.134Z","4.0.4":"2025-02-05T09:23:06.956Z","4.0.5-rc.0":"2025-02-05T09:42:52.324Z","4.0.5":"2025-02-05T09:46:21.029Z","5.0.1":"2026-08-03T06:28:57.377Z","5.0.2":"2026-08-03T08:33:54.812Z","5.0.3":"2026-08-07T10:39:43.833Z","6.0.0":"2026-08-07T13:15:21.579Z"},"bugs":{"url":"https://github.com/pur3miish/isomorphic-secp256k1-js/issues"},"author":{"name":"pur3miish"},"license":"MIT","homepage":"https://github.com/pur3miish/isomorphic-secp256k1-js#readme","keywords":["ECDSA","bitcoin","universal","blockchain","digital","signature","verification","public-key-recovery","key-generation","private-key","public-key","csprng","entropy","randomness","webcrypto","web-crypto","rfc6979","recoverable-signature","ecc","elliptic","curve","crypto","currency","secp256k1","browser","node","typescript","zero-dependency","lightweight"],"repository":{"type":"git","url":"git+https://github.com/pur3miish/isomorphic-secp256k1-js.git"},"description":"Zero-dependency secp256k1 ECDSA for Node.js and browsers, with native or caller-supplied CSPRNG key generation, RFC 6979 signing, verification, and recovery.","maintainers":[{"name":"pur3miish","email":"pur3miish@me.com"}],"readme":"# Isomorphic secp256k1 JS\n\n[![NPM Package](https://img.shields.io/npm/v/isomorphic-secp256k1-js.svg)](https://www.npmjs.org/package/isomorphic-secp256k1-js) [![CI status](https://github.com/pur3miish/isomorphic-secp256k1-js/actions/workflows/node.js.yml/badge.svg)](https://github.com/pur3miish/isomorphic-secp256k1-js/actions/workflows/node.js.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/pur3miish/isomorphic-secp256k1-js/blob/main/LICENSE)\n\nA small, strict, zero-runtime-dependency secp256k1 ECDSA for Node.js and modern browsers. 3.3 kB minified + gzipped · Uint8Array API · ESM · TypeScript declarations\n\nA readable BigInt implementation of secp256k1 with strict validation, deterministic RFC 6979 signing, public-key recovery, SHA-256, and HMAC-SHA-256. The same package API works in supported Node.js runtimes and modern browsers.\n\n**It provides:**\n\n- [`generate_private_key`](./src/generate_private_key.ts) — generates a private scalar with rejection sampling, using the native [Web Crypto CSPRNG](https://www.w3.org/TR/WebCryptoAPI/#Crypto-method-getRandomValues) by default or a caller-supplied cryptographic random source, following the key-generation requirements in [SEC 1](https://www.secg.org/sec1-v2.pdf).\n\n- [`validate_private_key`](./src/utils.ts) — enforces the canonical 32-byte encoding and the SEC 1 scalar interval `1 <= d < n`.\n\n- [`get_public_key`](./src/get_public_key.ts) — derives `Q = dG` and returns a compressed SEC 1 public key using the [SEC 2 secp256k1 domain parameters](https://www.secg.org/sec2-v2.pdf).\n\n- [`sign`](./src/sign.ts) — creates canonical ECDSA signatures following [SEC 1](https://www.secg.org/sec1-v2.pdf), with deterministic per-message nonces from [RFC 6979](https://www.rfc-editor.org/rfc/rfc6979).\n\n- [`verify`](./src/verify.ts) — validates ECDSA signatures and public-key encodings according to SEC 1.\n\n- [`recover_public_key`](./src/recover_public_key.ts) — performs the SEC 1 ECDSA public-key recovery operation and verifies the recovered key before returning it.\n\n- [`sha256`](./src/sha256.ts) — computes the SHA-256 message digest specified by [FIPS 180-4](https://csrc.nist.gov/pubs/fips/180-4/upd1/final).\n\n- [`hmac_sha256`](./src/hmac_sha256.ts) — computes the HMAC-SHA-256 message authentication code defined by [RFC 2104](https://www.rfc-editor.org/rfc/rfc2104).\n\nVersion 6 keeps the package's readable `BigInt` implementation while making public-key derivation, signature verification, and public-key recovery synchronous. APIs backed by asynchronous Web Crypto operations remain Promise-based.\n\n## What the keys and signatures represent\n\nA secp256k1 private key is a secret integer `d` in the range `1 <= d < n`. Its public key is the curve point `dG`. `get_public_key(private_key)` derives and returns that public point as a 33-byte compressed SEC 1 key; it does not create a new private key.\n\nAn ECDSA signature is evidence that someone controlling the private key authorized the exact 32-byte digest passed to `sign`. It does not hide the message, prove a real-world identity, or provide authorization, freshness, or replay protection by itself. The calling protocol must define unambiguous message serialization, hashing, domain separation, identity binding, and replay rules.\n\n## Security properties\n\n- Private keys and message digests must be exactly 32 bytes.\n- Private keys must satisfy `1 <= key < n`.\n- Generated private keys use rejection sampling with native Web Crypto or a caller-selected random source.\n- Signature `r` and `s` components are always exactly 32 bytes.\n- Signatures use deterministic RFC 6979 nonces and canonical low-S form by default.\n- Public keys are validated SEC 1 encodings.\n- Malformed verification inputs return `false`; signing and recovery reject malformed inputs.\n- Optional hedged signing can mix CSPRNG entropy into RFC 6979 for fault-attack resistance.\n- Secret scalar multiplication uses a fixed-operation-count ladder and 128-bit scalar blinding.\n- There are no runtime package dependencies.\n\nJavaScript runtimes cannot guarantee constant-time execution or reliable secret zeroization. This implementation has not received an independent cryptographic audit. Read [SECURITY.md](./SECURITY.md) before using the package with high-value or long-lived keys.\n\n## Montgomery ladder and scalar blinding\n\nElliptic-curve public-key derivation and signing require scalar multiplication: computing `Q = dP`, where `d` is an integer and `P` is a curve point. A basic double-and-add implementation can perform visibly different work depending on the bits of `d`, creating an obvious timing side channel.\n\n[`scalar_multiply`](./src/utils.ts) uses a Montgomery ladder. It starts with two adjacent multiples of the input point:\n\n```text\nlower = 0P              // point at infinity\nupper = 1P\n```\n\nAfter processing a scalar prefix `k`, the ladder maintains this invariant:\n\n```text\nlower = kP\nupper = (k + 1)P\n```\n\nFor every scalar bit, from most significant to least significant, it performs one point addition and one point doubling. The bit determines which result becomes `lower` and which becomes `upper`, but it does not change the number of high-level group operations performed during that round. Secret operations always process 384 rounds, avoiding early termination and scalar-length-dependent recursion.\n\n[`blinded_multiply`](./src/utils.ts) additionally replaces a secret scalar `d` with:\n\n```text\nd' = d + b·n\n```\n\nHere `n` is the secp256k1 subgroup order and `b` is a fresh 128-bit random blinding value. Because `nP` is the point at infinity for subgroup points, `d'P = dP`; the output is unchanged while the internal scalar representation changes for every operation. This makes repeated timing observations harder to correlate with the original private scalar or signing nonce.\n\nThis is a best-effort timing mitigation, not a constant-time guarantee. The ladder still branches on blinded bits, point addition and doubling contain exceptional-case branches and variable-time modular inversions, and JavaScript `BigInt` arithmetic, JIT compilation, and garbage collection are not specified as constant-time. The term “Montgomery ladder” describes the multiplication schedule; secp256k1 itself remains a short-Weierstrass curve, not a Montgomery-form curve.\n\n## Randomness and private keys\n\nRandomness is part of the security boundary for private-key generation. A predictable, repeated, biased, or truncated source can reduce the possible private-key space enough for an attacker to search it. The resulting public key can still be mathematically valid while its private key is predictable. Range validation rejects invalid scalars; it cannot prove that a source contains enough entropy.\n\nThe package supports three explicit key-input paths:\n\n- **Native CSPRNG:** `generate_private_key()` uses `globalThis.crypto.getRandomValues`, the standard cryptographic random interface exposed by supported Node.js and browser runtimes.\n\n- **Caller-selected CSPRNG:** `generate_private_key({ random_source })` lets an application obtain bytes from an HSM, secure enclave, platform API, or another reviewed source. The callback can be synchronous or asynchronous.\n\n- **Existing private key:** applications can supply their own 32-byte key to `validate_private_key`, `get_public_key`, or `sign`. Each high-level secret operation validates the key before using it.\n\n`generate_private_key()` requests 32 bytes and uses rejection sampling:\n\n1. Interpret the candidate as an unsigned big-endian integer `d`.\n2. Accept it only when `1 <= d < n`.\n3. Request another candidate when it is zero or at least the curve order.\n\nThis limits the encoded key to the secp256k1 private-scalar interval and preserves a uniform distribution when the source bytes are uniform. Candidates are not reduced modulo `n`, avoiding modulo bias. After 1024 invalid candidates, generation fails rather than looping forever on a broken source.\n\nWith no options, Node.js and browsers use the same native Web Crypto interface:\n\n```js\nimport { generate_private_key } from \"isomorphic-secp256k1-js\";\n\nconst private_key = await generate_private_key();\n```\n\nApplications with an HSM, operating-system facility, or another cryptographically secure source can provide a synchronous or asynchronous callback. The callback is requested to return exactly 32 bytes and may be called more than once:\n\n```js\nconst private_key = await generate_private_key({\n  random_source: async (length) => my_cryptographic_random_source(length),\n});\n```\n\nThe package validates and copies the callback result, but the application remains responsible for the source's unpredictability, independence, correct initialization, and entropy. Do not use `Math.random`, timestamps, UUIDs, passwords, counters, device identifiers, or general-purpose seeded generators. A deterministic source belongs only in tests and must never be reachable in a production key-generation path.\n\nWeak-source failures are not theoretical. The [Milk Sad vulnerability (CVE-2023-39910)](https://nvd.nist.gov/vuln/detail/CVE-2023-39910) made wallet keys recoverable because cryptographic key material came from an inadequately seeded general-purpose PRNG. Arkham has also [reported that the LuBian wallet software used only 32 bits of entropy](https://info.arkm.com/research/blockchain-analytics-all-the-use-cases-for-on-chain-data), making its key space practical to search. These examples do not mean a library can certify arbitrary entropy: they show why the default must be a platform CSPRNG and why custom sources remain an explicit trust decision.\n\nApplications may also supply an existing private key directly. `validate_private_key` throws unless it is exactly 32 bytes and represents a scalar in the valid SEC 1 interval; `get_public_key` and `sign` perform this validation internally as well.\n\n```js\nimport { get_public_key, validate_private_key } from \"isomorphic-secp256k1-js\";\n\nvalidate_private_key(private_key);\nconst public_key = get_public_key(private_key);\n```\n\nPublic-key derivation is deterministic: its internal random value is only 128-bit scalar blinding, which changes the calculation path without changing `Q = dG`. Signature generation uses RFC 6979, so the secret ECDSA nonce does not depend on runtime randomness by default. `sign({ extra_entropy: true })` can additionally hedge the deterministic nonce with 32 native random bytes.\n\nNever log a private key or place it in a URL or browser `localStorage`. For high-value or long-lived keys, prefer non-extractable hardware-backed storage.\n\nSee [docs/randomness.md](./docs/randomness.md) for the exact guarantees, custom-source checklist, and integration patterns.\n\n## Requirements\n\n- Node.js 20.19 or newer.\n- A browser or worker with `globalThis.crypto.subtle` and `globalThis.crypto.getRandomValues`.\n- ECMAScript modules.\n\n## Installation\n\n```sh\nnpm install isomorphic-secp256k1-js\n```\n\n## Integration and entry points\n\nThe package is ECMAScript-module-only. The root module is the recommended application entry point:\n\n```js\nimport {\n  generate_private_key,\n  get_public_key,\n  hmac_sha256,\n  recover_public_key,\n  sha256,\n  sign,\n  validate_private_key,\n  verify,\n} from \"isomorphic-secp256k1-js\";\n```\n\nEach operation also has a typed subpath export for applications that prefer a single-function import:\n\n| Operation | Root named export | Equivalent subpath import |\n| --- | --- | --- |\n| Private-key generation | `generate_private_key` | `import generate_private_key from \"isomorphic-secp256k1-js/generate_private_key\"` |\n| Private-key validation | `validate_private_key` | `import { validate_private_key } from \"isomorphic-secp256k1-js\"` |\n| Public-key derivation | `get_public_key` | `import get_public_key from \"isomorphic-secp256k1-js/get_public_key\"` |\n| SHA-256 digest | `sha256` | `import sha256 from \"isomorphic-secp256k1-js/sha256\"` |\n| ECDSA signing | `sign` | `import sign from \"isomorphic-secp256k1-js/sign\"` |\n| ECDSA verification | `verify` | `import verify from \"isomorphic-secp256k1-js/verify\"` |\n| Recoverable ECDSA recovery | `recover_public_key` | `import recover_public_key from \"isomorphic-secp256k1-js/recover_public_key\"` |\n| HMAC-SHA-256 | `hmac_sha256` | `import hmac_sha256 from \"isomorphic-secp256k1-js/hmac_sha256\"` |\n| Low-level primitives | Not re-exported at the root | `import * as secp256k1_utils from \"isomorphic-secp256k1-js/utils\"` |\n\nThe `package.json` export map provides explicit ESM and TypeScript declaration targets for the extensionless paths above and their `.js` equivalents. Node.js, TypeScript, and modern bundlers therefore resolve the same public API without reaching into unexported package files.\n\n### Named imports and tree shaking\n\nJavaScript calls these **named imports**; they are also commonly described as destructured imports:\n\n```js\nimport { sign, verify } from \"isomorphic-secp256k1-js\";\n```\n\nThe generated `index.js` consists only of static ESM re-exports, and `package.json` declares `\"sideEffects\": false`. A production bundler that supports ESM tree shaking can therefore follow the export graph and omit functions that the application never references. For example, importing only `sha256` does not require the ECDSA signing, recovery, or curve-arithmetic implementation in the resulting browser bundle.\n\nTree shaking is a bundler optimization, not a change to the cryptographic API. Its result depends on the consuming bundler and production configuration. For the most predictable output:\n\n- Use named imports with static names.\n\n- Keep tree shaking enabled in the production build.\n\n- Avoid dynamic namespace access such as `secp256k1[name]`, which may force a bundler to retain more exports.\n\n- Use a typed subpath import such as `isomorphic-secp256k1-js/sha256` when an application wants to address exactly one entry module.\n\nThe package test suite bundles a root `sha256` import with esbuild and asserts that signing, HMAC, recovery, and curve-arithmetic code are absent from the generated bundle.\n\n### Package authors and automated tooling\n\nThe package exposes stable named exports, TypeScript declarations, typed subpath exports, a side-effect-free ESM graph, and runnable examples in this README. These make the API easier for package consumers, code-search systems, documentation indexes, and coding assistants to identify and integrate correctly.\n\n[`llms.txt`](./llms.txt) provides a concise machine-readable API and security guide. It is supplementary documentation, not a guarantee that a particular search engine or language model will index or recommend the package. For the clearest downstream signal, use the canonical npm package name in examples and link to this repository rather than copying the implementation into another project.\n\n### Node.js\n\nUse an `.mjs` file, or set `\"type\": \"module\"` in the consuming application's `package.json`:\n\n```js\nimport { sha256 } from \"isomorphic-secp256k1-js\";\n\nconst digest = await sha256(new TextEncoder().encode(\"message\"));\n```\n\n### Browser or worker\n\nBundlers can use the same package import. A browser loading the installed npm package directly can map the package name to `index.js`:\n\n```html\n<script type=\"importmap\">\n  {\n    \"imports\": {\n      \"isomorphic-secp256k1-js\": \"/vendor/isomorphic-secp256k1-js/index.js\"\n    }\n  }\n</script>\n<script type=\"module\">\n  import { sha256 } from \"isomorphic-secp256k1-js\";\n\n  const digest = await sha256(new TextEncoder().encode(\"message\"));\n  console.log(digest);\n</script>\n```\n\n### Building and publishing\n\nThe repository tracks the TypeScript files in `src/`; generated JavaScript and declarations are written temporarily to the package root and ignored by Git. Keeping the established root-level npm layout preserves existing package, deep-import, and direct-browser paths. The npm lifecycle builds and tests these files before creating the package tarball, includes them in the published package, and removes them locally after packing.\n\n```sh\nnpm run build   # clean and generate package files\nnpm run clean   # remove generated JavaScript and declarations\nnpm pack        # test, build the npm tarball, then remove generated files\nnpm publish     # test, build and publish, then remove generated files\n```\n\nBecause cleanup uses an explicit file list in a Node.js script rather than a broad deletion or platform-specific shell command, it works on supported Node.js installations on Windows, macOS, and Linux. The script removes only compiler outputs; it does not remove `src/`.\n\n## API guide\n\nThe later signing examples use a fixed private key only to make their output reproducible. Do not use example keys for real assets or identities.\n\n### `generate_private_key({ random_source? })` — private-key generation\n\nGenerates a uniformly selected 32-byte scalar in the SEC 1 interval. When `random_source` is omitted, the function uses `globalThis.crypto.getRandomValues` in both supported runtime families.\n\n```js\nimport { generate_private_key } from \"isomorphic-secp256k1-js\";\n\nconst native_private_key = await generate_private_key();\n\nconst externally_generated_key = await generate_private_key({\n  random_source: (length) => audited_csprng.randomBytes(length),\n});\n```\n\n### `validate_private_key(private_key)` — private-key validation\n\nChecks the byte encoding and scalar bounds. It returns `void` for a valid key and throws `TypeError` or `RangeError` for invalid input. This proves structural validity, not randomness quality.\n\n```js\nimport { validate_private_key } from \"isomorphic-secp256k1-js\";\n\nvalidate_private_key(native_private_key);\n```\n\n```js\nconst private_key = Uint8Array.from([\n  210, 101, 63, 247, 203, 178, 216, 255, 18, 154, 194, 126, 245, 120, 28, 230,\n  139, 37, 88, 196, 26, 116, 175, 31, 45, 220, 166, 53, 203, 238, 240, 125,\n]);\n```\n\n### `sha256(data)` — message digest\n\nSHA-256 maps arbitrary binary data to a fixed 32-byte digest. Hashing is not encryption: the original data is not recoverable from the digest, and a plain hash does not authenticate who created it.\n\n```js\nimport { sha256 } from \"isomorphic-secp256k1-js\";\n\nconst message = new TextEncoder().encode(\"example message\");\nconst hash = await sha256(message); // Uint8Array(32)\n```\n\n### `get_public_key(private_key)` — public-key derivation\n\nThis function performs scalar multiplication `Q = dG`, where `d` is the private scalar and `G` is the secp256k1 generator point. It accepts exactly 32 bytes satisfying `1 <= d < n` and returns a 33-byte compressed SEC 1 public key. The public key may be shared; the private key must remain secret.\n\n```js\nimport { get_public_key } from \"isomorphic-secp256k1-js\";\n\nconst public_key = get_public_key(private_key); // Uint8Array(33)\n```\n\n### `sign({ private_key, hash })` — deterministic ECDSA signing\n\n`sign` accepts an already-computed 32-byte digest. It does not hash the input again.\n\n```js\nimport { sha256, sign } from \"isomorphic-secp256k1-js\";\n\nconst hash = await sha256(new TextEncoder().encode(\"example message\"));\nconst signature = await sign({ private_key, hash });\n\nconsole.log(signature.r.length); // 32\nconsole.log(signature.s.length); // 32\nconsole.log(signature.v); // recovery identifier: 0, 1, 2, or 3\n```\n\nThe per-message secret nonce `k` is derived deterministically with [RFC 6979](https://www.rfc-editor.org/rfc/rfc6979). `canonical` defaults to `true` and normalizes `s` into the lower half of the curve order to prevent the usual ECDSA high-S malleability. `v` identifies which ephemeral curve point permits public-key recovery; it is not part of ordinary two-component ECDSA.\n\nSigning snapshots the private key, digest, and any caller-provided entropy before its first asynchronous Web Crypto operation. This ensures later mutation of caller-owned arrays cannot change the ECDSA calculation after the RFC 6979 state has been initialized. Every generated signature is verified internally against its derived public key before it is returned, and owned signing and HMAC temporary byte buffers are cleared on completion where JavaScript permits.\n\nFor hedged signing, set `extra_entropy: true`. RFC 6979 remains the basis of nonce derivation; the random value is an additional hedge, not a replacement for the deterministic construction. A caller may instead provide a `Uint8Array` as explicit additional entropy.\n\n```js\nconst hedged_signature = await sign({\n  private_key,\n  hash,\n  extra_entropy: true,\n});\n```\n\n### `verify({ public_key, hash, signature })` — ECDSA verification\n\nVerification proves that the `(r, s)` signature is mathematically valid for the exact digest and public key. It returns `false` for a malformed public key, malformed signature, or signature mismatch. A hash that is not exactly 32 bytes is a caller error and throws.\n\n```js\nimport { get_public_key, verify } from \"isomorphic-secp256k1-js\";\n\nconst public_key = get_public_key(private_key);\nconst valid = verify({ public_key, hash, signature }); // true\n```\n\nVerification ignores the recovery identifier `v`. By default it rejects high-S signatures; pass `canonical: false` only when interoperating with a protocol that explicitly permits them.\n\n### `recover_public_key({ hash, signature })` — public-key recovery\n\nPublic-key recovery uses `(r, s, v)` and the exact digest to reconstruct the candidate secp256k1 public key. The candidate is curve-validated and the signature is verified before the key is returned.\n\n```js\nimport { recover_public_key } from \"isomorphic-secp256k1-js\";\n\nconst recovered_public_key = recover_public_key({ hash, signature });\n// Uint8Array(33), compressed SEC 1 encoding\n```\n\nRecovery identifies a key consistent with the signature; it does not establish a person's identity or decide whether that key is authorized by an application.\n\n### `hmac_sha256(data, key)` — keyed message authentication\n\nHMAC-SHA-256 combines a secret key with data to produce a 32-byte message authentication code. Parties that possess the same HMAC key can create and verify the value, so HMAC does not provide the public verifiability or non-repudiation properties associated with a digital signature.\n\n```js\nimport { hmac_sha256 } from \"isomorphic-secp256k1-js\";\n\nconst hmac_key = crypto.getRandomValues(new Uint8Array(32));\nconst data = new TextEncoder().encode(\"authenticated data\");\nconst authentication_code = await hmac_sha256(data, hmac_key);\n```\n\nThis low-level helper returns the authentication code; compare received codes using a timing-safe comparison supplied by the surrounding runtime or protocol.\n\n## Encodings\n\nThe object returned by `sign` is:\n\n```ts\ninterface Signature {\n  r: Uint8Array; // exactly 32 bytes\n  s: Uint8Array; // exactly 32 bytes\n  v: number; // integer 0 through 3\n}\n```\n\nThe utility module provides `signature_to_compact()` for the 64-byte `r || s` encoding and `signature_to_recovered()` for the 65-byte `v || r || s` encoding. DER-encoded ASN.1 signatures are intentionally not supported.\n\nPublic keys use SEC 1 encoding:\n\n- Compressed: 33 bytes, prefix `0x02` or `0x03` followed by the 32-byte x-coordinate.\n\n- Uncompressed: 65 bytes, prefix `0x04` followed by 32-byte x- and y-coordinates. Verification accepts this form, but derivation and recovery return compressed keys.\n\n## Low-level utilities\n\n`isomorphic-secp256k1-js/utils` exposes implementation primitives for protocol authors and testing. Application code should prefer the high-level operations because composing elliptic-curve primitives incorrectly can expose private keys.\n\n| Group | Exports | Meaning |\n| --- | --- | --- |\n| Sizes | `PRIVATE_KEY_LENGTH`, `HASH_LENGTH`, `SIGNATURE_COMPONENT_LENGTH`, `COMPACT_SIGNATURE_LENGTH`, `RECOVERED_SIGNATURE_LENGTH` | Canonical byte lengths used by the public API |\n| Types and parameters | `Point`, `CurvePoint`, `CompactSignature`, `Signature`, `secp256k1` | Curve points, signature shapes, and immutable secp256k1 domain parameters |\n| Integer/byte conversion | `array_to_number`, `number_to_array`, `concat_bytes` | Big-endian unsigned integer encoding and byte concatenation |\n| Modular arithmetic | `get_mod`, `powmod`, `mul_inverse` | Finite-field reduction, exponentiation, and checked inversion |\n| Point arithmetic | `add`, `dbl`, `negate`, `scalar_multiply`, `double_and_add`, `blinded_multiply` | Elliptic-curve group operations; `null` represents the point at infinity |\n| Point encoding | `point_from_x`, `encode_public_key`, `decode_public_key`, `is_on_curve` | SEC 1 point reconstruction, serialization, parsing, and validation |\n| Input validation | `validate_private_key`, `validate_public_key`, `validate_hash`, `validate_signature` | Strict key, digest, point, and scalar boundary checks |\n| Signature encoding | `signature_to_compact`, `signature_to_recovered` | Fixed-width concatenations of `r` with `s`, optionally prefixed by `v` |\n| Verification primitive | `verify_signature_point` | Verifies a signature against an already-decoded curve point |\n\nLow-level scalar multiplication is synchronous, but the high-level secret operations are asynchronous because SHA-256 and HMAC use the Web Crypto API.\n\n## Hashing and protocols\n\nApplications are responsible for canonical message serialization, choosing the correct protocol hash, and domain separation. Never sign ambiguous concatenations of user-controlled values. A signature for one protocol should not be reusable in another protocol.\n\n## Version 5 migration\n\nVersion 5 is intentionally strict and contains breaking changes:\n\n- Invalid keys, hashes, signatures, and recovery IDs are rejected.\n- `r`, `s`, and compressed public keys now have fixed canonical lengths.\n- Point arithmetic now represents infinity explicitly, handles exceptional cases, and uses iterative scalar multiplication; some low-level return types have therefore changed.\n- Node.js 20.19 is the minimum supported Node version.\n- A new root module and `verify` export are available.\n\nSee [changelog.md](./changelog.md) for the complete list.\n","readmeFilename":"readme.md"}