{"_id":"tiny-secp256k1-native","_rev":"4-67d95e7d5dd15aef721870cd6ee772d1","name":"tiny-secp256k1-native","dist-tags":{"latest":"1.1.0"},"versions":{"0.0.1-security":{"name":"tiny-secp256k1-native","version":"0.0.1-security","description":"security holding package","repository":{"type":"git","url":"git+https://github.com/npm/security-holder.git"},"bugs":{"url":"https://github.com/npm/security-holder/issues"},"homepage":"https://github.com/npm/security-holder#readme","_id":"tiny-secp256k1-native@0.0.1-security","_nodeVersion":"10.13.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-4NBxgkVDERBQLjXqMaKpDv7KDGysyFpcu866jNIcHZ6do6dn5CqZz9kDtUoAA0F9BJnemcwyWUKzLkjsJHJ2XA==","shasum":"bc78fa2f8332a844bd5561a68a4ecdf7cb764cdf","tarball":"https://registry.npmjs.org/tiny-secp256k1-native/-/tiny-secp256k1-native-0.0.1-security.tgz","fileCount":2,"unpackedSize":481,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcsOSLCRA9TVsSAnZWagAAJmoP/RmYL2u0FT61XeedSSPz\nbEcebNeFaTXq3GK0xw2suP0a7VQ/gYNUuNfV4uLVEcSfAPkNlTbjEau2FDlE\nqn8+GEWt+VuUdph2YrPrIWIkdM/nMhrgCguIWHoe8gKy1p1h0pEOHj02SIBI\nQcvKzK5YFotRj8YusurPnwL5AOs3e+Ldjbqi30w3g0v57snDyItfI0ftfyGm\nyudY5Kd1V/XBu+YVpfOoct3jV3VzpEh4vKKNQosaHIqRV+i9PvOingsYrpuv\nGAt+PA6A56JV22okDByIRh6AjmH3XqP8BTO1iWlDF2nLIe7zwqHp8OYv61Xu\n+53V7XKtwDOC+CEtwl1jCLV5q/sK4SnBJnWaCHSTZWqiTlt9oLF5Iq7rrjZY\n592hGaAvBLERE+xdfbRYzN7NCyFRmWa1P1P5a7A1aHdugSldcSEe5UsiIxf3\nj+0JfpxrWZ9vbDUonURETWl5Ga7j07ki8+7gKwpoktVgnILrnyV6GcZCuVhj\nHwQnNKqMsaFpi7ANlPU6qKuaihvtu/zp/Zw+S+GM01ABij+vHvVGE6r9GqW/\n5uHss5+EKT9iRIeTxEsw2jIcpiEDHQ/DAmJVRO4yFZTx45wc0o3LwUnReXkq\nGjpaVVnWnortsjZX2ecB4mpPA+xwc3eeVfLN1laIH0hEsFZvOocC+3FtobN3\ntyIH\r\n=sKGZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGlnIBxMesLMDxVbL7Gq27ACVV+xbiHJj/ubv9DQ9ak6AiEAkZKclpQvN1nCNV5uY+saCwN3BrsTzDyFBqy2RfbniQQ="}]},"maintainers":[{"name":"shanisebarona","email":"shanise@npmjs.com"}],"_npmUser":{"name":"shanisebarona","email":"shanise@npmjs.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-secp256k1-native_0.0.1-security_1555096715134_0.0598183657387521"},"_hasShrinkwrap":false},"1.0.0":{"name":"tiny-secp256k1-native","version":"1.0.0","description":"A tiny secp256k1 native wrapper","main":"index.js","gypfile":true,"engines":{"node":">=8.0.0"},"scripts":{"build":"node-gyp rebuild","unit":"tape tests/index.js | tap-difflet -p","test":"npm run unit","install":"node-gyp rebuild"},"repository":{"type":"git","url":"git+https://github.com/bitcoinjs/tiny-secp256k1-native.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/bitcoinjs/tiny-secp256k1-native/issues"},"homepage":"https://github.com/bitcoinjs/tiny-secp256k1-native#readme","dependencies":{"bindings":"^1.3.0","nan":"^2.13.2"},"devDependencies":{"browserify":"^16.2.2","tap-difflet":"^0.7.1","tape":"^4.9.0"},"gitHead":"b450ace955529720170643667d12d3d375c09b17","_id":"tiny-secp256k1-native@1.0.0","_nodeVersion":"10.15.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-lzacBuWaVF2dQEQ+HdgeNVfTKLsJd80J6coVHEOORC4RVBLRUNzhrF8lzvsNP56lG92jwyxfhMjeCzCUvvVu5Q==","shasum":"7627a80b9532cd95f04a9a90f3032418e20acd05","tarball":"https://registry.npmjs.org/tiny-secp256k1-native/-/tiny-secp256k1-native-1.0.0.tgz","fileCount":103,"unpackedSize":856897,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc473cCRA9TVsSAnZWagAA8dUP/0QPLfG5woKo5xh9kVRq\n73XbIlqkoJ1m7//KE1zNGfxLAUlcvkiYDNrr19wHySB3qVCeAWNxXHPQBRXg\nn+qks2mU/13ndIs/BB5IGCqrAObtGI7PmpZKYPxVpeszQYAjdT9hqfEEIGoU\nkwrZAxeh44FRPMFV39mnNVv39fmIa/cBHJ9/prA7nLl/qzh0RPOAsY+w2H/g\nLSTg1KikGmqwaVkmPTe2hOqWEhU6sEPzCnH0yd/APWTK++JCkTwIPI/D/wTk\nWLXipAnkMXZ7C1hCVsbwix8yA6a6cV7q/GJIvinC4gtOfA9uOXvIL6ml25u9\nAGOodmdhQeYGuGKQksPvd7Wa833d1AQi8GzMjMrsfDEVSIiEkva4lGmM+MFM\noA4x9nF0rAtnOFv/FS8v+bAceVamCjZXIk0zl8APlafZkKgx0U8oUbiXuD3j\nMHjLZudbxv63Oq7+SA86fN+Eleec8xpONPHKcrgnJRO1/6DAGxjMy5uRCFCD\nxgn57B5+M3QKjaEOeACR2qHjZe/Sv3PjllAD9ClMxtvzEVdSi5/i7uzW+Zq0\nFhEVyoCibLjHA7MVnkvoKHmVRZdm5YHE0IiYSypZ96qjy2WIQWOQ4kHp7bjr\n/LrhcGRz/wkNBKVZv9gVIm75LaDsABFo29gHYA6/sGvl8fQvA07CC27Dk05Z\n11th\r\n=8nFM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCK44wTS8/ZBz0ONJThth6jtCZtuoz750ujIEq7djBxAgIgGmljWog6HCwrw0AnWGZGkywf0RLcsvsAw6nS3qyhv+A="}]},"maintainers":[{"email":"junderwood@bitcoinbank.co.jp","name":"junderw"}],"_npmUser":{"name":"junderw","email":"junderwood@bitcoinbank.co.jp"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-secp256k1-native_1.0.0_1558429148026_0.7811077542010487"},"_hasShrinkwrap":false},"1.1.0":{"name":"tiny-secp256k1-native","version":"1.1.0","description":"A tiny secp256k1 native wrapper","main":"index.js","gypfile":true,"engines":{"node":">=8.0.0"},"scripts":{"build":"node-gyp rebuild","unit":"tape tests/index.js | tap-difflet -p","test":"npm run unit","install":"node-gyp rebuild"},"repository":{"type":"git","url":"git+https://github.com/bitcoinjs/tiny-secp256k1-native.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/bitcoinjs/tiny-secp256k1-native/issues"},"homepage":"https://github.com/bitcoinjs/tiny-secp256k1-native#readme","dependencies":{"bindings":"^1.3.0","nan":"^2.13.2"},"devDependencies":{"browserify":"^16.2.2","tap-difflet":"^0.7.1","tape":"^4.9.0"},"gitHead":"71f62404cc4a9f43c2b33d06b4b26bfbe9c5e6cd","_id":"tiny-secp256k1-native@1.1.0","_nodeVersion":"10.15.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-ZEt41e4pvq52Zs6MqNZpbDH3qg5fQkOCH9bzGsVPtlLeo9tdfNFz2XfjiKzo1Rc+Yvv4cb0lzy7ClQ3FbE4kKg==","shasum":"b554a73061836a0914e7f9461fc336dd7386de73","tarball":"https://registry.npmjs.org/tiny-secp256k1-native/-/tiny-secp256k1-native-1.1.0.tgz","fileCount":103,"unpackedSize":856897,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5MkFCRA9TVsSAnZWagAA6cUP/2mbNVFwH1BKpgiW8ZFI\nOHKfXBANlUEEpVlizDaDoNhNxtX1LguYKoxusLLY4Gy/t3qd7QOO/BcewKUv\nz8E+24g8/qaEoO5hxUznjkaNQnEFIafis5EX292cO4ekAbtgEe5e6eC6Zr0a\njAdGbjqgbbuQQQODYFVLj77Ahv80IBbGBLfWYbqTov3eSzvPA0W7nTyeJvWC\nm2WtF6jvvkY1pR5yqXC6yE+/MIBwbuDgeHs5DtoUs5uShiFzpaUkwsulmJ/G\nX40kgusfcsTmn8EQt1qUydvv7qXMfR9AO2+sq2z6R6ium1R6wWeQfLhWM4+L\nCMC1pthw8QSZFz/edWwlxG/dJCJFP25F128vnq8+yQUOCQSUmj3grv/WUavO\n5ViNnN77C3VolfKJ/s57KZT+FkV+dK83E85DurGY5NG3zCATpsiKC1mKhbHt\nEz8WE+hKZ98qTuHTPdq7/jgJga+jLfinzltqz7l1yzXWrIDWX6lJRY/5ol5n\nqXFRpOjH6BUNUkJwQ67DdoMQF9xQoFyExOul2S2A2DFK2E295hHV5ODIjX46\nyF4KRMYcyRbF1gmDfHHi7tYiRGakb9QOM0IfJfUPRKiF5iBvPe3XipKllTPp\n/yxvsIvsWvS3Vo2VyoFziBdvwS3UzxPdTxVnuXUogswoHHgNg3+5mYLM5F0c\nN3If\r\n=gNLu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDCQNFKwv/A1p9787IC0D5LLqtXizjkZ6PTDP2QAT55jAiAMpMcteQP4CAR0BWIQ8+hSVssizJ/O85gQpisqlkrcwg=="}]},"maintainers":[{"email":"junderwood@bitcoinbank.co.jp","name":"junderw"}],"_npmUser":{"name":"junderw","email":"junderwood@bitcoinbank.co.jp"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-secp256k1-native_1.1.0_1558497540256_0.22015198210055598"},"_hasShrinkwrap":false}},"time":{"created":"2019-04-12T19:18:35.133Z","0.0.1-security":"2019-04-12T19:18:35.246Z","modified":"2022-05-21T22:00:12.542Z","1.0.0":"2019-05-21T08:59:08.192Z","1.1.0":"2019-05-22T03:59:00.435Z"},"maintainers":[{"email":"junderwood@bitcoinbank.co.jp","name":"junderw"}],"description":"A tiny secp256k1 native wrapper","homepage":"https://github.com/bitcoinjs/tiny-secp256k1-native#readme","repository":{"type":"git","url":"git+https://github.com/bitcoinjs/tiny-secp256k1-native.git"},"bugs":{"url":"https://github.com/bitcoinjs/tiny-secp256k1-native/issues"},"readme":"# tiny-secp256k1-native\n[![Build Status](https://travis-ci.org/bitcoinjs/tiny-secp256k1-native.png?branch=master)](https://travis-ci.org/bitcoinjs/tiny-secp256k1-native)\n[![NPM](https://img.shields.io/npm/v/tiny-secp256k1-native.svg)](https://www.npmjs.org/package/tiny-secp256k1-native)\n[![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)\n\nThis library is under development,  and,  like the [secp256k1](https://github.com/bitcoin-core/secp256k1) C library it depends on,  this is a research effort to determine an optimal API for end-users of the bitcoinjs ecosystem.\n\n*This library is the native component of tiny-secp256k1. It is an optional dependency so that npm install will not fail for tiny-secp256k1 and it will fallback to the JS implementation*\n\n## Installation\n\n### npm\n\n``` bash\nnpm install tiny-secp256k1-native\n```\n\n### yarn\n\n```bash\nyarn add tiny-secp256k1-native\n```\n\nIf you are having problems,  please read the guide at [secp256k1-node](https://github.com/cryptocoinjs/secp256k1-node#installation),  as the build instructions should be exactly the same (and this module is a direct derivation).\n\n\n## Documentation\n\n### isPoint (A)\n``` haskell\nisPoint :: Buffer -> Bool\n```\nReturns `false` if\n* `A` is not encoded with a sequence tag of `0x02`, `0x03` or `0x04`\n* `A.x` is not in `[1...p - 1]`\n* `A.y` is not in `[1...p - 1]`\n\n\n### isPointCompressed (A)\n``` haskell\nisPointCompressed :: Buffer -> Bool\n```\nReturns `false` if the signature is **not** compressed.\n\n\n### isPrivate (d)\n``` haskell\nisPrivate :: Buffer -> Bool\n```\nReturns `false` if\n* `d` is not 256-bit, or\n* `d` is not in `[1..order - 1]`\n\n\n### pointAdd (A, B[, compressed])\n``` haskell\npointAdd :: Buffer -> Buffer [-> Bool] -> Maybe Buffer\n```\nReturns `null` if result is at infinity.\n\n##### Throws:\n* `Expected Point` if `!isPoint(A)`\n* `Expected Point` if `!isPoint(B)`\n\n\n### pointAddScalar (A, tweak[, compressed])\n``` haskell\npointAddScalar :: Buffer -> Buffer [-> Bool] -> Maybe Buffer\n```\nReturns `null` if result is at infinity.\n\n##### Throws:\n* `Expected Point` if `!isPoint(A)`\n* `Expected Tweak` if `tweak` is not in `[0...order - 1]`\n\n\n### pointCompress (A, compressed)\n``` haskell\npointCompress :: Buffer -> Bool -> Buffer\n```\n\n##### Throws:\n* `Expected Point` if `!isPoint(A)`\n\n\n### pointFromScalar (d[, compressed])\n``` haskell\npointFromScalar :: Buffer [-> Bool] -> Maybe Buffer\n```\nReturns `null` if result is at infinity.\n\n##### Throws:\n* `Expected Private` if `!isPrivate(d)`\n\n\n### pointMultiply (A, tweak[, compressed])\n``` haskell\npointMultiply :: Buffer -> Buffer [-> Bool] -> Maybe Buffer\n```\nReturns `null` if result is at infinity.\n\n##### Throws:\n* `Expected Point` if `!isPoint(A)`\n* `Expected Tweak` if `tweak` is not in `[0...order - 1]`\n\n\n### privateAdd (d, tweak)\n``` haskell\nprivateAdd :: Buffer -> Buffer -> Maybe Buffer\n```\nReturns `null` if result is equal to `0`.\n\n##### Throws:\n* `Expected Private` if `!isPrivate(d)`\n* `Expected Tweak` if `tweak` is not in `[0...order - 1]`\n\n\n### privateSub (d, tweak)\n``` haskell\nprivateSub :: Buffer -> Buffer -> Maybe Buffer\n```\nReturns `null` if result is equal to `0`.\n\n##### Throws:\n* `Expected Private` if `!isPrivate(d)`\n* `Expected Tweak` if `tweak` is not in `[0...order - 1]`\n\n\n### sign (h, d)\n``` haskell\nsign :: Buffer -> Buffer -> Buffer\n```\nReturns normalized signatures, each of (r, s) values are guaranteed to less than `order / 2`.\nUses RFC6979.\n\n##### Throws:\n* `Expected Private` if `!isPrivate(d)`\n* `Expected Scalar` if `h` is not 256-bit\n\n\n### signWithEntropy (h, d, e)\n``` haskell\nsign :: Buffer -> Buffer -> Buffer -> Buffer\n```\nReturns normalized signatures, each of (r, s) values are guaranteed to less than `order / 2`.\nUses RFC6979.\nAdds `e` as Added Entropy to the deterministic k generation.\n\n##### Throws:\n* `Expected Private` if `!isPrivate(d)`\n* `Expected Scalar` if `h` is not 256-bit\n* `Expected Extra Data (32 bytes)` if `e` is not 256-bit\n\n\n### verify (h, Q, signature[, strict = false])\n``` haskell\nverify :: Buffer -> Buffer -> Buffer -> Bool\n```\nReturns `false` if any of (r, s) values are equal to `0`,  or if the signature is rejected.\n\nIf `strict` is `true`, valid signatures with any of (r, s) values greater than `order / 2` are rejected.\n\n##### Throws:\n* `Expected Point` if `!isPoint(Q)`\n* `Expected Signature` if `signature` has any (r, s) values not in range `[0...order - 1]`\n* `Expected Scalar` if `h` is not 256-bit\n\n---\n\n## Credit\nThis is a partially derived work of https://github.com/cryptocoinjs/secp256k1-node, specifically [this commit](https://github.com/bitcoinjs/tiny-secp256k1-native/commit/03a1d0ab5d61dc05ab42a7e884cf37d628a10724).\n\nThis library uses the native library [secp256k1](https://github.com/bitcoin-core/secp256k1) by the bitcoin-core developers,  including derivatives of its tests and test vectors.\n\n\n# LICENSE [MIT](LICENSE)\n","readmeFilename":"README.md","license":"MIT"}