{"_id":"@noble/curves","_rev":"4577565","name":"@noble/curves","description":"Audited & minimal JS implementation of elliptic curve cryptography","dist-tags":{"latest":"2.0.1"},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"time":{"modified":"2026-04-10T15:47:57.000Z","created":"2022-12-04T17:21:00.969Z","2.0.1":"2025-09-22T15:37:59.673Z","2.0.0":"2025-08-25T15:16:32.613Z","2.0.0-beta.3":"2025-08-17T12:06:36.145Z","1.9.7":"2025-08-15T14:38:36.878Z","2.0.0-beta.2":"2025-08-10T10:30:48.560Z","2.0.0-beta.1":"2025-07-30T03:51:52.505Z","1.9.6":"2025-07-30T02:48:36.879Z","1.9.5":"2025-07-29T05:01:49.131Z","1.9.4":"2025-07-17T12:51:19.463Z","1.9.3":"2025-07-16T17:06:31.652Z","1.9.2":"2025-06-05T13:58:53.615Z","1.9.1":"2025-05-14T10:00:26.850Z","1.9.0":"2025-04-23T00:50:37.428Z","1.8.2":"2025-04-14T22:09:51.973Z","1.8.1":"2025-01-18T09:17:06.791Z","1.8.0":"2025-01-03T01:14:46.790Z","1.7.0":"2024-11-22T22:03:39.294Z","1.6.0":"2024-09-03T22:44:48.970Z","1.5.0":"2024-08-07T19:58:01.399Z","1.4.2":"2024-07-01T15:29:19.878Z","1.4.1":"2024-07-01T14:23:16.373Z","1.4.0":"2024-03-14T06:35:36.948Z","1.3.0":"2023-12-11T23:25:31.824Z","1.2.0":"2023-08-23T18:01:44.926Z","1.1.0":"2023-06-03T12:39:46.003Z","1.0.0":"2023-04-12T02:42:07.004Z","0.9.1":"2023-03-31T08:02:13.637Z","0.9.0":"2023-03-24T10:12:07.575Z","0.8.3":"2023-03-16T18:41:25.943Z","0.8.2":"2023-03-13T23:44:07.346Z","0.8.1":"2023-03-13T23:40:11.571Z","0.8.0":"2023-03-03T01:12:46.007Z","0.7.3":"2023-02-26T18:06:02.399Z","0.7.2":"2023-02-25T09:13:53.864Z","0.7.1":"2023-02-15T23:20:43.136Z","0.7.0":"2023-02-14T22:45:58.001Z","0.6.4":"2023-02-09T22:19:23.460Z","0.6.3":"2023-02-09T15:19:15.675Z","0.6.2":"2023-01-30T07:18:12.372Z","0.6.1":"2023-01-29T04:14:15.046Z","0.6.0":"2023-01-26T05:31:22.925Z","0.5.2":"2023-01-13T15:23:59.708Z","0.5.1":"2022-12-31T09:31:14.989Z","0.5.0":"2022-12-28T07:05:29.384Z","0.4.0":"2022-12-24T03:46:16.135Z","0.3.2":"2022-12-21T03:38:46.106Z","0.3.1":"2022-12-21T03:25:26.792Z","0.3.0":"2022-12-21T02:59:11.340Z","0.2.1":"2022-12-20T14:04:53.588Z","0.2.0":"2022-12-15T21:40:25.923Z","0.1.0":"2022-12-04T17:21:00.969Z"},"users":{},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"versions":{"2.0.1":{"name":"@noble/curves","version":"2.0.1","description":"Audited & minimal JS implementation of elliptic curve cryptography","dependencies":{"@noble/hashes":"2.0.1"},"devDependencies":{"@paulmillr/jsbt":"0.4.4","@types/node":"24.2.1","fast-check":"4.2.0","prettier":"3.6.2","typescript":"5.9.2"},"scripts":{"bench":"cd test/benchmark; node secp256k1.ts; node curves.ts; node utils.ts; node bls.ts","bench:install":"cd test/benchmark; npm install; npm install ../.. --install-links","build":"tsc","build:release":"npx --no @paulmillr/jsbt esbuild test/build","build:clean":"rm {.,abstract}/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.{js,ts}'","test":"node --experimental-strip-types --disable-warning=ExperimentalWarning test/index.ts","test:bun":"bun test/index.ts","test:deno":"deno --allow-env --allow-read test/index.ts","test:node20":"cd test; npx tsc; node compiled/test/index.js","test:coverage":"npm install --no-save c8@10.1.2 && npx c8 npm test"},"exports":{".":"./index.js","./abstract/bls.js":"./abstract/bls.js","./abstract/curve.js":"./abstract/curve.js","./abstract/edwards.js":"./abstract/edwards.js","./abstract/fft.js":"./abstract/fft.js","./abstract/hash-to-curve.js":"./abstract/hash-to-curve.js","./abstract/modular.js":"./abstract/modular.js","./abstract/montgomery.js":"./abstract/montgomery.js","./abstract/oprf.js":"./abstract/oprf.js","./abstract/poseidon.js":"./abstract/poseidon.js","./abstract/tower.js":"./abstract/tower.js","./abstract/weierstrass.js":"./abstract/weierstrass.js","./bls12-381.js":"./bls12-381.js","./bn254.js":"./bn254.js","./ed448.js":"./ed448.js","./ed25519.js":"./ed25519.js","./misc.js":"./misc.js","./nist.js":"./nist.js","./secp256k1.js":"./secp256k1.js","./utils.js":"./utils.js","./webcrypto.js":"./webcrypto.js"},"engines":{"node":">= 20.19.0"},"keywords":["cryptography","secp256k1","ed25519","p256","p384","p521","secp256r1","ed448","x25519","ed25519","bls12-381","bn254","alt_bn128","bls","noble","ecc","ecdsa","eddsa","oprf","schnorr","fft"],"homepage":"https://paulmillr.com/noble/","funding":"https://paulmillr.com/funding/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"type":"module","main":"index.js","module":"index.js","types":"index.d.ts","sideEffects":false,"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"license":"MIT","_id":"@noble/curves@2.0.1","gitHead":"99d97742b6ec04e1fe9e20857099dc89c9378dcf","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_nodeVersion":"24.6.0","_npmVersion":"11.5.1","dist":{"shasum":"64ba8bd5e8564a02942655602515646df1cdb3ad","size":300596,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-2.0.1.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/curves_2.0.1_1758555479494_0.692377709952883"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-22T15:37:59.673Z","publish_time":1758555479673,"_source_registry_name":"default","_cnpm_publish_time":1758555479673},"2.0.0":{"name":"@noble/curves","version":"2.0.0","description":"Audited & minimal JS implementation of elliptic curve cryptography","dependencies":{"@noble/hashes":"2.0.0"},"devDependencies":{"@paulmillr/jsbt":"0.4.4","@types/node":"24.2.1","fast-check":"4.2.0","prettier":"3.6.2","typescript":"5.9.2"},"scripts":{"bench":"cd test/benchmark; node secp256k1.ts; node curves.ts; node utils.ts; node bls.ts","bench:install":"cd test/benchmark; npm install; npm install ../.. --install-links","build":"tsc","build:release":"npx --no @paulmillr/jsbt esbuild test/build","build:clean":"rm {.,abstract}/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.{js,ts}'","test":"node --experimental-strip-types --disable-warning=ExperimentalWarning test/index.ts","test:bun":"bun test/index.ts","test:deno":"deno --allow-env --allow-read test/index.ts","test:node20":"cd test; npx tsc; node compiled/test/index.js","test:coverage":"npm install --no-save c8@10.1.2 && npx c8 npm test"},"engines":{"node":">= 20.19.0"},"keywords":["cryptography","secp256k1","ed25519","p256","p384","p521","secp256r1","ed448","x25519","ed25519","bls12-381","bn254","alt_bn128","bls","noble","ecc","ecdsa","eddsa","oprf","schnorr","fft"],"homepage":"https://paulmillr.com/noble/","funding":"https://paulmillr.com/funding/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"type":"module","main":"index.js","module":"index.js","types":"index.d.ts","sideEffects":false,"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"license":"MIT","_id":"@noble/curves@2.0.0","gitHead":"24d3110a07601654d9fcfa1791029e4f05b783b9","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_nodeVersion":"24.6.0","_npmVersion":"11.5.1","dist":{"shasum":"1b1d75b447e5ccfaa6a4a3c34280f0c02a763f57","size":300069,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-2.0.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/curves_2.0.0_1756134992349_0.3613028283014119"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-25T15:16:32.613Z","publish_time":1756134992613,"_source_registry_name":"default","_cnpm_publish_time":1756134992613},"2.0.0-beta.3":{"name":"@noble/curves","version":"2.0.0-beta.3","description":"Audited & minimal JS implementation of elliptic curve cryptography","dependencies":{"@noble/hashes":"2.0.0-beta.5"},"devDependencies":{"@paulmillr/jsbt":"0.4.2","@types/node":"24.2.1","fast-check":"4.2.0","micro-bmark":"0.4.2","micro-should":"0.5.3","prettier":"3.6.2","typescript":"5.9.2"},"scripts":{"bench":"cd test/benchmark; node secp256k1.ts; node curves.ts; node utils.ts; node bls.ts","bench:install":"cd test/benchmark; npm install; npm install ../.. --install-links","build":"tsc","build:release":"npx --no @paulmillr/jsbt esbuild test/build","build:clean":"rm {.,abstract}/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.{js,ts}'","test":"node --experimental-strip-types --disable-warning=ExperimentalWarning test/index.ts","test:bun":"bun test/index.ts","test:deno":"deno --allow-env --allow-read test/index.ts","test:node20":"cd test; npx tsc; node compiled/test/index.js","test:coverage":"npm install --no-save c8@10.1.2 && npx c8 npm test"},"engines":{"node":">= 20.19.0"},"keywords":["cryptography","secp256k1","ed25519","p256","p384","p521","secp256r1","ed448","x25519","ed25519","bls12-381","bn254","alt_bn128","bls","noble","ecc","ecdsa","eddsa","oprf","schnorr","fft"],"homepage":"https://paulmillr.com/noble/","funding":"https://paulmillr.com/funding/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"type":"module","main":"index.js","module":"index.js","types":"index.d.ts","sideEffects":false,"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"license":"MIT","_id":"@noble/curves@2.0.0-beta.3","readmeFilename":"README.md","gitHead":"0f75501d83fcff4d7d4dfe29d881d77e58e21d4f","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_nodeVersion":"24.4.1","_npmVersion":"11.4.2","dist":{"shasum":"143da0364c41862010976708367296cfc15a8be1","size":304589,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-2.0.0-beta.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-2.0.0-beta.3.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/curves_2.0.0-beta.3_1755432395883_0.6651746314350049"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-17T12:06:36.145Z","publish_time":1755432396145,"_source_registry_name":"default","deprecated":"beta","_cnpm_publish_time":1755432396145},"1.9.7":{"name":"@noble/curves","version":"1.9.7","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"npm run bench:install; cd test/benchmark; node secp256k1.js; node curves.js; node utils.js; node bls.js","bench:install":"cd test/benchmark; npm install; npm install ../.. --install-links","build":"tsc && tsc -p tsconfig.cjs.json","build:release":"npx jsbt esbuild test/build","build:clean":"rm {.,esm,abstract,esm/abstract}/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node --disable-warning=ExperimentalWarning test/index.js","test:bun":"bun test/index.js","test:deno":"deno --allow-env --allow-read test/index.js","test:coverage":"npm install --no-save c8@10.1.2 && npx c8 npm test"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.8.0"},"devDependencies":{"@paulmillr/jsbt":"0.4.0","@types/node":"22.15.21","fast-check":"4.1.1","micro-bmark":"0.4.2","micro-should":"0.5.3","prettier":"3.5.3","typescript":"5.8.3"},"sideEffects":false,"main":"index.js","exports":{".":{"import":"./esm/index.js","require":"./index.js"},"./abstract/bls":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./abstract/curve":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/edwards":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/hash-to-curve":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"},"./abstract/modular":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/montgomery":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/poseidon":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./abstract/tower":{"import":"./esm/abstract/tower.js","require":"./abstract/tower.js"},"./abstract/utils":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/weierstrass":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./abstract/fft":{"import":"./esm/abstract/fft.js","require":"./abstract/fft.js"},"./_shortw_utils":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./bls12-381":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./bn254":{"import":"./esm/bn254.js","require":"./bn254.js"},"./ed448":{"import":"./esm/ed448.js","require":"./ed448.js"},"./ed25519":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./index":{"import":"./esm/index.js","require":"./index.js"},"./jubjub":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./misc":{"import":"./esm/misc.js","require":"./misc.js"},"./nist":{"import":"./esm/nist.js","require":"./nist.js"},"./p256":{"import":"./esm/p256.js","require":"./p256.js"},"./p384":{"import":"./esm/p384.js","require":"./p384.js"},"./p521":{"import":"./esm/p521.js","require":"./p521.js"},"./pasta":{"import":"./esm/pasta.js","require":"./pasta.js"},"./secp256k1":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"},"./utils":{"import":"./esm/utils.js","require":"./utils.js"},"./abstract/bls.js":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./abstract/curve.js":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/edwards.js":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/hash-to-curve.js":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"},"./abstract/modular.js":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/montgomery.js":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/poseidon.js":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./abstract/tower.js":{"import":"./esm/abstract/tower.js","require":"./abstract/tower.js"},"./abstract/utils.js":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/weierstrass.js":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./abstract/fft.js":{"import":"./esm/abstract/fft.js","require":"./abstract/fft.js"},"./_shortw_utils.js":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./bls12-381.js":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./bn254.js":{"import":"./esm/bn254.js","require":"./bn254.js"},"./utils.js":{"import":"./esm/utils.js","require":"./utils.js"},"./ed448.js":{"import":"./esm/ed448.js","require":"./ed448.js"},"./ed25519.js":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./index.js":{"import":"./esm/index.js","require":"./index.js"},"./jubjub.js":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./misc.js":{"import":"./esm/misc.js","require":"./misc.js"},"./nist.js":{"import":"./esm/nist.js","require":"./nist.js"},"./p256.js":{"import":"./esm/p256.js","require":"./p256.js"},"./p384.js":{"import":"./esm/p384.js","require":"./p384.js"},"./p521.js":{"import":"./esm/p521.js","require":"./p521.js"},"./pasta.js":{"import":"./esm/pasta.js","require":"./pasta.js"},"./secp256k1.js":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"}},"engines":{"node":"^14.21.3 || >=16"},"keywords":["elliptic","curve","cryptography","secp256k1","ed25519","p256","p384","p521","secp256r1","ed448","x25519","ed25519","bls12-381","bn254","alt_bn128","bls","noble","ecc","ecdsa","eddsa","weierstrass","montgomery","edwards","schnorr","fft"],"funding":"https://paulmillr.com/funding/","_id":"@noble/curves@1.9.7","gitHead":"a0ac59846ee76c52f7c18886f4963e1211345d48","types":"./index.d.ts","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_nodeVersion":"22.15.0","_npmVersion":"10.9.2","dist":{"shasum":"79d04b4758a43e4bca2cbdc62e7771352fa6b951","size":362302,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-1.9.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-1.9.7.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/curves_1.9.7_1755268716611_0.3142673820827304"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-15T14:38:36.878Z","publish_time":1755268716878,"_source_registry_name":"default","_cnpm_publish_time":1755268716878},"2.0.0-beta.2":{"name":"@noble/curves","version":"2.0.0-beta.2","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"npm run bench:install; cd test/benchmark; node secp256k1.ts; node curves.ts; node utils.ts; node bls.ts","bench:install":"cd test/benchmark; npm install; npm install ../.. --install-links","build":"tsc","build:release":"npx --no @paulmillr/jsbt esbuild test/build","build:clean":"rm {.,esm,abstract,esm/abstract}/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.{js,ts}'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.{js,ts}'","test":"node --experimental-strip-types --disable-warning=ExperimentalWarning test/index.ts","test:bun":"bun test/index.ts","test:deno":"deno --allow-env --allow-read test/index.ts","test:node20":"cd test; npx tsc; node compiled/test/index.js","test:coverage":"npm install --no-save c8@10.1.2 && npx c8 npm test"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"2.0.0-beta.4"},"devDependencies":{"@paulmillr/jsbt":"0.4.1","@types/node":"24.2.1","fast-check":"4.2.0","micro-bmark":"0.4.2","micro-should":"0.5.3","prettier":"3.6.2","typescript":"5.9.2"},"sideEffects":false,"type":"module","main":"index.js","module":"index.js","engines":{"node":">= 20.19.0"},"keywords":["elliptic","curve","cryptography","secp256k1","ed25519","p256","p384","p521","secp256r1","ed448","x25519","ed25519","bls12-381","bn254","alt_bn128","bls","noble","ecc","ecdsa","eddsa","weierstrass","montgomery","edwards","schnorr","fft"],"funding":"https://paulmillr.com/funding/","_id":"@noble/curves@2.0.0-beta.2","readmeFilename":"README.md","gitHead":"086b3976d1f9627d1be6d6cc7d222f776b6bc3fc","types":"./index.d.ts","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_nodeVersion":"24.4.1","_npmVersion":"11.4.2","dist":{"shasum":"694da503604068ec4c14c1f686f97ae5e9aa0234","size":300025,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-2.0.0-beta.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-2.0.0-beta.2.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/curves_2.0.0-beta.2_1754821848345_0.21309723794472646"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-10T10:30:48.560Z","publish_time":1754821848560,"_source_registry_name":"default","deprecated":"beta","_cnpm_publish_time":1754821848560},"2.0.0-beta.1":{"name":"@noble/curves","version":"2.0.0-beta.1","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"npm run bench:install; cd test/benchmark; node secp256k1.js; node curves.js; node utils.js; node bls.js","bench:install":"cd test/benchmark; npm install; npm install ../.. --install-links","build":"tsc","build:release":"npx --no @paulmillr/jsbt esbuild test/build","build:clean":"rm {.,esm,abstract,esm/abstract}/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node --disable-warning=ExperimentalWarning test/index.js","test:bun":"bun test/index.js","test:deno":"deno --allow-env --allow-read test/index.js","test:coverage":"npm install --no-save c8@10.1.2 && npx c8 npm test"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"2.0.0-beta.3"},"devDependencies":{"@paulmillr/jsbt":"0.4.0","@types/node":"22.15.21","fast-check":"4.1.1","micro-bmark":"0.4.2","micro-should":"0.5.3","prettier":"3.5.3","typescript":"5.8.3"},"sideEffects":false,"type":"module","main":"index.js","module":"index.js","engines":{"node":">= 20.19.0"},"keywords":["elliptic","curve","cryptography","secp256k1","ed25519","p256","p384","p521","secp256r1","ed448","x25519","ed25519","bls12-381","bn254","alt_bn128","bls","noble","ecc","ecdsa","eddsa","weierstrass","montgomery","edwards","schnorr","fft"],"funding":"https://paulmillr.com/funding/","_id":"@noble/curves@2.0.0-beta.1","readmeFilename":"README.md","gitHead":"289db6f25979d226b3be2057c16d94e64dca3280","types":"./index.d.ts","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_nodeVersion":"24.4.1","_npmVersion":"11.4.2","dist":{"shasum":"949241f069c5e26d5abe2b3b44e9fa75716c2a00","size":301505,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-2.0.0-beta.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-2.0.0-beta.1.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/curves_2.0.0-beta.1_1753847512297_0.335882559695144"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-07-30T03:51:52.505Z","publish_time":1753847512505,"_source_registry_name":"default","deprecated":"beta","_cnpm_publish_time":1753847512505},"1.9.6":{"name":"@noble/curves","version":"1.9.6","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"npm run bench:install; cd test/benchmark; node secp256k1.js; node curves.js; node utils.js; node bls.js","bench:install":"cd test/benchmark; npm install; npm install ../.. --install-links","build":"tsc && tsc -p tsconfig.cjs.json","build:release":"npx jsbt esbuild test/build","build:clean":"rm {.,esm,abstract,esm/abstract}/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node --disable-warning=ExperimentalWarning test/index.js","test:bun":"bun test/index.js","test:deno":"deno --allow-env --allow-read test/index.js","test:coverage":"npm install --no-save c8@10.1.2 && npx c8 npm test"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.8.0"},"devDependencies":{"@paulmillr/jsbt":"0.4.0","@types/node":"22.15.21","fast-check":"4.1.1","micro-bmark":"0.4.2","micro-should":"0.5.3","prettier":"3.5.3","typescript":"5.8.3"},"sideEffects":false,"main":"index.js","exports":{".":{"import":"./esm/index.js","require":"./index.js"},"./abstract/bls":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./abstract/curve":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/edwards":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/hash-to-curve":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"},"./abstract/modular":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/montgomery":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/poseidon":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./abstract/tower":{"import":"./esm/abstract/tower.js","require":"./abstract/tower.js"},"./abstract/utils":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/weierstrass":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./abstract/fft":{"import":"./esm/abstract/fft.js","require":"./abstract/fft.js"},"./_shortw_utils":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./bls12-381":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./bn254":{"import":"./esm/bn254.js","require":"./bn254.js"},"./ed448":{"import":"./esm/ed448.js","require":"./ed448.js"},"./ed25519":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./index":{"import":"./esm/index.js","require":"./index.js"},"./jubjub":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./misc":{"import":"./esm/misc.js","require":"./misc.js"},"./nist":{"import":"./esm/nist.js","require":"./nist.js"},"./p256":{"import":"./esm/p256.js","require":"./p256.js"},"./p384":{"import":"./esm/p384.js","require":"./p384.js"},"./p521":{"import":"./esm/p521.js","require":"./p521.js"},"./pasta":{"import":"./esm/pasta.js","require":"./pasta.js"},"./secp256k1":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"},"./utils":{"import":"./esm/utils.js","require":"./utils.js"},"./abstract/bls.js":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./abstract/curve.js":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/edwards.js":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/hash-to-curve.js":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"},"./abstract/modular.js":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/montgomery.js":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/poseidon.js":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./abstract/tower.js":{"import":"./esm/abstract/tower.js","require":"./abstract/tower.js"},"./abstract/utils.js":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/weierstrass.js":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./abstract/fft.js":{"import":"./esm/abstract/fft.js","require":"./abstract/fft.js"},"./_shortw_utils.js":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./bls12-381.js":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./bn254.js":{"import":"./esm/bn254.js","require":"./bn254.js"},"./utils.js":{"import":"./esm/utils.js","require":"./utils.js"},"./ed448.js":{"import":"./esm/ed448.js","require":"./ed448.js"},"./ed25519.js":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./index.js":{"import":"./esm/index.js","require":"./index.js"},"./jubjub.js":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./misc.js":{"import":"./esm/misc.js","require":"./misc.js"},"./nist.js":{"import":"./esm/nist.js","require":"./nist.js"},"./p256.js":{"import":"./esm/p256.js","require":"./p256.js"},"./p384.js":{"import":"./esm/p384.js","require":"./p384.js"},"./p521.js":{"import":"./esm/p521.js","require":"./p521.js"},"./pasta.js":{"import":"./esm/pasta.js","require":"./pasta.js"},"./secp256k1.js":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"}},"engines":{"node":"^14.21.3 || >=16"},"keywords":["elliptic","curve","cryptography","secp256k1","ed25519","p256","p384","p521","secp256r1","ed448","x25519","ed25519","bls12-381","bn254","alt_bn128","bls","noble","ecc","ecdsa","eddsa","weierstrass","montgomery","edwards","schnorr","fft"],"funding":"https://paulmillr.com/funding/","_id":"@noble/curves@1.9.6","gitHead":"095f1cbb61c85f2abf4588391f69557bc9fcab1d","types":"./index.d.ts","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_nodeVersion":"22.15.0","_npmVersion":"10.9.2","dist":{"shasum":"b45ebedca85bb75782f6be7e7f120f0c423c99e0","size":360452,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-1.9.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-1.9.6.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/curves_1.9.6_1753843716651_0.565152790116898"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-07-30T02:48:36.879Z","publish_time":1753843716879,"_source_registry_name":"default","_cnpm_publish_time":1753843716879},"1.9.5":{"name":"@noble/curves","version":"1.9.5","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"npm run bench:install; cd test/benchmark; node secp256k1.js; node curves.js; node utils.js; node bls.js","bench:install":"cd test/benchmark; npm install; npm install ../.. --install-links","build":"tsc && tsc -p tsconfig.cjs.json","build:release":"npx jsbt esbuild test/build","build:clean":"rm {.,esm,abstract,esm/abstract}/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.js","test:bun":"bun test/index.js","test:deno":"deno --allow-env --allow-read test/index.js","test:coverage":"npm install --no-save c8@10.1.2 && npx c8 npm test"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.8.0"},"devDependencies":{"@paulmillr/jsbt":"0.4.0","@types/node":"22.15.21","fast-check":"4.1.1","micro-bmark":"0.4.2","micro-should":"0.5.3","prettier":"3.5.3","typescript":"5.8.3"},"sideEffects":false,"main":"index.js","exports":{".":{"import":"./esm/index.js","require":"./index.js"},"./abstract/bls":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./abstract/curve":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/edwards":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/hash-to-curve":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"},"./abstract/modular":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/montgomery":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/poseidon":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./abstract/tower":{"import":"./esm/abstract/tower.js","require":"./abstract/tower.js"},"./abstract/utils":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/weierstrass":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./abstract/fft":{"import":"./esm/abstract/fft.js","require":"./abstract/fft.js"},"./_shortw_utils":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./bls12-381":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./bn254":{"import":"./esm/bn254.js","require":"./bn254.js"},"./ed448":{"import":"./esm/ed448.js","require":"./ed448.js"},"./ed25519":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./index":{"import":"./esm/index.js","require":"./index.js"},"./jubjub":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./misc":{"import":"./esm/misc.js","require":"./misc.js"},"./nist":{"import":"./esm/nist.js","require":"./nist.js"},"./p256":{"import":"./esm/p256.js","require":"./p256.js"},"./p384":{"import":"./esm/p384.js","require":"./p384.js"},"./p521":{"import":"./esm/p521.js","require":"./p521.js"},"./pasta":{"import":"./esm/pasta.js","require":"./pasta.js"},"./secp256k1":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"},"./utils":{"import":"./esm/utils.js","require":"./utils.js"},"./abstract/bls.js":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./abstract/curve.js":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/edwards.js":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/hash-to-curve.js":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"},"./abstract/modular.js":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/montgomery.js":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/poseidon.js":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./abstract/tower.js":{"import":"./esm/abstract/tower.js","require":"./abstract/tower.js"},"./abstract/utils.js":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/weierstrass.js":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./abstract/fft.js":{"import":"./esm/abstract/fft.js","require":"./abstract/fft.js"},"./_shortw_utils.js":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./bls12-381.js":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./bn254.js":{"import":"./esm/bn254.js","require":"./bn254.js"},"./utils.js":{"import":"./esm/utils.js","require":"./utils.js"},"./ed448.js":{"import":"./esm/ed448.js","require":"./ed448.js"},"./ed25519.js":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./index.js":{"import":"./esm/index.js","require":"./index.js"},"./jubjub.js":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./misc.js":{"import":"./esm/misc.js","require":"./misc.js"},"./nist.js":{"import":"./esm/nist.js","require":"./nist.js"},"./p256.js":{"import":"./esm/p256.js","require":"./p256.js"},"./p384.js":{"import":"./esm/p384.js","require":"./p384.js"},"./p521.js":{"import":"./esm/p521.js","require":"./p521.js"},"./pasta.js":{"import":"./esm/pasta.js","require":"./pasta.js"},"./secp256k1.js":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"}},"engines":{"node":"^14.21.3 || >=16"},"keywords":["elliptic","curve","cryptography","secp256k1","ed25519","p256","p384","p521","secp256r1","ed448","x25519","ed25519","bls12-381","bn254","alt_bn128","bls","noble","ecc","ecdsa","eddsa","weierstrass","montgomery","edwards","schnorr","fft"],"funding":"https://paulmillr.com/funding/","_id":"@noble/curves@1.9.5","gitHead":"8c6b54830ec90f26c3d498366baac517c553006f","types":"./index.d.ts","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_nodeVersion":"22.15.0","_npmVersion":"10.9.2","dist":{"shasum":"d3e15de15ff1a37e4bf629170ada84395e4cf6b5","size":358612,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-1.9.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-1.9.5.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/curves_1.9.5_1753765308924_0.30869647290775504"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-07-29T05:01:49.131Z","publish_time":1753765309131,"_source_registry_name":"default","_cnpm_publish_time":1753765309131},"1.9.4":{"name":"@noble/curves","version":"1.9.4","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"npm run bench:install; cd test/benchmark; node secp256k1.js; node curves.js; node utils.js; node bls.js","bench:install":"cd test/benchmark; npm install; npm install ../.. --install-links","build":"tsc && tsc -p tsconfig.cjs.json","build:release":"npx jsbt esbuild test/build","build:clean":"rm {.,esm,abstract,esm/abstract}/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.js","test:bun":"bun test/index.js","test:deno":"deno --allow-env --allow-read test/index.js","test:coverage":"npm install --no-save c8@10.1.2 && npx c8 npm test"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.8.0"},"devDependencies":{"@paulmillr/jsbt":"0.4.0","@types/node":"22.15.21","fast-check":"4.1.1","micro-bmark":"0.4.2","micro-should":"0.5.3","prettier":"3.5.3","typescript":"5.8.3"},"sideEffects":false,"main":"index.js","exports":{".":{"import":"./esm/index.js","require":"./index.js"},"./abstract/bls":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./abstract/curve":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/edwards":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/hash-to-curve":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"},"./abstract/modular":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/montgomery":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/poseidon":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./abstract/tower":{"import":"./esm/abstract/tower.js","require":"./abstract/tower.js"},"./abstract/utils":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/weierstrass":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./abstract/fft":{"import":"./esm/abstract/fft.js","require":"./abstract/fft.js"},"./_shortw_utils":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./bls12-381":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./bn254":{"import":"./esm/bn254.js","require":"./bn254.js"},"./ed448":{"import":"./esm/ed448.js","require":"./ed448.js"},"./ed25519":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./index":{"import":"./esm/index.js","require":"./index.js"},"./jubjub":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./misc":{"import":"./esm/misc.js","require":"./misc.js"},"./nist":{"import":"./esm/nist.js","require":"./nist.js"},"./p256":{"import":"./esm/p256.js","require":"./p256.js"},"./p384":{"import":"./esm/p384.js","require":"./p384.js"},"./p521":{"import":"./esm/p521.js","require":"./p521.js"},"./pasta":{"import":"./esm/pasta.js","require":"./pasta.js"},"./secp256k1":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"},"./utils":{"import":"./esm/utils.js","require":"./utils.js"},"./abstract/bls.js":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./abstract/curve.js":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/edwards.js":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/hash-to-curve.js":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"},"./abstract/modular.js":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/montgomery.js":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/poseidon.js":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./abstract/tower.js":{"import":"./esm/abstract/tower.js","require":"./abstract/tower.js"},"./abstract/utils.js":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/weierstrass.js":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./abstract/fft.js":{"import":"./esm/abstract/fft.js","require":"./abstract/fft.js"},"./_shortw_utils.js":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./bls12-381.js":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./bn254.js":{"import":"./esm/bn254.js","require":"./bn254.js"},"./utils.js":{"import":"./esm/utils.js","require":"./utils.js"},"./ed448.js":{"import":"./esm/ed448.js","require":"./ed448.js"},"./ed25519.js":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./index.js":{"import":"./esm/index.js","require":"./index.js"},"./jubjub.js":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./misc.js":{"import":"./esm/misc.js","require":"./misc.js"},"./nist.js":{"import":"./esm/nist.js","require":"./nist.js"},"./p256.js":{"import":"./esm/p256.js","require":"./p256.js"},"./p384.js":{"import":"./esm/p384.js","require":"./p384.js"},"./p521.js":{"import":"./esm/p521.js","require":"./p521.js"},"./pasta.js":{"import":"./esm/pasta.js","require":"./pasta.js"},"./secp256k1.js":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"}},"engines":{"node":"^14.21.3 || >=16"},"keywords":["elliptic","curve","cryptography","secp256k1","ed25519","p256","p384","p521","secp256r1","ed448","x25519","ed25519","bls12-381","bn254","alt_bn128","bls","noble","ecc","ecdsa","eddsa","weierstrass","montgomery","edwards","schnorr","fft"],"funding":"https://paulmillr.com/funding/","_id":"@noble/curves@1.9.4","gitHead":"9b007be9d0812b47312693a9b749c4018eb95f83","types":"./index.d.ts","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_nodeVersion":"22.15.0","_npmVersion":"10.9.2","dist":{"shasum":"a748c6837ee7854a558cc3b951aedd87a5e7d6a5","size":350449,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-1.9.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-1.9.4.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/curves_1.9.4_1752756679255_0.22837005168751512"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-07-17T12:51:19.463Z","publish_time":1752756679463,"_source_registry_name":"default","_cnpm_publish_time":1752756679463},"1.9.3":{"name":"@noble/curves","version":"1.9.3","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"npm run bench:install; cd test/benchmark; node secp256k1.js; node curves.js; node utils.js; node bls.js","bench:install":"cd test/benchmark; npm install; npm install ../.. --install-links","build":"tsc && tsc -p tsconfig.cjs.json","build:release":"npx jsbt esbuild test/build","build:clean":"rm {.,esm,abstract,esm/abstract}/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.js","test:bun":"bun test/index.js","test:deno":"deno --allow-env --allow-read test/index.js","test:coverage":"npm install --no-save c8@10.1.2 && npx c8 npm test"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.8.0"},"devDependencies":{"@paulmillr/jsbt":"0.4.0","@types/node":"22.15.21","fast-check":"4.1.1","micro-bmark":"0.4.2","micro-should":"0.5.3","prettier":"3.5.3","typescript":"5.8.3"},"sideEffects":false,"main":"index.js","exports":{".":{"import":"./esm/index.js","require":"./index.js"},"./abstract/bls":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./abstract/curve":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/edwards":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/hash-to-curve":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"},"./abstract/modular":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/montgomery":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/poseidon":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./abstract/tower":{"import":"./esm/abstract/tower.js","require":"./abstract/tower.js"},"./abstract/utils":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/weierstrass":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./abstract/fft":{"import":"./esm/abstract/fft.js","require":"./abstract/fft.js"},"./_shortw_utils":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./bls12-381":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./bn254":{"import":"./esm/bn254.js","require":"./bn254.js"},"./ed448":{"import":"./esm/ed448.js","require":"./ed448.js"},"./ed25519":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./index":{"import":"./esm/index.js","require":"./index.js"},"./jubjub":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./misc":{"import":"./esm/misc.js","require":"./misc.js"},"./nist":{"import":"./esm/nist.js","require":"./nist.js"},"./p256":{"import":"./esm/p256.js","require":"./p256.js"},"./p384":{"import":"./esm/p384.js","require":"./p384.js"},"./p521":{"import":"./esm/p521.js","require":"./p521.js"},"./pasta":{"import":"./esm/pasta.js","require":"./pasta.js"},"./secp256k1":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"},"./utils":{"import":"./esm/utils.js","require":"./utils.js"},"./abstract/bls.js":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./abstract/curve.js":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/edwards.js":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/hash-to-curve.js":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"},"./abstract/modular.js":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/montgomery.js":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/poseidon.js":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./abstract/tower.js":{"import":"./esm/abstract/tower.js","require":"./abstract/tower.js"},"./abstract/utils.js":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/weierstrass.js":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./abstract/fft.js":{"import":"./esm/abstract/fft.js","require":"./abstract/fft.js"},"./_shortw_utils.js":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./bls12-381.js":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./bn254.js":{"import":"./esm/bn254.js","require":"./bn254.js"},"./utils.js":{"import":"./esm/utils.js","require":"./utils.js"},"./ed448.js":{"import":"./esm/ed448.js","require":"./ed448.js"},"./ed25519.js":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./index.js":{"import":"./esm/index.js","require":"./index.js"},"./jubjub.js":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./misc.js":{"import":"./esm/misc.js","require":"./misc.js"},"./nist.js":{"import":"./esm/nist.js","require":"./nist.js"},"./p256.js":{"import":"./esm/p256.js","require":"./p256.js"},"./p384.js":{"import":"./esm/p384.js","require":"./p384.js"},"./p521.js":{"import":"./esm/p521.js","require":"./p521.js"},"./pasta.js":{"import":"./esm/pasta.js","require":"./pasta.js"},"./secp256k1.js":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"}},"engines":{"node":"^14.21.3 || >=16"},"keywords":["elliptic","curve","cryptography","secp256k1","ed25519","p256","p384","p521","secp256r1","ed448","x25519","ed25519","bls12-381","bn254","alt_bn128","bls","noble","ecc","ecdsa","eddsa","weierstrass","montgomery","edwards","schnorr","fft"],"funding":"https://paulmillr.com/funding/","_id":"@noble/curves@1.9.3","gitHead":"6c616cebfc9010bb88cb3ddf7c59a1bd3dd6ec14","types":"./index.d.ts","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_nodeVersion":"22.15.0","_npmVersion":"10.9.2","dist":{"shasum":"822c61359875a4d3bfdacaa724ceca6c5e6708c3","size":350362,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-1.9.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-1.9.3.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/curves_1.9.3_1752685591429_0.38791869588625993"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-07-16T17:06:31.652Z","publish_time":1752685591652,"_source_registry_name":"default","_cnpm_publish_time":1752685591652},"1.9.2":{"name":"@noble/curves","version":"1.9.2","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"npm run bench:install; cd test/benchmark; node secp256k1.js; node curves.js; node utils.js; node bls.js","bench:install":"cd test/benchmark; npm install; npm install ../.. --install-links","build":"tsc && tsc -p tsconfig.cjs.json","build:release":"npx jsbt esbuild test/build","build:clean":"rm {.,esm,abstract,esm/abstract}/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.js","test:bun":"bun test/index.js","test:deno":"deno --allow-env --allow-read test/index.js","test:coverage":"npm install --no-save c8@10.1.2 && npx c8 npm test"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.8.0"},"devDependencies":{"@paulmillr/jsbt":"0.4.0","@types/node":"22.15.21","fast-check":"4.1.1","micro-bmark":"0.4.2","micro-should":"0.5.3","prettier":"3.5.3","typescript":"5.8.3"},"sideEffects":false,"main":"index.js","exports":{".":{"import":"./esm/index.js","require":"./index.js"},"./abstract/bls":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./abstract/curve":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/edwards":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/hash-to-curve":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"},"./abstract/modular":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/montgomery":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/poseidon":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./abstract/tower":{"import":"./esm/abstract/tower.js","require":"./abstract/tower.js"},"./abstract/utils":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/weierstrass":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./abstract/fft":{"import":"./esm/abstract/fft.js","require":"./abstract/fft.js"},"./_shortw_utils":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./bls12-381":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./bn254":{"import":"./esm/bn254.js","require":"./bn254.js"},"./ed448":{"import":"./esm/ed448.js","require":"./ed448.js"},"./ed25519":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./index":{"import":"./esm/index.js","require":"./index.js"},"./jubjub":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./misc":{"import":"./esm/misc.js","require":"./misc.js"},"./nist":{"import":"./esm/nist.js","require":"./nist.js"},"./p256":{"import":"./esm/p256.js","require":"./p256.js"},"./p384":{"import":"./esm/p384.js","require":"./p384.js"},"./p521":{"import":"./esm/p521.js","require":"./p521.js"},"./pasta":{"import":"./esm/pasta.js","require":"./pasta.js"},"./secp256k1":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"},"./utils":{"import":"./esm/utils.js","require":"./utils.js"},"./abstract/bls.js":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./abstract/curve.js":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/edwards.js":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/hash-to-curve.js":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"},"./abstract/modular.js":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/montgomery.js":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/poseidon.js":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./abstract/tower.js":{"import":"./esm/abstract/tower.js","require":"./abstract/tower.js"},"./abstract/utils.js":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/weierstrass.js":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./abstract/fft.js":{"import":"./esm/abstract/fft.js","require":"./abstract/fft.js"},"./_shortw_utils.js":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./bls12-381.js":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./bn254.js":{"import":"./esm/bn254.js","require":"./bn254.js"},"./utils.js":{"import":"./esm/utils.js","require":"./utils.js"},"./ed448.js":{"import":"./esm/ed448.js","require":"./ed448.js"},"./ed25519.js":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./index.js":{"import":"./esm/index.js","require":"./index.js"},"./jubjub.js":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./misc.js":{"import":"./esm/misc.js","require":"./misc.js"},"./nist.js":{"import":"./esm/nist.js","require":"./nist.js"},"./p256.js":{"import":"./esm/p256.js","require":"./p256.js"},"./p384.js":{"import":"./esm/p384.js","require":"./p384.js"},"./p521.js":{"import":"./esm/p521.js","require":"./p521.js"},"./pasta.js":{"import":"./esm/pasta.js","require":"./pasta.js"},"./secp256k1.js":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"}},"engines":{"node":"^14.21.3 || >=16"},"keywords":["elliptic","curve","cryptography","secp256k1","ed25519","p256","p384","p521","secp256r1","ed448","x25519","ed25519","bls12-381","bn254","alt_bn128","bls","noble","ecc","ecdsa","eddsa","weierstrass","montgomery","edwards","schnorr","fft"],"funding":"https://paulmillr.com/funding/","_id":"@noble/curves@1.9.2","gitHead":"7932e34cec40ec9b08f8d1ba954dee98ba37c3d1","types":"./index.d.ts","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_nodeVersion":"22.15.0","_npmVersion":"10.9.2","dist":{"shasum":"73388356ce733922396214a933ff7c95afcef911","size":337808,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-1.9.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-1.9.2.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/curves_1.9.2_1749131933359_0.3245324995956549"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-06-05T13:58:53.615Z","publish_time":1749131933615,"_source_registry_name":"default","_cnpm_publish_time":1749131933615},"1.9.1":{"name":"@noble/curves","version":"1.9.1","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"npm run bench:install; cd benchmark; node secp256k1.js; node curves.js; node utils.js; node bls.js","bench:install":"cd benchmark; npm install; npm install .. --install-links","build":"tsc && tsc -p tsconfig.cjs.json","build:release":"npx jsbt esbuild test/build","build:clean":"rm {.,esm,abstract,esm/abstract}/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.js","test:bun":"bun test/index.js","test:deno":"deno --allow-env --allow-read test/index.js","test:coverage":"npm install --no-save c8@10.1.2 && npx c8 npm test"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.8.0"},"devDependencies":{"@paulmillr/jsbt":"0.4.0","fast-check":"3.0.0","micro-bmark":"0.4.1","micro-should":"0.5.3","prettier":"3.5.3","typescript":"5.8.3"},"sideEffects":false,"main":"index.js","exports":{".":{"import":"./esm/index.js","require":"./index.js"},"./abstract/bls":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./abstract/curve":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/edwards":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/hash-to-curve":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"},"./abstract/modular":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/montgomery":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/poseidon":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./abstract/tower":{"import":"./esm/abstract/tower.js","require":"./abstract/tower.js"},"./abstract/utils":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/weierstrass":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./abstract/fft":{"import":"./esm/abstract/fft.js","require":"./abstract/fft.js"},"./_shortw_utils":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./bls12-381":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./bn254":{"import":"./esm/bn254.js","require":"./bn254.js"},"./ed448":{"import":"./esm/ed448.js","require":"./ed448.js"},"./ed25519":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./index":{"import":"./esm/index.js","require":"./index.js"},"./jubjub":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./misc":{"import":"./esm/misc.js","require":"./misc.js"},"./nist":{"import":"./esm/nist.js","require":"./nist.js"},"./p256":{"import":"./esm/p256.js","require":"./p256.js"},"./p384":{"import":"./esm/p384.js","require":"./p384.js"},"./p521":{"import":"./esm/p521.js","require":"./p521.js"},"./pasta":{"import":"./esm/pasta.js","require":"./pasta.js"},"./secp256k1":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"},"./abstract/bls.js":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./abstract/curve.js":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/edwards.js":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/hash-to-curve.js":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"},"./abstract/modular.js":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/montgomery.js":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/poseidon.js":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./abstract/tower.js":{"import":"./esm/abstract/tower.js","require":"./abstract/tower.js"},"./abstract/utils.js":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/weierstrass.js":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./abstract/fft.js":{"import":"./esm/abstract/fft.js","require":"./abstract/fft.js"},"./_shortw_utils.js":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./bls12-381.js":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./bn254.js":{"import":"./esm/bn254.js","require":"./bn254.js"},"./ed448.js":{"import":"./esm/ed448.js","require":"./ed448.js"},"./ed25519.js":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./index.js":{"import":"./esm/index.js","require":"./index.js"},"./jubjub.js":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./misc.js":{"import":"./esm/misc.js","require":"./misc.js"},"./nist.js":{"import":"./esm/nist.js","require":"./nist.js"},"./p256.js":{"import":"./esm/p256.js","require":"./p256.js"},"./p384.js":{"import":"./esm/p384.js","require":"./p384.js"},"./p521.js":{"import":"./esm/p521.js","require":"./p521.js"},"./pasta.js":{"import":"./esm/pasta.js","require":"./pasta.js"},"./secp256k1.js":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"}},"engines":{"node":"^14.21.3 || >=16"},"keywords":["elliptic","curve","cryptography","secp256k1","ed25519","p256","p384","p521","secp256r1","ed448","x25519","ed25519","bls12-381","bn254","alt_bn128","bls","noble","ecc","ecdsa","eddsa","weierstrass","montgomery","edwards","schnorr","fft"],"funding":"https://paulmillr.com/funding/","_id":"@noble/curves@1.9.1","gitHead":"ede19f4a6bbdd8d4df7933695fb5bed6e24a4930","types":"./index.d.ts","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_nodeVersion":"22.15.0","_npmVersion":"10.9.2","dist":{"shasum":"9654a0bc6c13420ae252ddcf975eaf0f58f0a35c","size":324978,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-1.9.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-1.9.1.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/curves_1.9.1_1747216826611_0.3081079067485277"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-05-14T10:00:26.850Z","publish_time":1747216826850,"_source_registry_name":"default","_cnpm_publish_time":1747216826850},"1.9.0":{"name":"@noble/curves","version":"1.9.0","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"npm run bench:install; cd benchmark; node secp256k1.js; node curves.js; node utils.js; node bls.js","bench:install":"cd benchmark; npm install; npm install .. --install-links","build":"tsc && tsc -p tsconfig.cjs.json","build:release":"npx jsbt esbuild test/build","build:clean":"rm {.,esm,abstract,esm/abstract}/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.js","test:bun":"bun test/index.js","test:deno":"deno --allow-env --allow-read test/index.js","test:coverage":"npm install --no-save c8@10.1.2 && npx c8 npm test"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.8.0"},"devDependencies":{"@paulmillr/jsbt":"0.3.3","fast-check":"3.0.0","micro-bmark":"0.4.1","micro-should":"0.5.2","prettier":"3.5.3","typescript":"5.8.3"},"sideEffects":false,"main":"index.js","exports":{".":{"import":"./esm/index.js","require":"./index.js"},"./abstract/bls":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./abstract/curve":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/edwards":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/hash-to-curve":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"},"./abstract/modular":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/montgomery":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/poseidon":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./abstract/tower":{"import":"./esm/abstract/tower.js","require":"./abstract/tower.js"},"./abstract/utils":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/weierstrass":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./_shortw_utils":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./bls12-381":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./bn254":{"import":"./esm/bn254.js","require":"./bn254.js"},"./ed448":{"import":"./esm/ed448.js","require":"./ed448.js"},"./ed25519":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./index":{"import":"./esm/index.js","require":"./index.js"},"./jubjub":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./misc":{"import":"./esm/misc.js","require":"./misc.js"},"./nist":{"import":"./esm/nist.js","require":"./nist.js"},"./p256":{"import":"./esm/p256.js","require":"./p256.js"},"./p384":{"import":"./esm/p384.js","require":"./p384.js"},"./p521":{"import":"./esm/p521.js","require":"./p521.js"},"./pasta":{"import":"./esm/pasta.js","require":"./pasta.js"},"./secp256k1":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"},"./abstract/bls.js":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./abstract/curve.js":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/edwards.js":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/hash-to-curve.js":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"},"./abstract/modular.js":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/montgomery.js":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/poseidon.js":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./abstract/tower.js":{"import":"./esm/abstract/tower.js","require":"./abstract/tower.js"},"./abstract/utils.js":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/weierstrass.js":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./_shortw_utils.js":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./bls12-381.js":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./bn254.js":{"import":"./esm/bn254.js","require":"./bn254.js"},"./ed448.js":{"import":"./esm/ed448.js","require":"./ed448.js"},"./ed25519.js":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./index.js":{"import":"./esm/index.js","require":"./index.js"},"./jubjub.js":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./misc.js":{"import":"./esm/misc.js","require":"./misc.js"},"./nist.js":{"import":"./esm/nist.js","require":"./nist.js"},"./p256.js":{"import":"./esm/p256.js","require":"./p256.js"},"./p384.js":{"import":"./esm/p384.js","require":"./p384.js"},"./p521.js":{"import":"./esm/p521.js","require":"./p521.js"},"./pasta.js":{"import":"./esm/pasta.js","require":"./pasta.js"},"./secp256k1.js":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"}},"engines":{"node":"^14.21.3 || >=16"},"keywords":["elliptic","curve","cryptography","secp256k1","ed25519","p256","p384","p521","secp256r1","ed448","x25519","ed25519","bls12-381","bn254","alt_bn128","bls","noble","ecc","ecdsa","eddsa","weierstrass","montgomery","edwards","schnorr"],"funding":"https://paulmillr.com/funding/","_id":"@noble/curves@1.9.0","gitHead":"3174fa8dd87039d86e53f51ef8e8fd9e1e40d713","types":"./index.d.ts","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_nodeVersion":"22.13.0","_npmVersion":"10.9.2","dist":{"shasum":"13e0ca8be4a0ce66c113693a94514e5599f40cfc","size":307533,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-1.9.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-1.9.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/curves_1.9.0_1745369437109_0.47559684447163164"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-04-23T00:50:37.428Z","publish_time":1745369437428,"_source_registry_name":"default","_cnpm_publish_time":1745369437428},"1.8.2":{"name":"@noble/curves","version":"1.8.2","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"npm run bench:install; cd benchmark; node secp256k1.js; node curves.js; node utils.js; node bls.js","bench:install":"cd benchmark; npm install; npm install .. --install-links","build":"tsc && tsc -p tsconfig.cjs.json","build:release":"npx jsbt esbuild test/build","build:clean":"rm {.,esm,abstract,esm/abstract}/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.js","test:bun":"bun test/index.js","test:deno":"deno --allow-env --allow-read test/index.js","test:coverage":"npm install --no-save c8@10.1.2 && npx c8 npm test"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.7.2"},"devDependencies":{"@paulmillr/jsbt":"0.3.3","fast-check":"3.0.0","micro-bmark":"0.4.0","micro-should":"0.5.1","prettier":"3.5.2","typescript":"5.8.2"},"sideEffects":false,"main":"index.js","exports":{".":{"import":"./esm/index.js","require":"./index.js"},"./abstract/bls":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./abstract/curve":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/edwards":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/hash-to-curve":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"},"./abstract/modular":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/montgomery":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/poseidon":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./abstract/tower":{"import":"./esm/abstract/tower.js","require":"./abstract/tower.js"},"./abstract/utils":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/weierstrass":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./_shortw_utils":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./bls12-381":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./bn254":{"import":"./esm/bn254.js","require":"./bn254.js"},"./ed448":{"import":"./esm/ed448.js","require":"./ed448.js"},"./ed25519":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./index":{"import":"./esm/index.js","require":"./index.js"},"./jubjub":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./misc":{"import":"./esm/misc.js","require":"./misc.js"},"./p256":{"import":"./esm/p256.js","require":"./p256.js"},"./p384":{"import":"./esm/p384.js","require":"./p384.js"},"./p521":{"import":"./esm/p521.js","require":"./p521.js"},"./pasta":{"import":"./esm/pasta.js","require":"./pasta.js"},"./secp256k1":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"}},"engines":{"node":"^14.21.3 || >=16"},"keywords":["elliptic","curve","cryptography","secp256k1","ed25519","p256","p384","p521","secp256r1","ed448","x25519","ed25519","bls12-381","bn254","alt_bn128","bls","noble","ecc","ecdsa","eddsa","weierstrass","montgomery","edwards","schnorr"],"funding":"https://paulmillr.com/funding/","_id":"@noble/curves@1.8.2","gitHead":"99d08ea0be169759613c75d554b12daf282f9d8a","types":"./index.d.ts","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_nodeVersion":"22.13.0","_npmVersion":"10.9.2","dist":{"shasum":"8f24c037795e22b90ae29e222a856294c1d9ffc7","size":298257,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-1.8.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-1.8.2.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/curves_1.8.2_1744668591716_0.38751408877797955"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-04-14T22:09:51.973Z","publish_time":1744668591973,"_source_registry_name":"default","_cnpm_publish_time":1744668591973},"1.8.1":{"name":"@noble/curves","version":"1.8.1","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node ecdh.js; node hash-to-curve.js; node modular.js; node bls.js; node ristretto255.js; node decaf448.js","bench:install":"cd benchmark; npm install; npm install .. --install-links","build":"tsc && tsc -p tsconfig.cjs.json","build:release":"npx jsbt esbuild test/build","build:clean":"rm {.,esm,abstract,esm/abstract}/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.js","test:bun":"bun test/index.js","test:deno":"deno --allow-env --allow-read test/index.js","test:coverage":"npm install --no-save c8@10.1.2 && npx c8 npm test"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.7.1"},"devDependencies":{"@paulmillr/jsbt":"0.3.1","fast-check":"3.0.0","micro-bmark":"0.4.0","micro-should":"0.5.1","prettier":"3.3.2","typescript":"5.5.2"},"sideEffects":false,"main":"index.js","exports":{".":{"import":"./esm/index.js","require":"./index.js"},"./abstract/bls":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./abstract/curve":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/edwards":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/hash-to-curve":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"},"./abstract/modular":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/montgomery":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/poseidon":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./abstract/tower":{"import":"./esm/abstract/tower.js","require":"./abstract/tower.js"},"./abstract/utils":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/weierstrass":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./_shortw_utils":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./bls12-381":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./bn254":{"import":"./esm/bn254.js","require":"./bn254.js"},"./ed25519":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./ed448":{"import":"./esm/ed448.js","require":"./ed448.js"},"./index":{"import":"./esm/index.js","require":"./index.js"},"./jubjub":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./p256":{"import":"./esm/p256.js","require":"./p256.js"},"./p384":{"import":"./esm/p384.js","require":"./p384.js"},"./p521":{"import":"./esm/p521.js","require":"./p521.js"},"./pasta":{"import":"./esm/pasta.js","require":"./pasta.js"},"./secp256k1":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"}},"engines":{"node":"^14.21.3 || >=16"},"keywords":["elliptic","curve","cryptography","secp256k1","ed25519","p256","p384","p521","secp256r1","ed448","x25519","ed25519","bls12-381","bn254","alt_bn128","bls","noble","ecc","ecdsa","eddsa","weierstrass","montgomery","edwards","schnorr"],"funding":"https://paulmillr.com/funding/","_id":"@noble/curves@1.8.1","gitHead":"57a240423aae515e32b86efe638d1baf6f898748","types":"./index.d.ts","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_nodeVersion":"22.13.0","_npmVersion":"10.9.2","dist":{"shasum":"19bc3970e205c99e4bdb1c64a4785706bce497ff","size":296077,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-1.8.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-1.8.1.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/curves_1.8.1_1737191826586_0.13206872775224854"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-01-18T09:17:06.791Z","publish_time":1737191826791,"_source_registry_name":"default","_cnpm_publish_time":1737191826791},"1.8.0":{"name":"@noble/curves","version":"1.8.0","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node ecdh.js; node hash-to-curve.js; node modular.js; node bls.js; node ristretto255.js; node decaf448.js","bench:install":"cd benchmark; npm install; npm install .. --install-links","build":"tsc && tsc -p tsconfig.esm.json","build:release":"cd build && npm i && npm run build","build:clean":"rm {.,esm,abstract,esm/abstract}/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.js","test:coverage":"c8 node test/index.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.7.0"},"devDependencies":{"@paulmillr/jsbt":"0.2.1","c8":"10.1.2","fast-check":"3.0.0","micro-bmark":"0.3.1","micro-should":"0.4.0","prettier":"3.3.2","typescript":"5.5.2"},"sideEffects":false,"main":"index.js","exports":{".":{"import":"./esm/index.js","require":"./index.js"},"./abstract/bls":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./abstract/curve":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/edwards":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/hash-to-curve":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"},"./abstract/modular":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/montgomery":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/poseidon":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./abstract/tower":{"import":"./esm/abstract/tower.js","require":"./abstract/tower.js"},"./abstract/utils":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/weierstrass":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./_shortw_utils":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./bls12-381":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./bn254":{"import":"./esm/bn254.js","require":"./bn254.js"},"./ed25519":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./ed448":{"import":"./esm/ed448.js","require":"./ed448.js"},"./index":{"import":"./esm/index.js","require":"./index.js"},"./jubjub":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./p256":{"import":"./esm/p256.js","require":"./p256.js"},"./p384":{"import":"./esm/p384.js","require":"./p384.js"},"./p521":{"import":"./esm/p521.js","require":"./p521.js"},"./pasta":{"import":"./esm/pasta.js","require":"./pasta.js"},"./secp256k1":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"}},"engines":{"node":"^14.21.3 || >=16"},"keywords":["elliptic","curve","cryptography","secp256k1","ed25519","p256","p384","p521","secp256r1","ed448","x25519","ed25519","bls12-381","bn254","alt_bn128","bls","noble","ecc","ecdsa","eddsa","weierstrass","montgomery","edwards","schnorr"],"funding":"https://paulmillr.com/funding/","_id":"@noble/curves@1.8.0","gitHead":"615dd182dac2febcf1e148a3fc7f40190395d1c9","types":"./index.d.ts","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_nodeVersion":"20.18.1","_npmVersion":"11.0.0","dist":{"shasum":"fe035a23959e6aeadf695851b51a87465b5ba8f7","size":295471,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-1.8.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-1.8.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/curves_1.8.0_1735866886536_0.07403891972944332"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-01-03T01:14:46.790Z","publish_time":1735866886790,"_source_registry_name":"default","_cnpm_publish_time":1735866886790},"1.7.0":{"name":"@noble/curves","version":"1.7.0","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node ecdh.js; node hash-to-curve.js; node modular.js; node bls.js; node ristretto255.js; node decaf448.js","bench:install":"cd benchmark; npm install; npm install .. --install-links","build":"tsc && tsc -p tsconfig.esm.json","build:release":"cd build && npm i && npm run build","build:clean":"rm *.{js,d.ts,d.ts.map,js.map} esm/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.6.0"},"devDependencies":{"@paulmillr/jsbt":"0.2.1","fast-check":"3.0.0","micro-bmark":"0.3.1","micro-should":"0.4.0","prettier":"3.3.2","typescript":"5.5.2"},"sideEffects":false,"main":"index.js","exports":{".":{"import":"./esm/index.js","require":"./index.js"},"./abstract/bls":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./abstract/curve":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/edwards":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/hash-to-curve":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"},"./abstract/modular":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/montgomery":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/poseidon":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./abstract/tower":{"import":"./esm/abstract/tower.js","require":"./abstract/tower.js"},"./abstract/utils":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/weierstrass":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./_shortw_utils":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./bls12-381":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./bn254":{"import":"./esm/bn254.js","require":"./bn254.js"},"./ed25519":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./ed448":{"import":"./esm/ed448.js","require":"./ed448.js"},"./index":{"import":"./esm/index.js","require":"./index.js"},"./jubjub":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./p256":{"import":"./esm/p256.js","require":"./p256.js"},"./p384":{"import":"./esm/p384.js","require":"./p384.js"},"./p521":{"import":"./esm/p521.js","require":"./p521.js"},"./pasta":{"import":"./esm/pasta.js","require":"./pasta.js"},"./secp256k1":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"}},"engines":{"node":"^14.21.3 || >=16"},"keywords":["elliptic","curve","cryptography","secp256k1","ed25519","p256","p384","p521","secp256r1","ed448","x25519","ed25519","bls12-381","bn254","alt_bn128","bls","noble","ecc","ecdsa","eddsa","weierstrass","montgomery","edwards","schnorr"],"funding":"https://paulmillr.com/funding/","_id":"@noble/curves@1.7.0","gitHead":"2509635fe7ddbb848beb9a3d520310cca6174059","types":"./index.d.ts","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_nodeVersion":"20.18.0","_npmVersion":"10.9.1","dist":{"shasum":"0512360622439256df892f21d25b388f52505e45","size":290793,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-1.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-1.7.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_1.7.0_1732313018952_0.876523563845115"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-11-22T22:03:39.294Z","publish_time":1732313019294,"_source_registry_name":"default","_cnpm_publish_time":1732313019294},"1.6.0":{"name":"@noble/curves","version":"1.6.0","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node ecdh.js; node hash-to-curve.js; node modular.js; node bls.js; node ristretto255.js; node decaf448.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"cd build && npm i && npm run build","build:clean":"rm *.{js,d.ts,d.ts.map,js.map} esm/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.5.0"},"devDependencies":{"@paulmillr/jsbt":"0.2.1","fast-check":"3.0.0","micro-bmark":"0.3.1","micro-should":"0.4.0","prettier":"3.3.2","typescript":"5.5.2"},"sideEffects":false,"main":"index.js","exports":{".":{"import":"./esm/index.js","require":"./index.js"},"./abstract/bls":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./abstract/curve":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/edwards":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/hash-to-curve":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"},"./abstract/modular":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/montgomery":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/poseidon":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./abstract/tower":{"import":"./esm/abstract/tower.js","require":"./abstract/tower.js"},"./abstract/utils":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/weierstrass":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./_shortw_utils":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./bls12-381":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./bn254":{"import":"./esm/bn254.js","require":"./bn254.js"},"./ed25519":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./ed448":{"import":"./esm/ed448.js","require":"./ed448.js"},"./index":{"import":"./esm/index.js","require":"./index.js"},"./jubjub":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./p256":{"import":"./esm/p256.js","require":"./p256.js"},"./p384":{"import":"./esm/p384.js","require":"./p384.js"},"./p521":{"import":"./esm/p521.js","require":"./p521.js"},"./pasta":{"import":"./esm/pasta.js","require":"./pasta.js"},"./secp256k1":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"}},"engines":{"node":"^14.21.3 || >=16"},"keywords":["elliptic","curve","cryptography","secp256k1","ed25519","p256","p384","p521","secp256r1","ed448","x25519","ed25519","bls12-381","bn254","alt_bn128","bls","noble","ecc","ecdsa","eddsa","weierstrass","montgomery","edwards","schnorr"],"funding":"https://paulmillr.com/funding/","_id":"@noble/curves@1.6.0","gitHead":"c13d9d0dca752d2a45675c3b1508beb2eb3981ca","types":"./index.d.ts","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_nodeVersion":"20.17.0","_npmVersion":"10.8.3","dist":{"shasum":"be5296ebcd5a1730fccea4786d420f87abfeb40b","size":285482,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-1.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-1.6.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_1.6.0_1725403488717_0.6944176660409247"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-09-03T22:44:48.970Z","publish_time":1725403488970,"_source_registry_name":"default","_cnpm_publish_time":1725403488970},"1.5.0":{"name":"@noble/curves","version":"1.5.0","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node ecdh.js; node hash-to-curve.js; node modular.js; node bls.js; node ristretto255.js; node decaf448.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"cd build && npm i && npm run build","build:clean":"rm *.{js,d.ts,d.ts.map,js.map} esm/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.4.0"},"devDependencies":{"@paulmillr/jsbt":"0.2.1","fast-check":"3.0.0","micro-bmark":"0.3.1","micro-should":"0.4.0","prettier":"3.3.2","typescript":"5.5.2"},"sideEffects":false,"main":"index.js","exports":{".":{"import":"./esm/index.js","require":"./index.js"},"./abstract/edwards":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/modular":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/montgomery":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/weierstrass":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./abstract/bls":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./abstract/hash-to-curve":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"},"./abstract/curve":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/utils":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/poseidon":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./_shortw_utils":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./bls12-381":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./bn254":{"import":"./esm/bn254.js","require":"./bn254.js"},"./ed25519":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./ed448":{"import":"./esm/ed448.js","require":"./ed448.js"},"./index":{"import":"./esm/index.js","require":"./index.js"},"./jubjub":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./p256":{"import":"./esm/p256.js","require":"./p256.js"},"./p384":{"import":"./esm/p384.js","require":"./p384.js"},"./p521":{"import":"./esm/p521.js","require":"./p521.js"},"./pasta":{"import":"./esm/pasta.js","require":"./pasta.js"},"./secp256k1":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"}},"keywords":["elliptic","curve","cryptography","secp256k1","ed25519","p256","p384","p521","secp256r1","ed448","x25519","ed25519","bls12-381","bn254","alt_bn128","bls","noble","ecc","ecdsa","eddsa","weierstrass","montgomery","edwards","schnorr"],"funding":"https://paulmillr.com/funding/","_id":"@noble/curves@1.5.0","gitHead":"ad263ed2957b21a6025e6843f0e827f2a31f0bc2","types":"./index.d.ts","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_nodeVersion":"20.16.0","_npmVersion":"10.8.2","dist":{"shasum":"7a9b9b507065d516e6dce275a1e31db8d2a100dd","size":279638,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-1.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-1.5.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_1.5.0_1723060681022_0.3932363097090852"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-08-07T19:58:01.399Z","publish_time":1723060681399,"_source_registry_name":"default","_cnpm_publish_time":1723060681399},"1.4.2":{"name":"@noble/curves","version":"1.4.2","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node ecdh.js; node hash-to-curve.js; node modular.js; node bls.js; node ristretto255.js; node decaf448.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"cd build && npm i && npm run build","build:clean":"rm *.{js,d.ts,d.ts.map,js.map} esm/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.4.0"},"devDependencies":{"@paulmillr/jsbt":"0.2.1","fast-check":"3.0.0","micro-bmark":"0.3.1","micro-should":"0.4.0","prettier":"3.3.2","typescript":"5.5.2"},"sideEffects":false,"main":"index.js","exports":{".":{"import":"./esm/index.js","require":"./index.js"},"./abstract/edwards":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/modular":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/montgomery":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/weierstrass":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./abstract/bls":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./abstract/hash-to-curve":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"},"./abstract/curve":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/utils":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/poseidon":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./_shortw_utils":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./bls12-381":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./bn254":{"import":"./esm/bn254.js","require":"./bn254.js"},"./ed25519":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./ed448":{"import":"./esm/ed448.js","require":"./ed448.js"},"./index":{"import":"./esm/index.js","require":"./index.js"},"./jubjub":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./p256":{"import":"./esm/p256.js","require":"./p256.js"},"./p384":{"import":"./esm/p384.js","require":"./p384.js"},"./p521":{"import":"./esm/p521.js","require":"./p521.js"},"./pasta":{"import":"./esm/pasta.js","require":"./pasta.js"},"./secp256k1":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"}},"keywords":["elliptic","curve","cryptography","secp256k1","ed25519","p256","p384","p521","secp256r1","ed448","x25519","ed25519","bls12-381","bn254","bls","noble","ecc","ecdsa","eddsa","weierstrass","montgomery","edwards","schnorr"],"funding":"https://paulmillr.com/funding/","_id":"@noble/curves@1.4.2","gitHead":"501ba4dbdc11fbb69a478d9f0c2ccdcd55dc3160","types":"./index.d.ts","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_nodeVersion":"20.15.0","_npmVersion":"10.8.1","dist":{"shasum":"40309198c76ed71bc6dbf7ba24e81ceb4d0d1fe9","size":276074,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-1.4.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-1.4.2.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_1.4.2_1719847759584_0.2970900972576742"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-07-01T15:29:19.878Z","publish_time":1719847759878,"_source_registry_name":"default","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_cnpm_publish_time":1719847759878},"1.4.1":{"name":"@noble/curves","version":"1.4.1","keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","x25519","ed25519","bls12-381","bn254","pasta","bls","noble","ecc","ecdsa","eddsa","schnorr"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"@noble/curves@1.4.1","homepage":"https://paulmillr.com/noble/","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"dist":{"shasum":"86b15a2c55bf60a2c2ecd94c179b3f1303e3cecc","size":276499,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-1.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-1.4.1.tgz"},"main":"index.js","types":"./index.d.ts","exports":{".":{"import":"./esm/index.js","require":"./index.js"},"./p256":{"import":"./esm/p256.js","require":"./p256.js"},"./p384":{"import":"./esm/p384.js","require":"./p384.js"},"./p521":{"import":"./esm/p521.js","require":"./p521.js"},"./bn254":{"import":"./esm/bn254.js","require":"./bn254.js"},"./ed448":{"import":"./esm/ed448.js","require":"./ed448.js"},"./index":{"import":"./esm/index.js","require":"./index.js"},"./pasta":{"import":"./esm/pasta.js","require":"./pasta.js"},"./jubjub":{"import":"./esm/jubjub.js","require":"./jubjub.js"},"./ed25519":{"import":"./esm/ed25519.js","require":"./ed25519.js"},"./bls12-381":{"import":"./esm/bls12-381.js","require":"./bls12-381.js"},"./secp256k1":{"import":"./esm/secp256k1.js","require":"./secp256k1.js"},"./abstract/bls":{"import":"./esm/abstract/bls.js","require":"./abstract/bls.js"},"./_shortw_utils":{"import":"./esm/_shortw_utils.js","require":"./_shortw_utils.js"},"./abstract/curve":{"import":"./esm/abstract/curve.js","require":"./abstract/curve.js"},"./abstract/utils":{"import":"./esm/abstract/utils.js","require":"./abstract/utils.js"},"./abstract/edwards":{"import":"./esm/abstract/edwards.js","require":"./abstract/edwards.js"},"./abstract/modular":{"import":"./esm/abstract/modular.js","require":"./abstract/modular.js"},"./abstract/poseidon":{"import":"./esm/abstract/poseidon.js","require":"./abstract/poseidon.js"},"./abstract/montgomery":{"import":"./esm/abstract/montgomery.js","require":"./abstract/montgomery.js"},"./abstract/weierstrass":{"import":"./esm/abstract/weierstrass.js","require":"./abstract/weierstrass.js"},"./abstract/hash-to-curve":{"import":"./esm/abstract/hash-to-curve.js","require":"./abstract/hash-to-curve.js"}},"funding":"https://paulmillr.com/funding/","gitHead":"dec75cb3a98a10eae5d4aeb32677595913ce3a53","scripts":{"lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js","bench":"cd benchmark; node secp256k1.js; node curves.js; node ecdh.js; node hash-to-curve.js; node modular.js; node bls.js; node ristretto255.js; node decaf448.js","build":"tsc && tsc -p tsconfig.esm.json","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","build:clean":"rm *.{js,d.ts,d.ts.map,js.map} esm/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","build:release":"cd build && npm i && npm run build"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/noble-curves.git","type":"git"},"_npmVersion":"10.8.1","description":"Audited & minimal JS implementation of elliptic curve cryptography","directories":{},"sideEffects":false,"_nodeVersion":"20.15.0","dependencies":{"@noble/hashes":"1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.3.2","fast-check":"3.0.0","typescript":"5.5.2","micro-bmark":"0.3.1","micro-should":"0.4.0","@paulmillr/jsbt":"0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/curves_1.4.1_1719843796173_0.619096143691797","host":"s3://npm-registry-packages"},"_cnpmcore_publish_time":"2024-07-01T14:23:16.373Z","publish_time":1719843796373,"_source_registry_name":"default","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_cnpm_publish_time":1719843796373},"1.4.0":{"name":"@noble/curves","version":"1.4.0","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node ecdh.js; node hash-to-curve.js; node modular.js; node bls.js; node ristretto255.js; node decaf448.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"cd build && npm i && npm run build","build:clean":"rm *.{js,d.ts,d.ts.map,js.map} esm/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.4.0"},"devDependencies":{"fast-check":"3.0.0","micro-bmark":"0.3.1","micro-should":"0.4.0","prettier":"3.1.1","typescript":"5.3.2"},"sideEffects":false,"main":"index.js","exports":{".":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./abstract/edwards":{"types":"./abstract/edwards.d.ts","import":"./esm/abstract/edwards.js","default":"./abstract/edwards.js"},"./abstract/modular":{"types":"./abstract/modular.d.ts","import":"./esm/abstract/modular.js","default":"./abstract/modular.js"},"./abstract/montgomery":{"types":"./abstract/montgomery.d.ts","import":"./esm/abstract/montgomery.js","default":"./abstract/montgomery.js"},"./abstract/weierstrass":{"types":"./abstract/weierstrass.d.ts","import":"./esm/abstract/weierstrass.js","default":"./abstract/weierstrass.js"},"./abstract/bls":{"types":"./abstract/bls.d.ts","import":"./esm/abstract/bls.js","default":"./abstract/bls.js"},"./abstract/hash-to-curve":{"types":"./abstract/hash-to-curve.d.ts","import":"./esm/abstract/hash-to-curve.js","default":"./abstract/hash-to-curve.js"},"./abstract/curve":{"types":"./abstract/curve.d.ts","import":"./esm/abstract/curve.js","default":"./abstract/curve.js"},"./abstract/utils":{"types":"./abstract/utils.d.ts","import":"./esm/abstract/utils.js","default":"./abstract/utils.js"},"./abstract/poseidon":{"types":"./abstract/poseidon.d.ts","import":"./esm/abstract/poseidon.js","default":"./abstract/poseidon.js"},"./_shortw_utils":{"types":"./_shortw_utils.d.ts","import":"./esm/_shortw_utils.js","default":"./_shortw_utils.js"},"./bls12-381":{"types":"./bls12-381.d.ts","import":"./esm/bls12-381.js","default":"./bls12-381.js"},"./bn254":{"types":"./bn254.d.ts","import":"./esm/bn254.js","default":"./bn254.js"},"./ed25519":{"types":"./ed25519.d.ts","import":"./esm/ed25519.js","default":"./ed25519.js"},"./ed448":{"types":"./ed448.d.ts","import":"./esm/ed448.js","default":"./ed448.js"},"./index":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./jubjub":{"types":"./jubjub.d.ts","import":"./esm/jubjub.js","default":"./jubjub.js"},"./p256":{"types":"./p256.d.ts","import":"./esm/p256.js","default":"./p256.js"},"./p384":{"types":"./p384.d.ts","import":"./esm/p384.js","default":"./p384.js"},"./p521":{"types":"./p521.d.ts","import":"./esm/p521.js","default":"./p521.js"},"./pasta":{"types":"./pasta.d.ts","import":"./esm/pasta.js","default":"./pasta.js"},"./secp256k1":{"types":"./secp256k1.d.ts","import":"./esm/secp256k1.js","default":"./secp256k1.js"}},"keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","x25519","ed25519","bls12-381","bn254","pasta","bls","noble","ecc","ecdsa","eddsa","schnorr"],"funding":"https://paulmillr.com/funding/","_id":"@noble/curves@1.4.0","gitHead":"a0e398489f939bc943eee074959ec5939f5353d1","types":"./index.d.ts","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_nodeVersion":"20.11.1","_npmVersion":"10.5.0","dist":{"shasum":"f05771ef64da724997f69ee1261b2417a49522d6","size":272640,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-1.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-1.4.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_1.4.0_1710398136766_0.3572888215224752"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-03-14T06:35:36.948Z","publish_time":1710398136948,"_source_registry_name":"default","_cnpm_publish_time":1710398136948},"1.3.0":{"name":"@noble/curves","version":"1.3.0","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node ecdh.js; node hash-to-curve.js; node modular.js; node bls.js; node ristretto255.js; node decaf448.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"cd build; npm install && npm run build","build:clean":"rm *.{js,d.ts,d.ts.map,js.map} esm/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.3.3"},"devDependencies":{"fast-check":"3.0.0","micro-bmark":"0.3.1","micro-should":"0.4.0","prettier":"3.1.1","typescript":"5.3.2"},"sideEffects":false,"main":"index.js","exports":{".":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./abstract/edwards":{"types":"./abstract/edwards.d.ts","import":"./esm/abstract/edwards.js","default":"./abstract/edwards.js"},"./abstract/modular":{"types":"./abstract/modular.d.ts","import":"./esm/abstract/modular.js","default":"./abstract/modular.js"},"./abstract/montgomery":{"types":"./abstract/montgomery.d.ts","import":"./esm/abstract/montgomery.js","default":"./abstract/montgomery.js"},"./abstract/weierstrass":{"types":"./abstract/weierstrass.d.ts","import":"./esm/abstract/weierstrass.js","default":"./abstract/weierstrass.js"},"./abstract/bls":{"types":"./abstract/bls.d.ts","import":"./esm/abstract/bls.js","default":"./abstract/bls.js"},"./abstract/hash-to-curve":{"types":"./abstract/hash-to-curve.d.ts","import":"./esm/abstract/hash-to-curve.js","default":"./abstract/hash-to-curve.js"},"./abstract/curve":{"types":"./abstract/curve.d.ts","import":"./esm/abstract/curve.js","default":"./abstract/curve.js"},"./abstract/utils":{"types":"./abstract/utils.d.ts","import":"./esm/abstract/utils.js","default":"./abstract/utils.js"},"./abstract/poseidon":{"types":"./abstract/poseidon.d.ts","import":"./esm/abstract/poseidon.js","default":"./abstract/poseidon.js"},"./_shortw_utils":{"types":"./_shortw_utils.d.ts","import":"./esm/_shortw_utils.js","default":"./_shortw_utils.js"},"./bls12-381":{"types":"./bls12-381.d.ts","import":"./esm/bls12-381.js","default":"./bls12-381.js"},"./bn254":{"types":"./bn254.d.ts","import":"./esm/bn254.js","default":"./bn254.js"},"./ed25519":{"types":"./ed25519.d.ts","import":"./esm/ed25519.js","default":"./ed25519.js"},"./ed448":{"types":"./ed448.d.ts","import":"./esm/ed448.js","default":"./ed448.js"},"./index":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./jubjub":{"types":"./jubjub.d.ts","import":"./esm/jubjub.js","default":"./jubjub.js"},"./p256":{"types":"./p256.d.ts","import":"./esm/p256.js","default":"./p256.js"},"./p384":{"types":"./p384.d.ts","import":"./esm/p384.js","default":"./p384.js"},"./p521":{"types":"./p521.d.ts","import":"./esm/p521.js","default":"./p521.js"},"./pasta":{"types":"./pasta.d.ts","import":"./esm/pasta.js","default":"./pasta.js"},"./secp256k1":{"types":"./secp256k1.d.ts","import":"./esm/secp256k1.js","default":"./secp256k1.js"}},"keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","x25519","ed25519","bls12-381","bn254","pasta","bls","noble","ecc","ecdsa","eddsa","schnorr"],"funding":"https://paulmillr.com/funding/","_id":"@noble/curves@1.3.0","gitHead":"4007ee975bcc6410c2e7b504febc1d5d625ed1a4","types":"./index.d.ts","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_nodeVersion":"20.10.0","_npmVersion":"10.2.5","dist":{"shasum":"01be46da4fd195822dab821e72f71bf4aeec635e","size":272254,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-1.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-1.3.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_1.3.0_1702337131560_0.8575984841371134"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-12-11T23:25:31.824Z","publish_time":1702337131824,"_source_registry_name":"default","_cnpm_publish_time":1702337131824},"1.2.0":{"name":"@noble/curves","version":"1.2.0","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node ecdh.js; node hash-to-curve.js; node modular.js; node bls.js; node ristretto255.js; node decaf448.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","build:clean":"rm *.{js,d.ts,d.ts.map,js.map} esm/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.3.2"},"devDependencies":{"fast-check":"3.0.0","micro-bmark":"0.3.1","micro-should":"0.4.0","prettier":"2.8.4","typescript":"5.0.2"},"sideEffects":false,"main":"index.js","exports":{".":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./abstract/edwards":{"types":"./abstract/edwards.d.ts","import":"./esm/abstract/edwards.js","default":"./abstract/edwards.js"},"./abstract/modular":{"types":"./abstract/modular.d.ts","import":"./esm/abstract/modular.js","default":"./abstract/modular.js"},"./abstract/montgomery":{"types":"./abstract/montgomery.d.ts","import":"./esm/abstract/montgomery.js","default":"./abstract/montgomery.js"},"./abstract/weierstrass":{"types":"./abstract/weierstrass.d.ts","import":"./esm/abstract/weierstrass.js","default":"./abstract/weierstrass.js"},"./abstract/bls":{"types":"./abstract/bls.d.ts","import":"./esm/abstract/bls.js","default":"./abstract/bls.js"},"./abstract/hash-to-curve":{"types":"./abstract/hash-to-curve.d.ts","import":"./esm/abstract/hash-to-curve.js","default":"./abstract/hash-to-curve.js"},"./abstract/curve":{"types":"./abstract/curve.d.ts","import":"./esm/abstract/curve.js","default":"./abstract/curve.js"},"./abstract/utils":{"types":"./abstract/utils.d.ts","import":"./esm/abstract/utils.js","default":"./abstract/utils.js"},"./abstract/poseidon":{"types":"./abstract/poseidon.d.ts","import":"./esm/abstract/poseidon.js","default":"./abstract/poseidon.js"},"./_shortw_utils":{"types":"./_shortw_utils.d.ts","import":"./esm/_shortw_utils.js","default":"./_shortw_utils.js"},"./bls12-381":{"types":"./bls12-381.d.ts","import":"./esm/bls12-381.js","default":"./bls12-381.js"},"./bn254":{"types":"./bn254.d.ts","import":"./esm/bn254.js","default":"./bn254.js"},"./ed25519":{"types":"./ed25519.d.ts","import":"./esm/ed25519.js","default":"./ed25519.js"},"./ed448":{"types":"./ed448.d.ts","import":"./esm/ed448.js","default":"./ed448.js"},"./index":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./jubjub":{"types":"./jubjub.d.ts","import":"./esm/jubjub.js","default":"./jubjub.js"},"./p256":{"types":"./p256.d.ts","import":"./esm/p256.js","default":"./p256.js"},"./p384":{"types":"./p384.d.ts","import":"./esm/p384.js","default":"./p384.js"},"./p521":{"types":"./p521.d.ts","import":"./esm/p521.js","default":"./p521.js"},"./pasta":{"types":"./pasta.d.ts","import":"./esm/pasta.js","default":"./pasta.js"},"./secp256k1":{"types":"./secp256k1.d.ts","import":"./esm/secp256k1.js","default":"./secp256k1.js"}},"keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","x25519","ed25519","bls12-381","bn254","pasta","bls","noble","ecc","ecdsa","eddsa","schnorr"],"funding":"https://paulmillr.com/funding/","_id":"@noble/curves@1.2.0","gitHead":"0d7756dcebcad544189efdd46ff8f12527709298","types":"./index.d.ts","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_nodeVersion":"20.5.1","_npmVersion":"9.8.1","dist":{"shasum":"92d7e12e4e49b23105a2555c6984d41733d65c35","size":269106,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-1.2.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_1.2.0_1692813704625_0.20116549719701382"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-23T18:01:44.926Z","publish_time":1692813704926,"_source_registry_name":"default","_cnpm_publish_time":1692813704926},"1.1.0":{"name":"@noble/curves","version":"1.1.0","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node ecdh.js; node hash-to-curve.js; node modular.js; node bls.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","build:clean":"rm *.{js,d.ts,d.ts.map,js.map} esm/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.3.1"},"devDependencies":{"fast-check":"3.0.0","micro-bmark":"0.3.1","micro-should":"0.4.0","prettier":"2.8.4","typescript":"5.0.2"},"main":"index.js","exports":{".":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./abstract/edwards":{"types":"./abstract/edwards.d.ts","import":"./esm/abstract/edwards.js","default":"./abstract/edwards.js"},"./abstract/modular":{"types":"./abstract/modular.d.ts","import":"./esm/abstract/modular.js","default":"./abstract/modular.js"},"./abstract/montgomery":{"types":"./abstract/montgomery.d.ts","import":"./esm/abstract/montgomery.js","default":"./abstract/montgomery.js"},"./abstract/weierstrass":{"types":"./abstract/weierstrass.d.ts","import":"./esm/abstract/weierstrass.js","default":"./abstract/weierstrass.js"},"./abstract/bls":{"types":"./abstract/bls.d.ts","import":"./esm/abstract/bls.js","default":"./abstract/bls.js"},"./abstract/hash-to-curve":{"types":"./abstract/hash-to-curve.d.ts","import":"./esm/abstract/hash-to-curve.js","default":"./abstract/hash-to-curve.js"},"./abstract/curve":{"types":"./abstract/curve.d.ts","import":"./esm/abstract/curve.js","default":"./abstract/curve.js"},"./abstract/utils":{"types":"./abstract/utils.d.ts","import":"./esm/abstract/utils.js","default":"./abstract/utils.js"},"./abstract/poseidon":{"types":"./abstract/poseidon.d.ts","import":"./esm/abstract/poseidon.js","default":"./abstract/poseidon.js"},"./_shortw_utils":{"types":"./_shortw_utils.d.ts","import":"./esm/_shortw_utils.js","default":"./_shortw_utils.js"},"./bls12-381":{"types":"./bls12-381.d.ts","import":"./esm/bls12-381.js","default":"./bls12-381.js"},"./bn254":{"types":"./bn254.d.ts","import":"./esm/bn254.js","default":"./bn254.js"},"./ed25519":{"types":"./ed25519.d.ts","import":"./esm/ed25519.js","default":"./ed25519.js"},"./ed448":{"types":"./ed448.d.ts","import":"./esm/ed448.js","default":"./ed448.js"},"./index":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./jubjub":{"types":"./jubjub.d.ts","import":"./esm/jubjub.js","default":"./jubjub.js"},"./p256":{"types":"./p256.d.ts","import":"./esm/p256.js","default":"./p256.js"},"./p384":{"types":"./p384.d.ts","import":"./esm/p384.js","default":"./p384.js"},"./p521":{"types":"./p521.d.ts","import":"./esm/p521.js","default":"./p521.js"},"./pasta":{"types":"./pasta.d.ts","import":"./esm/pasta.js","default":"./pasta.js"},"./secp256k1":{"types":"./secp256k1.d.ts","import":"./esm/secp256k1.js","default":"./secp256k1.js"}},"keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","x25519","ed25519","bls12-381","bn254","pasta","bls","noble","ecc","ecdsa","eddsa","schnorr"],"funding":"https://paulmillr.com/funding/","types":"./index.d.ts","gitHead":"62e806cfaf961f58161382351f4def4c0345fbd9","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@1.1.0","_nodeVersion":"20.2.0","_npmVersion":"9.6.7","dist":{"shasum":"f13fc667c89184bc04cccb9b11e8e7bae27d8c3d","size":261456,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-1.1.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_1.1.0_1685795985742_0.14137653412837703"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-06-03T12:39:46.003Z","publish_time":1685795986003,"_source_registry_name":"default","_cnpm_publish_time":1685795986003},"1.0.0":{"name":"@noble/curves","version":"1.0.0","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node ecdh.js; node hash-to-curve.js; node modular.js; node bls.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","build:clean":"rm *.{js,d.ts,d.ts.map,js.map} esm/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.3.0"},"devDependencies":{"fast-check":"3.0.0","micro-bmark":"0.3.1","micro-should":"0.4.0","prettier":"2.8.4","typescript":"5.0.2"},"main":"index.js","exports":{".":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./abstract/edwards":{"types":"./abstract/edwards.d.ts","import":"./esm/abstract/edwards.js","default":"./abstract/edwards.js"},"./abstract/modular":{"types":"./abstract/modular.d.ts","import":"./esm/abstract/modular.js","default":"./abstract/modular.js"},"./abstract/montgomery":{"types":"./abstract/montgomery.d.ts","import":"./esm/abstract/montgomery.js","default":"./abstract/montgomery.js"},"./abstract/weierstrass":{"types":"./abstract/weierstrass.d.ts","import":"./esm/abstract/weierstrass.js","default":"./abstract/weierstrass.js"},"./abstract/bls":{"types":"./abstract/bls.d.ts","import":"./esm/abstract/bls.js","default":"./abstract/bls.js"},"./abstract/hash-to-curve":{"types":"./abstract/hash-to-curve.d.ts","import":"./esm/abstract/hash-to-curve.js","default":"./abstract/hash-to-curve.js"},"./abstract/curve":{"types":"./abstract/curve.d.ts","import":"./esm/abstract/curve.js","default":"./abstract/curve.js"},"./abstract/utils":{"types":"./abstract/utils.d.ts","import":"./esm/abstract/utils.js","default":"./abstract/utils.js"},"./abstract/poseidon":{"types":"./abstract/poseidon.d.ts","import":"./esm/abstract/poseidon.js","default":"./abstract/poseidon.js"},"./_shortw_utils":{"types":"./_shortw_utils.d.ts","import":"./esm/_shortw_utils.js","default":"./_shortw_utils.js"},"./bls12-381":{"types":"./bls12-381.d.ts","import":"./esm/bls12-381.js","default":"./bls12-381.js"},"./bn254":{"types":"./bn254.d.ts","import":"./esm/bn254.js","default":"./bn254.js"},"./ed25519":{"types":"./ed25519.d.ts","import":"./esm/ed25519.js","default":"./ed25519.js"},"./ed448":{"types":"./ed448.d.ts","import":"./esm/ed448.js","default":"./ed448.js"},"./index":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./jubjub":{"types":"./jubjub.d.ts","import":"./esm/jubjub.js","default":"./jubjub.js"},"./p256":{"types":"./p256.d.ts","import":"./esm/p256.js","default":"./p256.js"},"./p384":{"types":"./p384.d.ts","import":"./esm/p384.js","default":"./p384.js"},"./p521":{"types":"./p521.d.ts","import":"./esm/p521.js","default":"./p521.js"},"./pasta":{"types":"./pasta.d.ts","import":"./esm/pasta.js","default":"./pasta.js"},"./secp256k1":{"types":"./secp256k1.d.ts","import":"./esm/secp256k1.js","default":"./secp256k1.js"}},"keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","bls12-381","bn254","pasta","bls","noble","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"types":"./index.d.ts","gitHead":"d61c7ae4e5e7a1a0b4766c6f0760fec924bcc4f4","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@1.0.0","_nodeVersion":"19.6.0","_npmVersion":"9.4.0","dist":{"shasum":"e40be8c7daf088aaf291887cbc73f43464a92932","size":257510,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-1.0.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_1.0.0_1681267326796_0.8278239858192113"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-04-12T02:42:07.004Z","publish_time":1681267327004,"_cnpm_publish_time":1681267327004},"0.9.1":{"name":"@noble/curves","version":"0.9.1","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node ecdh.js; node hash-to-curve.js; node modular.js; node bls.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","build:clean":"rm *.{js,d.ts,d.ts.map,js.map} esm/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.3.0"},"devDependencies":{"@scure/bip32":"~1.2.0","@scure/bip39":"~1.2.0","@types/node":"18.11.18","fast-check":"3.0.0","micro-bmark":"0.3.1","micro-should":"0.4.0","prettier":"2.8.4","typescript":"5.0.2"},"main":"index.js","exports":{".":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./abstract/edwards":{"types":"./abstract/edwards.d.ts","import":"./esm/abstract/edwards.js","default":"./abstract/edwards.js"},"./abstract/modular":{"types":"./abstract/modular.d.ts","import":"./esm/abstract/modular.js","default":"./abstract/modular.js"},"./abstract/montgomery":{"types":"./abstract/montgomery.d.ts","import":"./esm/abstract/montgomery.js","default":"./abstract/montgomery.js"},"./abstract/weierstrass":{"types":"./abstract/weierstrass.d.ts","import":"./esm/abstract/weierstrass.js","default":"./abstract/weierstrass.js"},"./abstract/bls":{"types":"./abstract/bls.d.ts","import":"./esm/abstract/bls.js","default":"./abstract/bls.js"},"./abstract/hash-to-curve":{"types":"./abstract/hash-to-curve.d.ts","import":"./esm/abstract/hash-to-curve.js","default":"./abstract/hash-to-curve.js"},"./abstract/curve":{"types":"./abstract/curve.d.ts","import":"./esm/abstract/curve.js","default":"./abstract/curve.js"},"./abstract/utils":{"types":"./abstract/utils.d.ts","import":"./esm/abstract/utils.js","default":"./abstract/utils.js"},"./abstract/poseidon":{"types":"./abstract/poseidon.d.ts","import":"./esm/abstract/poseidon.js","default":"./abstract/poseidon.js"},"./_shortw_utils":{"types":"./_shortw_utils.d.ts","import":"./esm/_shortw_utils.js","default":"./_shortw_utils.js"},"./bls12-381":{"types":"./bls12-381.d.ts","import":"./esm/bls12-381.js","default":"./bls12-381.js"},"./bn":{"types":"./bn.d.ts","import":"./esm/bn.js","default":"./bn.js"},"./ed25519":{"types":"./ed25519.d.ts","import":"./esm/ed25519.js","default":"./ed25519.js"},"./ed448":{"types":"./ed448.d.ts","import":"./esm/ed448.js","default":"./ed448.js"},"./index":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./jubjub":{"types":"./jubjub.d.ts","import":"./esm/jubjub.js","default":"./jubjub.js"},"./p256":{"types":"./p256.d.ts","import":"./esm/p256.js","default":"./p256.js"},"./p384":{"types":"./p384.d.ts","import":"./esm/p384.js","default":"./p384.js"},"./p521":{"types":"./p521.d.ts","import":"./esm/p521.js","default":"./p521.js"},"./pasta":{"types":"./pasta.d.ts","import":"./esm/pasta.js","default":"./pasta.js"},"./secp256k1":{"types":"./secp256k1.d.ts","import":"./esm/secp256k1.js","default":"./secp256k1.js"}},"keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","bls12-381","bn254","pasta","bls","noble","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"types":"./index.d.ts","gitHead":"19f04a4c1c85ac8c102f6f35c817855af3e0cc88","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.9.1","_nodeVersion":"19.6.0","_npmVersion":"9.4.0","dist":{"shasum":"0ad33ebee0fdc870e1afcd74daa06f188e89b8fe","size":255107,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.9.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.9.1.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.9.1_1680249733479_0.3897440147828761"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-31T08:02:13.637Z","publish_time":1680249733637,"deprecated":"Upgrade to 1.0.0 or higher for audited version","_cnpm_publish_time":1680249733637},"0.9.0":{"name":"@noble/curves","version":"0.9.0","description":"Audited & minimal JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node ecdh.js; node hash-to-curve.js; node modular.js; node bls.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","build:clean":"rm *.{js,d.ts,d.ts.map,js.map} esm/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.3.0"},"devDependencies":{"@scure/bip32":"~1.2.0","@scure/bip39":"~1.2.0","@types/node":"18.11.18","fast-check":"3.0.0","micro-bmark":"0.3.1","micro-should":"0.4.0","prettier":"2.8.4","typescript":"5.0.2"},"main":"index.js","exports":{".":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./abstract/edwards":{"types":"./abstract/edwards.d.ts","import":"./esm/abstract/edwards.js","default":"./abstract/edwards.js"},"./abstract/modular":{"types":"./abstract/modular.d.ts","import":"./esm/abstract/modular.js","default":"./abstract/modular.js"},"./abstract/montgomery":{"types":"./abstract/montgomery.d.ts","import":"./esm/abstract/montgomery.js","default":"./abstract/montgomery.js"},"./abstract/weierstrass":{"types":"./abstract/weierstrass.d.ts","import":"./esm/abstract/weierstrass.js","default":"./abstract/weierstrass.js"},"./abstract/bls":{"types":"./abstract/bls.d.ts","import":"./esm/abstract/bls.js","default":"./abstract/bls.js"},"./abstract/hash-to-curve":{"types":"./abstract/hash-to-curve.d.ts","import":"./esm/abstract/hash-to-curve.js","default":"./abstract/hash-to-curve.js"},"./abstract/curve":{"types":"./abstract/curve.d.ts","import":"./esm/abstract/curve.js","default":"./abstract/curve.js"},"./abstract/utils":{"types":"./abstract/utils.d.ts","import":"./esm/abstract/utils.js","default":"./abstract/utils.js"},"./abstract/poseidon":{"types":"./abstract/poseidon.d.ts","import":"./esm/abstract/poseidon.js","default":"./abstract/poseidon.js"},"./_shortw_utils":{"types":"./_shortw_utils.d.ts","import":"./esm/_shortw_utils.js","default":"./_shortw_utils.js"},"./bls12-381":{"types":"./bls12-381.d.ts","import":"./esm/bls12-381.js","default":"./bls12-381.js"},"./bn":{"types":"./bn.d.ts","import":"./esm/bn.js","default":"./bn.js"},"./ed25519":{"types":"./ed25519.d.ts","import":"./esm/ed25519.js","default":"./ed25519.js"},"./ed448":{"types":"./ed448.d.ts","import":"./esm/ed448.js","default":"./ed448.js"},"./index":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./jubjub":{"types":"./jubjub.d.ts","import":"./esm/jubjub.js","default":"./jubjub.js"},"./p256":{"types":"./p256.d.ts","import":"./esm/p256.js","default":"./p256.js"},"./p384":{"types":"./p384.d.ts","import":"./esm/p384.js","default":"./p384.js"},"./p521":{"types":"./p521.d.ts","import":"./esm/p521.js","default":"./p521.js"},"./pasta":{"types":"./pasta.d.ts","import":"./esm/pasta.js","default":"./pasta.js"},"./secp256k1":{"types":"./secp256k1.d.ts","import":"./esm/secp256k1.js","default":"./secp256k1.js"}},"keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","bls12-381","bn254","pasta","bls","noble","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"types":"./index.d.ts","gitHead":"0ffa38db6b37a3ee35a550ea3b4581f7bc959392","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.9.0","_nodeVersion":"19.6.0","_npmVersion":"9.4.0","dist":{"shasum":"d59713ecbb6a77381de84fb8969381fa85a7380b","size":254069,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.9.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.9.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.9.0_1679652727347_0.30509896321042884"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-24T10:12:07.575Z","publish_time":1679652727575,"deprecated":"Upgrade to 1.0.0 or higher for audited version","_cnpm_publish_time":1679652727575},"0.8.3":{"name":"@noble/curves","version":"0.8.3","description":"Minimal, auditable JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node ecdh.js; node hash-to-curve.js; node modular.js; node bls.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","build:clean":"rm *.{js,d.ts,d.ts.map,js.map} esm/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.3.0"},"devDependencies":{"@scure/bip32":"~1.1.5","@scure/bip39":"~1.1.1","@types/node":"18.11.18","fast-check":"3.0.0","micro-bmark":"0.3.1","micro-should":"0.4.0","prettier":"2.8.4","typescript":"5.0.2"},"main":"index.js","exports":{".":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./abstract/edwards":{"types":"./abstract/edwards.d.ts","import":"./esm/abstract/edwards.js","default":"./abstract/edwards.js"},"./abstract/modular":{"types":"./abstract/modular.d.ts","import":"./esm/abstract/modular.js","default":"./abstract/modular.js"},"./abstract/montgomery":{"types":"./abstract/montgomery.d.ts","import":"./esm/abstract/montgomery.js","default":"./abstract/montgomery.js"},"./abstract/weierstrass":{"types":"./abstract/weierstrass.d.ts","import":"./esm/abstract/weierstrass.js","default":"./abstract/weierstrass.js"},"./abstract/bls":{"types":"./abstract/bls.d.ts","import":"./esm/abstract/bls.js","default":"./abstract/bls.js"},"./abstract/hash-to-curve":{"types":"./abstract/hash-to-curve.d.ts","import":"./esm/abstract/hash-to-curve.js","default":"./abstract/hash-to-curve.js"},"./abstract/curve":{"types":"./abstract/curve.d.ts","import":"./esm/abstract/curve.js","default":"./abstract/curve.js"},"./abstract/utils":{"types":"./abstract/utils.d.ts","import":"./esm/abstract/utils.js","default":"./abstract/utils.js"},"./abstract/poseidon":{"types":"./abstract/poseidon.d.ts","import":"./esm/abstract/poseidon.js","default":"./abstract/poseidon.js"},"./_shortw_utils":{"types":"./_shortw_utils.d.ts","import":"./esm/_shortw_utils.js","default":"./_shortw_utils.js"},"./bls12-381":{"types":"./bls12-381.d.ts","import":"./esm/bls12-381.js","default":"./bls12-381.js"},"./bn":{"types":"./bn.d.ts","import":"./esm/bn.js","default":"./bn.js"},"./ed25519":{"types":"./ed25519.d.ts","import":"./esm/ed25519.js","default":"./ed25519.js"},"./ed448":{"types":"./ed448.d.ts","import":"./esm/ed448.js","default":"./ed448.js"},"./index":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./jubjub":{"types":"./jubjub.d.ts","import":"./esm/jubjub.js","default":"./jubjub.js"},"./p256":{"types":"./p256.d.ts","import":"./esm/p256.js","default":"./p256.js"},"./p384":{"types":"./p384.d.ts","import":"./esm/p384.js","default":"./p384.js"},"./p521":{"types":"./p521.d.ts","import":"./esm/p521.js","default":"./p521.js"},"./pasta":{"types":"./pasta.d.ts","import":"./esm/pasta.js","default":"./pasta.js"},"./secp256k1":{"types":"./secp256k1.d.ts","import":"./esm/secp256k1.js","default":"./secp256k1.js"}},"keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","bls12-381","bn254","pasta","bls","nist","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"types":"./index.d.ts","gitHead":"1c6aa07ff702815b52080d6d9772cb2d1ab84bcc","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.8.3","_nodeVersion":"19.6.0","_npmVersion":"9.4.0","dist":{"shasum":"ad6d48baf2599cf1d58dcb734c14d5225c8996e0","size":252635,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.8.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.8.3.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.8.3_1678992085663_0.09879010067925709"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-16T18:41:25.943Z","publish_time":1678992085943,"_cnpm_publish_time":1678992085943},"0.8.2":{"name":"@noble/curves","version":"0.8.2","description":"Minimal, auditable JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node ecdh.js; node hash-to-curve.js; node modular.js; node bls.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","build:clean":"rm *.{js,d.ts,d.ts.map,js.map} esm/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.2.0"},"devDependencies":{"@scure/bip32":"~1.1.5","@scure/bip39":"~1.1.1","@types/node":"18.11.3","fast-check":"3.0.0","micro-bmark":"0.3.1","micro-should":"0.4.0","prettier":"2.8.3","typescript":"4.7.3"},"main":"index.js","exports":{".":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./abstract/edwards":{"types":"./abstract/edwards.d.ts","import":"./esm/abstract/edwards.js","default":"./abstract/edwards.js"},"./abstract/modular":{"types":"./abstract/modular.d.ts","import":"./esm/abstract/modular.js","default":"./abstract/modular.js"},"./abstract/montgomery":{"types":"./abstract/montgomery.d.ts","import":"./esm/abstract/montgomery.js","default":"./abstract/montgomery.js"},"./abstract/weierstrass":{"types":"./abstract/weierstrass.d.ts","import":"./esm/abstract/weierstrass.js","default":"./abstract/weierstrass.js"},"./abstract/bls":{"types":"./abstract/bls.d.ts","import":"./esm/abstract/bls.js","default":"./abstract/bls.js"},"./abstract/hash-to-curve":{"types":"./abstract/hash-to-curve.d.ts","import":"./esm/abstract/hash-to-curve.js","default":"./abstract/hash-to-curve.js"},"./abstract/curve":{"types":"./abstract/curve.d.ts","import":"./esm/abstract/curve.js","default":"./abstract/curve.js"},"./abstract/utils":{"types":"./abstract/utils.d.ts","import":"./esm/abstract/utils.js","default":"./abstract/utils.js"},"./abstract/poseidon":{"types":"./abstract/poseidon.d.ts","import":"./esm/abstract/poseidon.js","default":"./abstract/poseidon.js"},"./_shortw_utils":{"types":"./_shortw_utils.d.ts","import":"./esm/_shortw_utils.js","default":"./_shortw_utils.js"},"./bls12-381":{"types":"./bls12-381.d.ts","import":"./esm/bls12-381.js","default":"./bls12-381.js"},"./bn":{"types":"./bn.d.ts","import":"./esm/bn.js","default":"./bn.js"},"./ed25519":{"types":"./ed25519.d.ts","import":"./esm/ed25519.js","default":"./ed25519.js"},"./ed448":{"types":"./ed448.d.ts","import":"./esm/ed448.js","default":"./ed448.js"},"./index":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./jubjub":{"types":"./jubjub.d.ts","import":"./esm/jubjub.js","default":"./jubjub.js"},"./p256":{"types":"./p256.d.ts","import":"./esm/p256.js","default":"./p256.js"},"./p384":{"types":"./p384.d.ts","import":"./esm/p384.js","default":"./p384.js"},"./p521":{"types":"./p521.d.ts","import":"./esm/p521.js","default":"./p521.js"},"./pasta":{"types":"./pasta.d.ts","import":"./esm/pasta.js","default":"./pasta.js"},"./secp256k1":{"types":"./secp256k1.d.ts","import":"./esm/secp256k1.js","default":"./secp256k1.js"}},"keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","bls12-381","bn254","pasta","bls","nist","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"types":"./index.d.ts","gitHead":"5784ef23f6ddcd016650f1528cfc9cabc7a53a1d","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.8.2","_nodeVersion":"18.14.0","_npmVersion":"9.3.1","dist":{"shasum":"276f65b599aa82265576e74ac76e9e845a621c3e","size":252569,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.8.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.8.2.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.8.2_1678751047132_0.8130894053147086"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-13T23:44:07.346Z","publish_time":1678751047346,"deprecated":"Upgrade to 1.0.0 or higher for audited version","_cnpm_publish_time":1678751047346},"0.8.1":{"name":"@noble/curves","version":"0.8.1","description":"Minimal, auditable JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node ecdh.js; node hash-to-curve.js; node modular.js; node bls.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","build:clean":"rm *.{js,d.ts,d.ts.map,js.map} esm/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.2.0"},"devDependencies":{"@scure/bip32":"~1.1.5","@scure/bip39":"~1.1.1","@types/node":"18.11.3","fast-check":"3.0.0","micro-bmark":"0.3.1","micro-should":"0.4.0","prettier":"2.8.3","typescript":"4.7.3"},"main":"index.js","exports":{".":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./abstract/edwards":{"types":"./abstract/edwards.d.ts","import":"./esm/abstract/edwards.js","default":"./abstract/edwards.js"},"./abstract/modular":{"types":"./abstract/modular.d.ts","import":"./esm/abstract/modular.js","default":"./abstract/modular.js"},"./abstract/montgomery":{"types":"./abstract/montgomery.d.ts","import":"./esm/abstract/montgomery.js","default":"./abstract/montgomery.js"},"./abstract/weierstrass":{"types":"./abstract/weierstrass.d.ts","import":"./esm/abstract/weierstrass.js","default":"./abstract/weierstrass.js"},"./abstract/bls":{"types":"./abstract/bls.d.ts","import":"./esm/abstract/bls.js","default":"./abstract/bls.js"},"./abstract/hash-to-curve":{"types":"./abstract/hash-to-curve.d.ts","import":"./esm/abstract/hash-to-curve.js","default":"./abstract/hash-to-curve.js"},"./abstract/curve":{"types":"./abstract/curve.d.ts","import":"./esm/abstract/curve.js","default":"./abstract/curve.js"},"./abstract/utils":{"types":"./abstract/utils.d.ts","import":"./esm/abstract/utils.js","default":"./abstract/utils.js"},"./abstract/poseidon":{"types":"./abstract/poseidon.d.ts","import":"./esm/abstract/poseidon.js","default":"./abstract/poseidon.js"},"./_shortw_utils":{"types":"./_shortw_utils.d.ts","import":"./esm/_shortw_utils.js","default":"./_shortw_utils.js"},"./bls12-381":{"types":"./bls12-381.d.ts","import":"./esm/bls12-381.js","default":"./bls12-381.js"},"./bn":{"types":"./bn.d.ts","import":"./esm/bn.js","default":"./bn.js"},"./ed25519":{"types":"./ed25519.d.ts","import":"./esm/ed25519.js","default":"./ed25519.js"},"./ed448":{"types":"./ed448.d.ts","import":"./esm/ed448.js","default":"./ed448.js"},"./index":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./jubjub":{"types":"./jubjub.d.ts","import":"./esm/jubjub.js","default":"./jubjub.js"},"./p256":{"types":"./p256.d.ts","import":"./esm/p256.js","default":"./p256.js"},"./p384":{"types":"./p384.d.ts","import":"./esm/p384.js","default":"./p384.js"},"./p521":{"types":"./p521.d.ts","import":"./esm/p521.js","default":"./p521.js"},"./pasta":{"types":"./pasta.d.ts","import":"./esm/pasta.js","default":"./pasta.js"},"./secp256k1":{"types":"./secp256k1.d.ts","import":"./esm/secp256k1.js","default":"./secp256k1.js"}},"keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","bls12-381","bn254","pasta","bls","nist","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"types":"./index.d.ts","gitHead":"1cfd6a76cab71ab0c93bd68919511718fe01a9ce","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.8.1","_nodeVersion":"18.14.0","_npmVersion":"9.3.1","dist":{"shasum":"42587dfef69b2f05713fd6b76dbff5d2b1a0f839","size":245971,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.8.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.8.1.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.8.1_1678750811300_0.8366926733613966"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-13T23:40:11.571Z","publish_time":1678750811571,"deprecated":"Upgrade to 1.0.0 or higher for audited version","_cnpm_publish_time":1678750811571},"0.8.0":{"name":"@noble/curves","version":"0.8.0","description":"Minimal, auditable JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node ecdh.js; node stark.js; node bls.js","build":"tsc","build:clean":"rm *.{js,d.ts,js.map} esm/*.{js,js.map} 2> /dev/null","build:release":"rollup -c rollup.config.js","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.2.0"},"devDependencies":{"@scure/bip32":"~1.1.5","@scure/bip39":"~1.1.1","@types/node":"18.11.3","fast-check":"3.0.0","micro-bmark":"0.3.1","micro-should":"0.4.0","prettier":"2.8.3","typescript":"4.7.3"},"main":"index.js","type":"module","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./abstract/edwards":{"types":"./abstract/edwards.d.ts","default":"./abstract/edwards.js"},"./abstract/modular":{"types":"./abstract/modular.d.ts","default":"./abstract/modular.js"},"./abstract/montgomery":{"types":"./abstract/montgomery.d.ts","default":"./abstract/montgomery.js"},"./abstract/weierstrass":{"types":"./abstract/weierstrass.d.ts","default":"./abstract/weierstrass.js"},"./abstract/bls":{"types":"./abstract/bls.d.ts","default":"./abstract/bls.js"},"./abstract/hash-to-curve":{"types":"./abstract/hash-to-curve.d.ts","default":"./abstract/hash-to-curve.js"},"./abstract/curve":{"types":"./abstract/curve.d.ts","default":"./abstract/curve.js"},"./abstract/utils":{"types":"./abstract/utils.d.ts","default":"./abstract/utils.js"},"./abstract/poseidon":{"types":"./abstract/poseidon.d.ts","default":"./abstract/poseidon.js"},"./_shortw_utils":{"types":"./_shortw_utils.d.ts","default":"./_shortw_utils.js"},"./bls12-381":{"types":"./bls12-381.d.ts","default":"./bls12-381.js"},"./bn":{"types":"./bn.d.ts","default":"./bn.js"},"./ed25519":{"types":"./ed25519.d.ts","default":"./ed25519.js"},"./ed448":{"types":"./ed448.d.ts","default":"./ed448.js"},"./index":{"types":"./index.d.ts","default":"./index.js"},"./jubjub":{"types":"./jubjub.d.ts","default":"./jubjub.js"},"./p256":{"types":"./p256.d.ts","default":"./p256.js"},"./p384":{"types":"./p384.d.ts","default":"./p384.js"},"./p521":{"types":"./p521.d.ts","default":"./p521.js"},"./pasta":{"types":"./pasta.d.ts","default":"./pasta.js"},"./secp256k1":{"types":"./secp256k1.d.ts","default":"./secp256k1.js"},"./stark":{"types":"./stark.d.ts","default":"./stark.js"}},"keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","bls12-381","bn254","pasta","bls","nist","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"types":"./index.d.ts","gitHead":"49a659b2487bfc9cbf64e155a68ebd459c425c0e","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.8.0","_nodeVersion":"18.14.0","_npmVersion":"9.3.1","dist":{"shasum":"bcab798acfea6f8404bf89a0925aea90abdee9de","size":210316,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.8.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.8.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.8.0_1677805965789_0.22767877044630813"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-03T01:12:46.007Z","publish_time":1677805966007,"deprecated":"Upgrade to 1.0.0 or higher for audited version","_cnpm_publish_time":1677805966007},"0.7.3":{"name":"@noble/curves","version":"0.7.3","description":"Minimal, auditable JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node ecdh.js; node stark.js; node bls.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.2.0"},"devDependencies":{"@scure/bip32":"~1.1.5","@scure/bip39":"~1.1.1","@types/node":"18.11.3","fast-check":"3.0.0","micro-bmark":"0.3.1","micro-should":"0.4.0","prettier":"2.8.3","typescript":"4.7.3"},"main":"index.js","exports":{".":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./abstract/edwards":{"types":"./abstract/edwards.d.ts","import":"./esm/abstract/edwards.js","default":"./abstract/edwards.js"},"./abstract/modular":{"types":"./abstract/modular.d.ts","import":"./esm/abstract/modular.js","default":"./abstract/modular.js"},"./abstract/montgomery":{"types":"./abstract/montgomery.d.ts","import":"./esm/abstract/montgomery.js","default":"./abstract/montgomery.js"},"./abstract/weierstrass":{"types":"./abstract/weierstrass.d.ts","import":"./esm/abstract/weierstrass.js","default":"./abstract/weierstrass.js"},"./abstract/bls":{"types":"./abstract/bls.d.ts","import":"./esm/abstract/bls.js","default":"./abstract/bls.js"},"./abstract/hash-to-curve":{"types":"./abstract/hash-to-curve.d.ts","import":"./esm/abstract/hash-to-curve.js","default":"./abstract/hash-to-curve.js"},"./abstract/curve":{"types":"./abstract/curve.d.ts","import":"./esm/abstract/curve.js","default":"./abstract/curve.js"},"./abstract/utils":{"types":"./abstract/utils.d.ts","import":"./esm/abstract/utils.js","default":"./abstract/utils.js"},"./abstract/poseidon":{"types":"./abstract/poseidon.d.ts","import":"./esm/abstract/poseidon.js","default":"./abstract/poseidon.js"},"./_shortw_utils":{"types":"./_shortw_utils.d.ts","import":"./esm/_shortw_utils.js","default":"./_shortw_utils.js"},"./bls12-381":{"types":"./bls12-381.d.ts","import":"./esm/bls12-381.js","default":"./bls12-381.js"},"./bn":{"types":"./bn.d.ts","import":"./esm/bn.js","default":"./bn.js"},"./ed25519":{"types":"./ed25519.d.ts","import":"./esm/ed25519.js","default":"./ed25519.js"},"./ed448":{"types":"./ed448.d.ts","import":"./esm/ed448.js","default":"./ed448.js"},"./index":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./jubjub":{"types":"./jubjub.d.ts","import":"./esm/jubjub.js","default":"./jubjub.js"},"./p256":{"types":"./p256.d.ts","import":"./esm/p256.js","default":"./p256.js"},"./p384":{"types":"./p384.d.ts","import":"./esm/p384.js","default":"./p384.js"},"./p521":{"types":"./p521.d.ts","import":"./esm/p521.js","default":"./p521.js"},"./pasta":{"types":"./pasta.d.ts","import":"./esm/pasta.js","default":"./pasta.js"},"./secp256k1":{"types":"./secp256k1.d.ts","import":"./esm/secp256k1.js","default":"./secp256k1.js"},"./stark":{"types":"./stark.d.ts","import":"./esm/stark.js","default":"./stark.js"}},"keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","bls12-381","bn254","pasta","bls","nist","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"types":"./index.d.ts","gitHead":"b8b2e91f7490810fc59d29b3b149143db822607e","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.7.3","_nodeVersion":"18.14.0","_npmVersion":"9.3.1","dist":{"shasum":"7ac988e0c60f84a1e21343c781d1c03be7953d4b","size":263862,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.7.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.7.3.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.7.3_1677434762191_0.7075456938932725"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-02-26T18:06:02.399Z","publish_time":1677434762399,"deprecated":"Upgrade to 1.0.0 or higher for audited version","_cnpm_publish_time":1677434762399},"0.7.2":{"name":"@noble/curves","version":"0.7.2","description":"Minimal, auditable JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node ecdh.js; node stark.js; node bls.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.2.0"},"devDependencies":{"@scure/bip32":"~1.1.5","@scure/bip39":"~1.1.1","@types/node":"18.11.3","fast-check":"3.0.0","micro-bmark":"0.3.1","micro-should":"0.4.0","prettier":"2.8.3","typescript":"4.7.3"},"main":"index.js","exports":{".":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./abstract/edwards":{"types":"./abstract/edwards.d.ts","import":"./esm/abstract/edwards.js","default":"./abstract/edwards.js"},"./abstract/modular":{"types":"./abstract/modular.d.ts","import":"./esm/abstract/modular.js","default":"./abstract/modular.js"},"./abstract/montgomery":{"types":"./abstract/montgomery.d.ts","import":"./esm/abstract/montgomery.js","default":"./abstract/montgomery.js"},"./abstract/weierstrass":{"types":"./abstract/weierstrass.d.ts","import":"./esm/abstract/weierstrass.js","default":"./abstract/weierstrass.js"},"./abstract/bls":{"types":"./abstract/bls.d.ts","import":"./esm/abstract/bls.js","default":"./abstract/bls.js"},"./abstract/hash-to-curve":{"types":"./abstract/hash-to-curve.d.ts","import":"./esm/abstract/hash-to-curve.js","default":"./abstract/hash-to-curve.js"},"./abstract/curve":{"types":"./abstract/curve.d.ts","import":"./esm/abstract/curve.js","default":"./abstract/curve.js"},"./abstract/utils":{"types":"./abstract/utils.d.ts","import":"./esm/abstract/utils.js","default":"./abstract/utils.js"},"./abstract/poseidon":{"types":"./abstract/poseidon.d.ts","import":"./esm/abstract/poseidon.js","default":"./abstract/poseidon.js"},"./_shortw_utils":{"types":"./_shortw_utils.d.ts","import":"./esm/_shortw_utils.js","default":"./_shortw_utils.js"},"./bls12-381":{"types":"./bls12-381.d.ts","import":"./esm/bls12-381.js","default":"./bls12-381.js"},"./bn":{"types":"./bn.d.ts","import":"./esm/bn.js","default":"./bn.js"},"./ed25519":{"types":"./ed25519.d.ts","import":"./esm/ed25519.js","default":"./ed25519.js"},"./ed448":{"types":"./ed448.d.ts","import":"./esm/ed448.js","default":"./ed448.js"},"./index":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./jubjub":{"types":"./jubjub.d.ts","import":"./esm/jubjub.js","default":"./jubjub.js"},"./p256":{"types":"./p256.d.ts","import":"./esm/p256.js","default":"./p256.js"},"./p384":{"types":"./p384.d.ts","import":"./esm/p384.js","default":"./p384.js"},"./p521":{"types":"./p521.d.ts","import":"./esm/p521.js","default":"./p521.js"},"./pasta":{"types":"./pasta.d.ts","import":"./esm/pasta.js","default":"./pasta.js"},"./secp256k1":{"types":"./secp256k1.d.ts","import":"./esm/secp256k1.js","default":"./secp256k1.js"},"./stark":{"types":"./stark.d.ts","import":"./esm/stark.js","default":"./stark.js"}},"keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","bls12-381","bn254","pasta","bls","nist","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"types":"./index.d.ts","gitHead":"0163b635324dbf503d4ff2670e23ec2fb55e1620","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.7.2","_nodeVersion":"18.14.0","_npmVersion":"9.3.1","dist":{"shasum":"ab873a6b1c61e66926dbd81dcad3ba05dde85965","size":263565,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.7.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.7.2.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.7.2_1677316433600_0.009227163011161332"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-02-25T09:13:53.864Z","publish_time":1677316433864,"deprecated":"Upgrade to 1.0.0 or higher for audited version","_cnpm_publish_time":1677316433864},"0.7.1":{"name":"@noble/curves","version":"0.7.1","description":"Minimal, auditable JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node stark.js; node bls.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.2.0"},"devDependencies":{"@scure/bip32":"~1.1.5","@scure/bip39":"~1.1.1","@types/node":"18.11.3","fast-check":"3.0.0","micro-bmark":"0.3.1","micro-should":"0.4.0","prettier":"2.8.3","typescript":"4.7.3"},"main":"index.js","exports":{".":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./abstract/edwards":{"types":"./abstract/edwards.d.ts","import":"./esm/abstract/edwards.js","default":"./abstract/edwards.js"},"./abstract/modular":{"types":"./abstract/modular.d.ts","import":"./esm/abstract/modular.js","default":"./abstract/modular.js"},"./abstract/montgomery":{"types":"./abstract/montgomery.d.ts","import":"./esm/abstract/montgomery.js","default":"./abstract/montgomery.js"},"./abstract/weierstrass":{"types":"./abstract/weierstrass.d.ts","import":"./esm/abstract/weierstrass.js","default":"./abstract/weierstrass.js"},"./abstract/bls":{"types":"./abstract/bls.d.ts","import":"./esm/abstract/bls.js","default":"./abstract/bls.js"},"./abstract/hash-to-curve":{"types":"./abstract/hash-to-curve.d.ts","import":"./esm/abstract/hash-to-curve.js","default":"./abstract/hash-to-curve.js"},"./abstract/curve":{"types":"./abstract/curve.d.ts","import":"./esm/abstract/curve.js","default":"./abstract/curve.js"},"./abstract/utils":{"types":"./abstract/utils.d.ts","import":"./esm/abstract/utils.js","default":"./abstract/utils.js"},"./abstract/poseidon":{"types":"./abstract/poseidon.d.ts","import":"./esm/abstract/poseidon.js","default":"./abstract/poseidon.js"},"./_shortw_utils":{"types":"./_shortw_utils.d.ts","import":"./esm/_shortw_utils.js","default":"./_shortw_utils.js"},"./bls12-381":{"types":"./bls12-381.d.ts","import":"./esm/bls12-381.js","default":"./bls12-381.js"},"./bn":{"types":"./bn.d.ts","import":"./esm/bn.js","default":"./bn.js"},"./ed25519":{"types":"./ed25519.d.ts","import":"./esm/ed25519.js","default":"./ed25519.js"},"./ed448":{"types":"./ed448.d.ts","import":"./esm/ed448.js","default":"./ed448.js"},"./index":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./jubjub":{"types":"./jubjub.d.ts","import":"./esm/jubjub.js","default":"./jubjub.js"},"./p192":{"types":"./p192.d.ts","import":"./esm/p192.js","default":"./p192.js"},"./p224":{"types":"./p224.d.ts","import":"./esm/p224.js","default":"./p224.js"},"./p256":{"types":"./p256.d.ts","import":"./esm/p256.js","default":"./p256.js"},"./p384":{"types":"./p384.d.ts","import":"./esm/p384.js","default":"./p384.js"},"./p521":{"types":"./p521.d.ts","import":"./esm/p521.js","default":"./p521.js"},"./pasta":{"types":"./pasta.d.ts","import":"./esm/pasta.js","default":"./pasta.js"},"./secp256k1":{"types":"./secp256k1.d.ts","import":"./esm/secp256k1.js","default":"./secp256k1.js"},"./stark":{"types":"./stark.d.ts","import":"./esm/stark.js","default":"./stark.js"}},"keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","bls12-381","bn254","pasta","bls","nist","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"types":"./index.d.ts","gitHead":"586e2ad5fb71ef3f2fa5f06235d30737b9db56fc","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.7.1","_nodeVersion":"19.6.0","_npmVersion":"9.4.0","dist":{"shasum":"d6068a123a0f16c04b726a73b112a389adcac0c5","size":266093,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.7.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.7.1.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.7.1_1676503242849_0.1465632608745957"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-02-15T23:20:43.136Z","publish_time":1676503243136,"deprecated":"Upgrade to 1.0.0 or higher for audited version","_cnpm_publish_time":1676503243136},"0.7.0":{"name":"@noble/curves","version":"0.7.0","description":"Minimal, auditable JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node stark.js; node bls.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.2.0"},"devDependencies":{"@scure/bip32":"~1.1.5","@scure/bip39":"~1.1.1","@types/node":"18.11.3","fast-check":"3.0.0","micro-bmark":"0.3.1","micro-should":"0.4.0","prettier":"2.8.3","typescript":"4.7.3"},"main":"index.js","exports":{".":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./abstract/edwards":{"types":"./abstract/edwards.d.ts","import":"./esm/abstract/edwards.js","default":"./abstract/edwards.js"},"./abstract/modular":{"types":"./abstract/modular.d.ts","import":"./esm/abstract/modular.js","default":"./abstract/modular.js"},"./abstract/montgomery":{"types":"./abstract/montgomery.d.ts","import":"./esm/abstract/montgomery.js","default":"./abstract/montgomery.js"},"./abstract/weierstrass":{"types":"./abstract/weierstrass.d.ts","import":"./esm/abstract/weierstrass.js","default":"./abstract/weierstrass.js"},"./abstract/bls":{"types":"./abstract/bls.d.ts","import":"./esm/abstract/bls.js","default":"./abstract/bls.js"},"./abstract/hash-to-curve":{"types":"./abstract/hash-to-curve.d.ts","import":"./esm/abstract/hash-to-curve.js","default":"./abstract/hash-to-curve.js"},"./abstract/curve":{"types":"./abstract/curve.d.ts","import":"./esm/abstract/curve.js","default":"./abstract/curve.js"},"./abstract/utils":{"types":"./abstract/utils.d.ts","import":"./esm/abstract/utils.js","default":"./abstract/utils.js"},"./abstract/poseidon":{"types":"./abstract/poseidon.d.ts","import":"./esm/abstract/poseidon.js","default":"./abstract/poseidon.js"},"./_shortw_utils":{"types":"./_shortw_utils.d.ts","import":"./esm/_shortw_utils.js","default":"./_shortw_utils.js"},"./bls12-381":{"types":"./bls12-381.d.ts","import":"./esm/bls12-381.js","default":"./bls12-381.js"},"./bn":{"types":"./bn.d.ts","import":"./esm/bn.js","default":"./bn.js"},"./ed25519":{"types":"./ed25519.d.ts","import":"./esm/ed25519.js","default":"./ed25519.js"},"./ed448":{"types":"./ed448.d.ts","import":"./esm/ed448.js","default":"./ed448.js"},"./index":{"types":"./index.d.ts","import":"./esm/index.js","default":"./index.js"},"./jubjub":{"types":"./jubjub.d.ts","import":"./esm/jubjub.js","default":"./jubjub.js"},"./p192":{"types":"./p192.d.ts","import":"./esm/p192.js","default":"./p192.js"},"./p224":{"types":"./p224.d.ts","import":"./esm/p224.js","default":"./p224.js"},"./p256":{"types":"./p256.d.ts","import":"./esm/p256.js","default":"./p256.js"},"./p384":{"types":"./p384.d.ts","import":"./esm/p384.js","default":"./p384.js"},"./p521":{"types":"./p521.d.ts","import":"./esm/p521.js","default":"./p521.js"},"./pasta":{"types":"./pasta.d.ts","import":"./esm/pasta.js","default":"./pasta.js"},"./secp256k1":{"types":"./secp256k1.d.ts","import":"./esm/secp256k1.js","default":"./secp256k1.js"},"./stark":{"types":"./stark.d.ts","import":"./esm/stark.js","default":"./stark.js"}},"keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","bls12-381","bn254","pasta","bls","nist","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"types":"./index.d.ts","gitHead":"3486bbf6b8d13280a92008f23a13737f51ccba08","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.7.0","_nodeVersion":"19.6.0","_npmVersion":"9.4.0","dist":{"shasum":"a8f9184533c0c53a951fbd29ea6a36a62bec2ac9","size":265452,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.7.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.7.0_1676414757806_0.3630387234273251"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-02-14T22:45:58.001Z","publish_time":1676414758001,"deprecated":"Upgrade to 1.0.0 or higher for audited version","_cnpm_publish_time":1676414758001},"0.6.4":{"name":"@noble/curves","version":"0.6.4","description":"Minimal, auditable JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node stark.js; node bls.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.2.0"},"devDependencies":{"@scure/base":"~1.1.1","@scure/bip32":"~1.1.5","@scure/bip39":"~1.1.1","@types/node":"18.11.3","fast-check":"3.0.0","micro-bmark":"0.3.0","micro-should":"0.4.0","prettier":"2.8.3","typescript":"4.7.3"},"main":"index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"},"./abstract/edwards":{"types":"./lib/abstract/edwards.d.ts","import":"./lib/esm/abstract/edwards.js","default":"./lib/abstract/edwards.js"},"./abstract/modular":{"types":"./lib/abstract/modular.d.ts","import":"./lib/esm/abstract/modular.js","default":"./lib/abstract/modular.js"},"./abstract/montgomery":{"types":"./lib/abstract/montgomery.d.ts","import":"./lib/esm/abstract/montgomery.js","default":"./lib/abstract/montgomery.js"},"./abstract/weierstrass":{"types":"./lib/abstract/weierstrass.d.ts","import":"./lib/esm/abstract/weierstrass.js","default":"./lib/abstract/weierstrass.js"},"./abstract/bls":{"types":"./lib/abstract/bls.d.ts","import":"./lib/esm/abstract/bls.js","default":"./lib/abstract/bls.js"},"./abstract/hash-to-curve":{"types":"./lib/abstract/hash-to-curve.d.ts","import":"./lib/esm/abstract/hash-to-curve.js","default":"./lib/abstract/hash-to-curve.js"},"./abstract/curve":{"types":"./lib/abstract/curve.d.ts","import":"./lib/esm/abstract/curve.js","default":"./lib/abstract/curve.js"},"./abstract/utils":{"types":"./lib/abstract/utils.d.ts","import":"./lib/esm/abstract/utils.js","default":"./lib/abstract/utils.js"},"./abstract/poseidon":{"types":"./lib/abstract/poseidon.d.ts","import":"./lib/esm/abstract/poseidon.js","default":"./lib/abstract/poseidon.js"},"./_shortw_utils":{"types":"./lib/_shortw_utils.d.ts","import":"./lib/esm/_shortw_utils.js","default":"./lib/_shortw_utils.js"},"./bls12-381":{"types":"./lib/bls12-381.d.ts","import":"./lib/esm/bls12-381.js","default":"./lib/bls12-381.js"},"./bn":{"types":"./lib/bn.d.ts","import":"./lib/esm/bn.js","default":"./lib/bn.js"},"./ed25519":{"types":"./lib/ed25519.d.ts","import":"./lib/esm/ed25519.js","default":"./lib/ed25519.js"},"./ed448":{"types":"./lib/ed448.d.ts","import":"./lib/esm/ed448.js","default":"./lib/ed448.js"},"./index":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"},"./jubjub":{"types":"./lib/jubjub.d.ts","import":"./lib/esm/jubjub.js","default":"./lib/jubjub.js"},"./p192":{"types":"./lib/p192.d.ts","import":"./lib/esm/p192.js","default":"./lib/p192.js"},"./p224":{"types":"./lib/p224.d.ts","import":"./lib/esm/p224.js","default":"./lib/p224.js"},"./p256":{"types":"./lib/p256.d.ts","import":"./lib/esm/p256.js","default":"./lib/p256.js"},"./p384":{"types":"./lib/p384.d.ts","import":"./lib/esm/p384.js","default":"./lib/p384.js"},"./p521":{"types":"./lib/p521.d.ts","import":"./lib/esm/p521.js","default":"./lib/p521.js"},"./pasta":{"types":"./lib/pasta.d.ts","import":"./lib/esm/pasta.js","default":"./lib/pasta.js"},"./secp256k1":{"types":"./lib/secp256k1.d.ts","import":"./lib/esm/secp256k1.js","default":"./lib/secp256k1.js"},"./stark":{"types":"./lib/stark.d.ts","import":"./lib/esm/stark.js","default":"./lib/stark.js"}},"keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","bls12-381","bn254","pasta","bls","nist","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"fe3491c5aae3cd1affa8e12106bd0cb6eb939e1e","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.6.4","_nodeVersion":"18.14.0","_npmVersion":"9.3.1","dist":{"shasum":"f961dec2c1c5c6d650600b596aa0c2f6373835ee","size":126817,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.6.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.6.4.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.6.4_1675981163300_0.053835420065163175"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-02-09T22:19:23.460Z","publish_time":1675981163460,"deprecated":"Upgrade to 1.0.0 or higher for audited version","_cnpm_publish_time":1675981163460},"0.6.3":{"name":"@noble/curves","version":"0.6.3","description":"Minimal, auditable JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node stark.js; node bls.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.2.0"},"devDependencies":{"@scure/base":"~1.1.1","@scure/bip32":"~1.1.5","@scure/bip39":"~1.1.1","@types/node":"18.11.3","fast-check":"3.0.0","micro-bmark":"0.3.0","micro-should":"0.4.0","prettier":"2.8.3","typescript":"4.7.3"},"main":"index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"},"./abstract/edwards":{"types":"./lib/abstract/edwards.d.ts","import":"./lib/esm/abstract/edwards.js","default":"./lib/abstract/edwards.js"},"./abstract/modular":{"types":"./lib/abstract/modular.d.ts","import":"./lib/esm/abstract/modular.js","default":"./lib/abstract/modular.js"},"./abstract/montgomery":{"types":"./lib/abstract/montgomery.d.ts","import":"./lib/esm/abstract/montgomery.js","default":"./lib/abstract/montgomery.js"},"./abstract/weierstrass":{"types":"./lib/abstract/weierstrass.d.ts","import":"./lib/esm/abstract/weierstrass.js","default":"./lib/abstract/weierstrass.js"},"./abstract/bls":{"types":"./lib/abstract/bls.d.ts","import":"./lib/esm/abstract/bls.js","default":"./lib/abstract/bls.js"},"./abstract/hash-to-curve":{"types":"./lib/abstract/hash-to-curve.d.ts","import":"./lib/esm/abstract/hash-to-curve.js","default":"./lib/abstract/hash-to-curve.js"},"./abstract/curve":{"types":"./lib/abstract/curve.d.ts","import":"./lib/esm/abstract/curve.js","default":"./lib/abstract/curve.js"},"./abstract/utils":{"types":"./lib/abstract/utils.d.ts","import":"./lib/esm/abstract/utils.js","default":"./lib/abstract/utils.js"},"./abstract/poseidon":{"types":"./lib/abstract/poseidon.d.ts","import":"./lib/esm/abstract/poseidon.js","default":"./lib/abstract/poseidon.js"},"./_shortw_utils":{"types":"./lib/_shortw_utils.d.ts","import":"./lib/esm/_shortw_utils.js","default":"./lib/_shortw_utils.js"},"./bls12-381":{"types":"./lib/bls12-381.d.ts","import":"./lib/esm/bls12-381.js","default":"./lib/bls12-381.js"},"./bn":{"types":"./lib/bn.d.ts","import":"./lib/esm/bn.js","default":"./lib/bn.js"},"./ed25519":{"types":"./lib/ed25519.d.ts","import":"./lib/esm/ed25519.js","default":"./lib/ed25519.js"},"./ed448":{"types":"./lib/ed448.d.ts","import":"./lib/esm/ed448.js","default":"./lib/ed448.js"},"./index":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"},"./jubjub":{"types":"./lib/jubjub.d.ts","import":"./lib/esm/jubjub.js","default":"./lib/jubjub.js"},"./p192":{"types":"./lib/p192.d.ts","import":"./lib/esm/p192.js","default":"./lib/p192.js"},"./p224":{"types":"./lib/p224.d.ts","import":"./lib/esm/p224.js","default":"./lib/p224.js"},"./p256":{"types":"./lib/p256.d.ts","import":"./lib/esm/p256.js","default":"./lib/p256.js"},"./p384":{"types":"./lib/p384.d.ts","import":"./lib/esm/p384.js","default":"./lib/p384.js"},"./p521":{"types":"./lib/p521.d.ts","import":"./lib/esm/p521.js","default":"./lib/p521.js"},"./pasta":{"types":"./lib/pasta.d.ts","import":"./lib/esm/pasta.js","default":"./lib/pasta.js"},"./secp256k1":{"types":"./lib/secp256k1.d.ts","import":"./lib/esm/secp256k1.js","default":"./lib/secp256k1.js"},"./stark":{"types":"./lib/stark.d.ts","import":"./lib/esm/stark.js","default":"./lib/stark.js"}},"keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","bls12-381","bn254","pasta","bls","nist","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"debb9d9709d4b2cb770b91da1b1bdb82eade7adf","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.6.3","_nodeVersion":"19.6.0","_npmVersion":"9.4.0","dist":{"shasum":"2a1651b16d5b531cd79d361e944648d6451d6297","size":126250,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.6.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.6.3.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.6.3_1675955955384_0.0027718070790494487"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-02-09T15:19:15.675Z","publish_time":1675955955675,"deprecated":"Upgrade to 1.0.0 or higher for audited version","_cnpm_publish_time":1675955955675},"0.6.2":{"name":"@noble/curves","version":"0.6.2","description":"Minimal, auditable JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node stark.js; node bls.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.1.5"},"devDependencies":{"@rollup/plugin-node-resolve":"13.3.0","@scure/base":"~1.1.1","@scure/bip32":"~1.1.1","@scure/bip39":"~1.1.0","@types/node":"18.11.3","fast-check":"3.0.0","micro-bmark":"0.3.0","micro-should":"0.4.0","prettier":"2.8.3","rollup":"2.75.5","typescript":"4.7.3"},"main":"index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"},"./abstract/edwards":{"types":"./lib/abstract/edwards.d.ts","import":"./lib/esm/abstract/edwards.js","default":"./lib/abstract/edwards.js"},"./abstract/modular":{"types":"./lib/abstract/modular.d.ts","import":"./lib/esm/abstract/modular.js","default":"./lib/abstract/modular.js"},"./abstract/montgomery":{"types":"./lib/abstract/montgomery.d.ts","import":"./lib/esm/abstract/montgomery.js","default":"./lib/abstract/montgomery.js"},"./abstract/weierstrass":{"types":"./lib/abstract/weierstrass.d.ts","import":"./lib/esm/abstract/weierstrass.js","default":"./lib/abstract/weierstrass.js"},"./abstract/bls":{"types":"./lib/abstract/bls.d.ts","import":"./lib/esm/abstract/bls.js","default":"./lib/abstract/bls.js"},"./abstract/hash-to-curve":{"types":"./lib/abstract/hash-to-curve.d.ts","import":"./lib/esm/abstract/hash-to-curve.js","default":"./lib/abstract/hash-to-curve.js"},"./abstract/curve":{"types":"./lib/abstract/curve.d.ts","import":"./lib/esm/abstract/curve.js","default":"./lib/abstract/curve.js"},"./abstract/utils":{"types":"./lib/abstract/utils.d.ts","import":"./lib/esm/abstract/utils.js","default":"./lib/abstract/utils.js"},"./abstract/poseidon":{"types":"./lib/abstract/poseidon.d.ts","import":"./lib/esm/abstract/poseidon.js","default":"./lib/abstract/poseidon.js"},"./_shortw_utils":{"types":"./lib/_shortw_utils.d.ts","import":"./lib/esm/_shortw_utils.js","default":"./lib/_shortw_utils.js"},"./bls12-381":{"types":"./lib/bls12-381.d.ts","import":"./lib/esm/bls12-381.js","default":"./lib/bls12-381.js"},"./bn":{"types":"./lib/bn.d.ts","import":"./lib/esm/bn.js","default":"./lib/bn.js"},"./ed25519":{"types":"./lib/ed25519.d.ts","import":"./lib/esm/ed25519.js","default":"./lib/ed25519.js"},"./ed448":{"types":"./lib/ed448.d.ts","import":"./lib/esm/ed448.js","default":"./lib/ed448.js"},"./index":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"},"./jubjub":{"types":"./lib/jubjub.d.ts","import":"./lib/esm/jubjub.js","default":"./lib/jubjub.js"},"./p192":{"types":"./lib/p192.d.ts","import":"./lib/esm/p192.js","default":"./lib/p192.js"},"./p224":{"types":"./lib/p224.d.ts","import":"./lib/esm/p224.js","default":"./lib/p224.js"},"./p256":{"types":"./lib/p256.d.ts","import":"./lib/esm/p256.js","default":"./lib/p256.js"},"./p384":{"types":"./lib/p384.d.ts","import":"./lib/esm/p384.js","default":"./lib/p384.js"},"./p521":{"types":"./lib/p521.d.ts","import":"./lib/esm/p521.js","default":"./lib/p521.js"},"./pasta":{"types":"./lib/pasta.d.ts","import":"./lib/esm/pasta.js","default":"./lib/pasta.js"},"./secp256k1":{"types":"./lib/secp256k1.d.ts","import":"./lib/esm/secp256k1.js","default":"./lib/secp256k1.js"},"./stark":{"types":"./lib/stark.d.ts","import":"./lib/esm/stark.js","default":"./lib/stark.js"}},"keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","bls12-381","bn254","pasta","bls","nist","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"e2a7594eaea2cf6a98e3284da7e0c0de270f03df","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.6.2","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"shasum":"7ae55672a111b5db9125be5841dc978dad7650ef","size":125175,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.6.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.6.2.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.6.2_1675063092097_0.7099646915465054"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-01-30T07:18:12.372Z","publish_time":1675063092372,"deprecated":"Upgrade to 1.0.0 or higher for audited version","_cnpm_publish_time":1675063092372},"0.6.1":{"name":"@noble/curves","version":"0.6.1","description":"Minimal, auditable JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node secp256k1.js; node curves.js; node stark.js; node bls.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.1.5"},"devDependencies":{"@rollup/plugin-node-resolve":"13.3.0","@scure/base":"~1.1.1","@scure/bip32":"~1.1.1","@scure/bip39":"~1.1.0","@types/node":"18.11.3","fast-check":"3.0.0","micro-bmark":"0.3.0","micro-should":"0.4.0","prettier":"2.8.3","rollup":"2.75.5","typescript":"4.7.3"},"main":"index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"},"./abstract/edwards":{"types":"./lib/abstract/edwards.d.ts","import":"./lib/esm/abstract/edwards.js","default":"./lib/abstract/edwards.js"},"./abstract/modular":{"types":"./lib/abstract/modular.d.ts","import":"./lib/esm/abstract/modular.js","default":"./lib/abstract/modular.js"},"./abstract/montgomery":{"types":"./lib/abstract/montgomery.d.ts","import":"./lib/esm/abstract/montgomery.js","default":"./lib/abstract/montgomery.js"},"./abstract/weierstrass":{"types":"./lib/abstract/weierstrass.d.ts","import":"./lib/esm/abstract/weierstrass.js","default":"./lib/abstract/weierstrass.js"},"./abstract/bls":{"types":"./lib/abstract/bls.d.ts","import":"./lib/esm/abstract/bls.js","default":"./lib/abstract/bls.js"},"./abstract/hash-to-curve":{"types":"./lib/abstract/hash-to-curve.d.ts","import":"./lib/esm/abstract/hash-to-curve.js","default":"./lib/abstract/hash-to-curve.js"},"./abstract/curve":{"types":"./lib/abstract/curve.d.ts","import":"./lib/esm/abstract/curve.js","default":"./lib/abstract/curve.js"},"./abstract/utils":{"types":"./lib/abstract/utils.d.ts","import":"./lib/esm/abstract/utils.js","default":"./lib/abstract/utils.js"},"./abstract/poseidon":{"types":"./lib/abstract/poseidon.d.ts","import":"./lib/esm/abstract/poseidon.js","default":"./lib/abstract/poseidon.js"},"./_shortw_utils":{"types":"./lib/_shortw_utils.d.ts","import":"./lib/esm/_shortw_utils.js","default":"./lib/_shortw_utils.js"},"./bls12-381":{"types":"./lib/bls12-381.d.ts","import":"./lib/esm/bls12-381.js","default":"./lib/bls12-381.js"},"./bn":{"types":"./lib/bn.d.ts","import":"./lib/esm/bn.js","default":"./lib/bn.js"},"./ed25519":{"types":"./lib/ed25519.d.ts","import":"./lib/esm/ed25519.js","default":"./lib/ed25519.js"},"./ed448":{"types":"./lib/ed448.d.ts","import":"./lib/esm/ed448.js","default":"./lib/ed448.js"},"./index":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"},"./jubjub":{"types":"./lib/jubjub.d.ts","import":"./lib/esm/jubjub.js","default":"./lib/jubjub.js"},"./p192":{"types":"./lib/p192.d.ts","import":"./lib/esm/p192.js","default":"./lib/p192.js"},"./p224":{"types":"./lib/p224.d.ts","import":"./lib/esm/p224.js","default":"./lib/p224.js"},"./p256":{"types":"./lib/p256.d.ts","import":"./lib/esm/p256.js","default":"./lib/p256.js"},"./p384":{"types":"./lib/p384.d.ts","import":"./lib/esm/p384.js","default":"./lib/p384.js"},"./p521":{"types":"./lib/p521.d.ts","import":"./lib/esm/p521.js","default":"./lib/p521.js"},"./pasta":{"types":"./lib/pasta.d.ts","import":"./lib/esm/pasta.js","default":"./lib/pasta.js"},"./secp256k1":{"types":"./lib/secp256k1.d.ts","import":"./lib/esm/secp256k1.js","default":"./lib/secp256k1.js"},"./stark":{"types":"./lib/stark.d.ts","import":"./lib/esm/stark.js","default":"./lib/stark.js"}},"keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","bls12-381","bn254","pasta","bls","nist","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"131f88b504bbcda37978cbc387c99ac92f00c8a8","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.6.1","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"shasum":"57b8f5b548957c88d51731a6be730be3cc112234","size":124293,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.6.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.6.1.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.6.1_1674965654771_0.7785331920217287"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-01-29T04:14:15.046Z","publish_time":1674965655046,"deprecated":"Upgrade to 1.0.0 or higher for audited version","_cnpm_publish_time":1674965655046},"0.6.0":{"name":"@noble/curves","version":"0.6.0","description":"Minimal, auditable JS implementation of elliptic curve cryptography","scripts":{"bench":"cd benchmark; node index.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.1.5"},"devDependencies":{"@rollup/plugin-node-resolve":"13.3.0","@scure/base":"~1.1.1","@scure/bip32":"~1.1.1","@scure/bip39":"~1.1.0","@types/node":"18.11.3","fast-check":"3.0.0","micro-bmark":"0.2.0","micro-should":"0.3.0","prettier":"2.8.3","rollup":"2.75.5","typescript":"4.7.3"},"main":"index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"},"./abstract/edwards":{"types":"./lib/abstract/edwards.d.ts","import":"./lib/esm/abstract/edwards.js","default":"./lib/abstract/edwards.js"},"./abstract/modular":{"types":"./lib/abstract/modular.d.ts","import":"./lib/esm/abstract/modular.js","default":"./lib/abstract/modular.js"},"./abstract/montgomery":{"types":"./lib/abstract/montgomery.d.ts","import":"./lib/esm/abstract/montgomery.js","default":"./lib/abstract/montgomery.js"},"./abstract/weierstrass":{"types":"./lib/abstract/weierstrass.d.ts","import":"./lib/esm/abstract/weierstrass.js","default":"./lib/abstract/weierstrass.js"},"./abstract/bls":{"types":"./lib/abstract/bls.d.ts","import":"./lib/esm/abstract/bls.js","default":"./lib/abstract/bls.js"},"./abstract/hash-to-curve":{"types":"./lib/abstract/hash-to-curve.d.ts","import":"./lib/esm/abstract/hash-to-curve.js","default":"./lib/abstract/hash-to-curve.js"},"./abstract/curve":{"types":"./lib/abstract/curve.d.ts","import":"./lib/esm/abstract/curve.js","default":"./lib/abstract/curve.js"},"./abstract/utils":{"types":"./lib/abstract/utils.d.ts","import":"./lib/esm/abstract/utils.js","default":"./lib/abstract/utils.js"},"./abstract/poseidon":{"types":"./lib/abstract/poseidon.d.ts","import":"./lib/esm/abstract/poseidon.js","default":"./lib/abstract/poseidon.js"},"./_shortw_utils":{"types":"./lib/_shortw_utils.d.ts","import":"./lib/esm/_shortw_utils.js","default":"./lib/_shortw_utils.js"},"./bls12-381":{"types":"./lib/bls12-381.d.ts","import":"./lib/esm/bls12-381.js","default":"./lib/bls12-381.js"},"./bn":{"types":"./lib/bn.d.ts","import":"./lib/esm/bn.js","default":"./lib/bn.js"},"./ed25519":{"types":"./lib/ed25519.d.ts","import":"./lib/esm/ed25519.js","default":"./lib/ed25519.js"},"./ed448":{"types":"./lib/ed448.d.ts","import":"./lib/esm/ed448.js","default":"./lib/ed448.js"},"./index":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"},"./jubjub":{"types":"./lib/jubjub.d.ts","import":"./lib/esm/jubjub.js","default":"./lib/jubjub.js"},"./p192":{"types":"./lib/p192.d.ts","import":"./lib/esm/p192.js","default":"./lib/p192.js"},"./p224":{"types":"./lib/p224.d.ts","import":"./lib/esm/p224.js","default":"./lib/p224.js"},"./p256":{"types":"./lib/p256.d.ts","import":"./lib/esm/p256.js","default":"./lib/p256.js"},"./p384":{"types":"./lib/p384.d.ts","import":"./lib/esm/p384.js","default":"./lib/p384.js"},"./p521":{"types":"./lib/p521.d.ts","import":"./lib/esm/p521.js","default":"./lib/p521.js"},"./pasta":{"types":"./lib/pasta.d.ts","import":"./lib/esm/pasta.js","default":"./lib/pasta.js"},"./secp256k1":{"types":"./lib/secp256k1.d.ts","import":"./lib/esm/secp256k1.js","default":"./lib/secp256k1.js"},"./stark":{"types":"./lib/stark.d.ts","import":"./lib/esm/stark.js","default":"./lib/stark.js"}},"keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","bls12-381","bn254","pasta","bls","nist","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"79100c2d47ccb4fa35197fe13ad34dbfef22af97","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.6.0","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"shasum":"6562b3c2647d9f50cd5cce1ac77c1827db768dda","size":124777,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.6.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.6.0_1674711082670_0.5079910070166749"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-01-26T05:31:22.925Z","publish_time":1674711082925,"deprecated":"Upgrade to 1.0.0 or higher for audited version","_cnpm_publish_time":1674711082925},"0.5.2":{"name":"@noble/curves","version":"0.5.2","description":"Minimal, auditable JS implementation of elliptic curve cryptography","scripts":{"bench":"node benchmark/index.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.1.5"},"devDependencies":{"@rollup/plugin-node-resolve":"13.3.0","@scure/base":"~1.1.1","@scure/bip32":"~1.1.1","@scure/bip39":"~1.1.0","@types/node":"18.11.3","fast-check":"3.0.0","micro-bmark":"0.2.0","micro-should":"0.3.0","prettier":"2.6.2","rollup":"2.75.5","typescript":"4.7.3"},"main":"index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"},"./abstract/edwards":{"types":"./lib/abstract/edwards.d.ts","import":"./lib/esm/abstract/edwards.js","default":"./lib/abstract/edwards.js"},"./abstract/modular":{"types":"./lib/abstract/modular.d.ts","import":"./lib/esm/abstract/modular.js","default":"./lib/abstract/modular.js"},"./abstract/montgomery":{"types":"./lib/abstract/montgomery.d.ts","import":"./lib/esm/abstract/montgomery.js","default":"./lib/abstract/montgomery.js"},"./abstract/weierstrass":{"types":"./lib/abstract/weierstrass.d.ts","import":"./lib/esm/abstract/weierstrass.js","default":"./lib/abstract/weierstrass.js"},"./abstract/bls":{"types":"./lib/abstract/bls.d.ts","import":"./lib/esm/abstract/bls.js","default":"./lib/abstract/bls.js"},"./abstract/hash-to-curve":{"types":"./lib/abstract/hash-to-curve.d.ts","import":"./lib/esm/abstract/hash-to-curve.js","default":"./lib/abstract/hash-to-curve.js"},"./abstract/group":{"types":"./lib/abstract/group.d.ts","import":"./lib/esm/abstract/group.js","default":"./lib/abstract/group.js"},"./abstract/utils":{"types":"./lib/abstract/utils.d.ts","import":"./lib/esm/abstract/utils.js","default":"./lib/abstract/utils.js"},"./_shortw_utils":{"types":"./lib/_shortw_utils.d.ts","import":"./lib/esm/_shortw_utils.js","default":"./lib/_shortw_utils.js"},"./bls12-381":{"types":"./lib/bls12-381.d.ts","import":"./lib/esm/bls12-381.js","default":"./lib/bls12-381.js"},"./bn":{"types":"./lib/bn.d.ts","import":"./lib/esm/bn.js","default":"./lib/bn.js"},"./ed25519":{"types":"./lib/ed25519.d.ts","import":"./lib/esm/ed25519.js","default":"./lib/ed25519.js"},"./ed448":{"types":"./lib/ed448.d.ts","import":"./lib/esm/ed448.js","default":"./lib/ed448.js"},"./index":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"},"./jubjub":{"types":"./lib/jubjub.d.ts","import":"./lib/esm/jubjub.js","default":"./lib/jubjub.js"},"./p192":{"types":"./lib/p192.d.ts","import":"./lib/esm/p192.js","default":"./lib/p192.js"},"./p224":{"types":"./lib/p224.d.ts","import":"./lib/esm/p224.js","default":"./lib/p224.js"},"./p256":{"types":"./lib/p256.d.ts","import":"./lib/esm/p256.js","default":"./lib/p256.js"},"./p384":{"types":"./lib/p384.d.ts","import":"./lib/esm/p384.js","default":"./lib/p384.js"},"./p521":{"types":"./lib/p521.d.ts","import":"./lib/esm/p521.js","default":"./lib/p521.js"},"./pasta":{"types":"./lib/pasta.d.ts","import":"./lib/esm/pasta.js","default":"./lib/pasta.js"},"./secp256k1":{"types":"./lib/secp256k1.d.ts","import":"./lib/esm/secp256k1.js","default":"./lib/secp256k1.js"},"./stark":{"types":"./lib/stark.d.ts","import":"./lib/esm/stark.js","default":"./lib/stark.js"}},"keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","bls12-381","bn254","pasta","bls","nist","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"b9482bb17d548cdfb5e8af2011804dc1c64d9518","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.5.2","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"shasum":"77aaecc6575d34ecfa1144f7ce47a91b2b242f6c","size":123922,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.5.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.5.2.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.5.2_1673623439455_0.5683587548504083"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-01-13T15:23:59.708Z","publish_time":1673623439708,"deprecated":"Upgrade to 1.0.0 or higher for audited version","_cnpm_publish_time":1673623439708},"0.5.1":{"name":"@noble/curves","version":"0.5.1","description":"Minimal, auditable JS implementation of elliptic curve cryptography","scripts":{"bench":"node benchmark/index.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.1.5"},"devDependencies":{"@rollup/plugin-node-resolve":"13.3.0","@scure/base":"~1.1.1","@scure/bip32":"~1.1.1","@scure/bip39":"~1.1.0","@types/node":"18.11.3","fast-check":"3.0.0","micro-bmark":"0.2.0","micro-should":"0.2.0","prettier":"2.6.2","rollup":"2.75.5","typescript":"4.7.3"},"main":"index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"},"./abstract/edwards":{"types":"./lib/abstract/edwards.d.ts","import":"./lib/esm/abstract/edwards.js","default":"./lib/abstract/edwards.js"},"./abstract/modular":{"types":"./lib/abstract/modular.d.ts","import":"./lib/esm/abstract/modular.js","default":"./lib/abstract/modular.js"},"./abstract/montgomery":{"types":"./lib/abstract/montgomery.d.ts","import":"./lib/esm/abstract/montgomery.js","default":"./lib/abstract/montgomery.js"},"./abstract/weierstrass":{"types":"./lib/abstract/weierstrass.d.ts","import":"./lib/esm/abstract/weierstrass.js","default":"./lib/abstract/weierstrass.js"},"./abstract/bls":{"types":"./lib/abstract/bls.d.ts","import":"./lib/esm/abstract/bls.js","default":"./lib/abstract/bls.js"},"./abstract/hash-to-curve":{"types":"./lib/abstract/hash-to-curve.d.ts","import":"./lib/esm/abstract/hash-to-curve.js","default":"./lib/abstract/hash-to-curve.js"},"./abstract/group":{"types":"./lib/abstract/group.d.ts","import":"./lib/esm/abstract/group.js","default":"./lib/abstract/group.js"},"./abstract/utils":{"types":"./lib/abstract/utils.d.ts","import":"./lib/esm/abstract/utils.js","default":"./lib/abstract/utils.js"},"./_shortw_utils":{"types":"./lib/_shortw_utils.d.ts","import":"./lib/esm/_shortw_utils.js","default":"./lib/_shortw_utils.js"},"./bls12-381":{"types":"./lib/bls12-381.d.ts","import":"./lib/esm/bls12-381.js","default":"./lib/bls12-381.js"},"./bn":{"types":"./lib/bn.d.ts","import":"./lib/esm/bn.js","default":"./lib/bn.js"},"./ed25519":{"types":"./lib/ed25519.d.ts","import":"./lib/esm/ed25519.js","default":"./lib/ed25519.js"},"./ed448":{"types":"./lib/ed448.d.ts","import":"./lib/esm/ed448.js","default":"./lib/ed448.js"},"./index":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"},"./jubjub":{"types":"./lib/jubjub.d.ts","import":"./lib/esm/jubjub.js","default":"./lib/jubjub.js"},"./p192":{"types":"./lib/p192.d.ts","import":"./lib/esm/p192.js","default":"./lib/p192.js"},"./p224":{"types":"./lib/p224.d.ts","import":"./lib/esm/p224.js","default":"./lib/p224.js"},"./p256":{"types":"./lib/p256.d.ts","import":"./lib/esm/p256.js","default":"./lib/p256.js"},"./p384":{"types":"./lib/p384.d.ts","import":"./lib/esm/p384.js","default":"./lib/p384.js"},"./p521":{"types":"./lib/p521.d.ts","import":"./lib/esm/p521.js","default":"./lib/p521.js"},"./pasta":{"types":"./lib/pasta.d.ts","import":"./lib/esm/pasta.js","default":"./lib/pasta.js"},"./secp256k1":{"types":"./lib/secp256k1.d.ts","import":"./lib/esm/secp256k1.js","default":"./lib/secp256k1.js"},"./stark":{"types":"./lib/stark.d.ts","import":"./lib/esm/stark.js","default":"./lib/stark.js"}},"keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","bls12-381","bn254","pasta","bls","nist","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"2bd5e9ac16e3f63dbee5a6b0055ff77c4d8618f0","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.5.1","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"shasum":"76d7e9a7a1bc912955c2cb0e116ae9ee00f22b14","size":122445,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.5.1.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.5.1_1672479074788_0.19673199410577924"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-12-31T09:31:20.784Z","deprecated":"Upgrade to 1.0.0 or higher for audited version","publish_time":1672479074989,"_cnpm_publish_time":1672479074989},"0.5.0":{"name":"@noble/curves","version":"0.5.0","description":"Minimal, auditable JS implementation of elliptic curve cryptography","scripts":{"bench":"node benchmark/index.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --check 'src/**/*.{js,ts}' 'test/*.js'","format":"prettier --write 'src/**/*.{js,ts}' 'test/*.js'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.1.5"},"devDependencies":{"@rollup/plugin-node-resolve":"13.3.0","@scure/base":"~1.1.1","@scure/bip32":"~1.1.1","@scure/bip39":"~1.1.0","@types/node":"18.11.3","fast-check":"3.0.0","micro-bmark":"0.2.0","micro-should":"0.2.0","prettier":"2.6.2","rollup":"2.75.5","typescript":"4.7.3"},"main":"index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"},"./abstract/edwards":{"types":"./lib/abstract/edwards.d.ts","import":"./lib/esm/abstract/edwards.js","default":"./lib/abstract/edwards.js"},"./abstract/modular":{"types":"./lib/abstract/modular.d.ts","import":"./lib/esm/abstract/modular.js","default":"./lib/abstract/modular.js"},"./abstract/montgomery":{"types":"./lib/abstract/montgomery.d.ts","import":"./lib/esm/abstract/montgomery.js","default":"./lib/abstract/montgomery.js"},"./abstract/weierstrass":{"types":"./lib/abstract/weierstrass.d.ts","import":"./lib/esm/abstract/weierstrass.js","default":"./lib/abstract/weierstrass.js"},"./abstract/bls":{"types":"./lib/abstract/bls.d.ts","import":"./lib/esm/abstract/bls.js","default":"./lib/abstract/bls.js"},"./abstract/hash-to-curve":{"types":"./lib/abstract/hash-to-curve.d.ts","import":"./lib/esm/abstract/hash-to-curve.js","default":"./lib/abstract/hash-to-curve.js"},"./abstract/group":{"types":"./lib/abstract/group.d.ts","import":"./lib/esm/abstract/group.js","default":"./lib/abstract/group.js"},"./abstract/utils":{"types":"./lib/abstract/utils.d.ts","import":"./lib/esm/abstract/utils.js","default":"./lib/abstract/utils.js"},"./_shortw_utils":{"types":"./lib/_shortw_utils.d.ts","import":"./lib/esm/_shortw_utils.js","default":"./lib/_shortw_utils.js"},"./bls12-381":{"types":"./lib/bls12-381.d.ts","import":"./lib/esm/bls12-381.js","default":"./lib/bls12-381.js"},"./bn":{"types":"./lib/bn.d.ts","import":"./lib/esm/bn.js","default":"./lib/bn.js"},"./ed25519":{"types":"./lib/ed25519.d.ts","import":"./lib/esm/ed25519.js","default":"./lib/ed25519.js"},"./ed448":{"types":"./lib/ed448.d.ts","import":"./lib/esm/ed448.js","default":"./lib/ed448.js"},"./index":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"},"./jubjub":{"types":"./lib/jubjub.d.ts","import":"./lib/esm/jubjub.js","default":"./lib/jubjub.js"},"./p192":{"types":"./lib/p192.d.ts","import":"./lib/esm/p192.js","default":"./lib/p192.js"},"./p224":{"types":"./lib/p224.d.ts","import":"./lib/esm/p224.js","default":"./lib/p224.js"},"./p256":{"types":"./lib/p256.d.ts","import":"./lib/esm/p256.js","default":"./lib/p256.js"},"./p384":{"types":"./lib/p384.d.ts","import":"./lib/esm/p384.js","default":"./lib/p384.js"},"./p521":{"types":"./lib/p521.d.ts","import":"./lib/esm/p521.js","default":"./lib/p521.js"},"./pasta":{"types":"./lib/pasta.d.ts","import":"./lib/esm/pasta.js","default":"./lib/pasta.js"},"./secp256k1":{"types":"./lib/secp256k1.d.ts","import":"./lib/esm/secp256k1.js","default":"./lib/secp256k1.js"},"./stark":{"types":"./lib/stark.d.ts","import":"./lib/esm/stark.js","default":"./lib/stark.js"}},"keywords":["elliptic","curve","cryptography","weierstrass","montgomery","edwards","p256","p384","p521","secp256r1","secp256k1","ed25519","ed448","bls12-381","bn254","pasta","bls","nist","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"65d7256b9e8ecffdf57bfe61b65158a21ac348c9","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.5.0","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"shasum":"d747565a3cb1aa002921dcb6b3680f502b6333e8","size":118766,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.5.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.5.0_1672211129208_0.009068548878335747"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-12-28T07:06:03.079Z","deprecated":"Upgrade to 1.0.0 or higher for audited version","publish_time":1672211129384,"_cnpm_publish_time":1672211129384},"0.4.0":{"name":"@noble/curves","version":"0.4.0","description":"Minimal, zero-dependency JS implementation of elliptic curve cryptography","scripts":{"bench":"node curve-definitions/benchmark/index.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --check 'src/**/*.{js,ts}' 'curve-definitions/src/**/*.{js,ts}'","format":"prettier --write 'src/**/*.{js,ts}' 'curve-definitions/src/**/*.{js,ts}'","test":"cd curve-definitions; node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","devDependencies":{"@rollup/plugin-node-resolve":"13.3.0","micro-bmark":"0.2.0","micro-should":"0.2.0","prettier":"2.6.2","rollup":"2.75.5","typescript":"4.7.3"},"main":"index.js","exports":{"./edwards":{"types":"./lib/edwards.d.ts","import":"./lib/esm/edwards.js","default":"./lib/edwards.js"},"./modular":{"types":"./lib/modular.d.ts","import":"./lib/esm/modular.js","default":"./lib/modular.js"},"./montgomery":{"types":"./lib/montgomery.d.ts","import":"./lib/esm/montgomery.js","default":"./lib/montgomery.js"},"./weierstrass":{"types":"./lib/weierstrass.d.ts","import":"./lib/esm/weierstrass.js","default":"./lib/weierstrass.js"},"./bls":{"types":"./lib/bls.d.ts","import":"./lib/esm/bls.js","default":"./lib/bls.js"},"./hashToCurve":{"types":"./lib/hashToCurve.d.ts","import":"./lib/esm/hashToCurve.js","default":"./lib/hashToCurve.js"},"./group":{"types":"./lib/group.d.ts","import":"./lib/esm/group.js","default":"./lib/group.js"},"./utils":{"types":"./lib/utils.d.ts","import":"./lib/esm/utils.js","default":"./lib/utils.js"}},"keywords":["elliptic","curve","cryptography","hyperelliptic","p256","p384","p521","nist","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"785d74edb9af28705375c3f48da421be51620360","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.4.0","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"shasum":"203748a0f00cd0d686cc3f3430a9d59fc5367b48","size":55772,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.4.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.4.0_1671853575869_0.6827956395989985"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-12-24T03:46:21.725Z","deprecated":"Upgrade to 1.0.0 or higher for audited version","publish_time":1671853576135,"_cnpm_publish_time":1671853576135},"0.3.2":{"name":"@noble/curves","version":"0.3.2","description":"Minimal, zero-dependency JS implementation of elliptic curve cryptography","scripts":{"bench":"node benchmark/index.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --check 'src/**/*.{js,ts}'","format":"prettier --write 'src/**/*.{js,ts}'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.1.5"},"devDependencies":{"@rollup/plugin-node-resolve":"13.3.0","@scure/base":"^1.1.1","@scure/bip32":"^1.1.1","@scure/bip39":"^1.1.0","fast-check":"^3.4.0","micro-bmark":"0.2.0","micro-should":"^0.2.0","prettier":"^2.6.2","rollup":"2.75.5","typescript":"4.7.3"},"main":"lib/index.js","module":"lib/index.js","browser":{"crypto":false,"./crypto":"./lib/cryptoBrowser.js"},"type":"module","keywords":["elliptic","curve","cryptography","hyperelliptic","weierstrass","edwards","montgomery","secp256k1","ed25519","ed448","p256","p384","p521","nist","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"9f72c4fab84d104dfc8affcc8a005b12b5f85ce8","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.3.2","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"shasum":"f999dd5090e6e5745794f39f806161de04c06acd","size":52756,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.3.2.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.3.2_1671593925879_0.9120366137243736"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-12-21T03:38:59.484Z","deprecated":"Upgrade to 1.0.0 or higher for audited version","publish_time":1671593926106,"_cnpm_publish_time":1671593926106},"0.3.1":{"name":"@noble/curves","version":"0.3.1","description":"Minimal, zero-dependency JS implementation of elliptic curve cryptography","scripts":{"bench":"node benchmark/index.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --check 'src/**/*.{js,ts}'","format":"prettier --write 'src/**/*.{js,ts}'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.1.5"},"devDependencies":{"@rollup/plugin-node-resolve":"13.3.0","@scure/base":"^1.1.1","@scure/bip32":"^1.1.1","@scure/bip39":"^1.1.0","fast-check":"^3.4.0","micro-bmark":"0.2.0","micro-should":"^0.2.0","prettier":"^2.6.2","rollup":"2.75.5","typescript":"4.7.3"},"main":"index.js","exports":{"./crypto":{"types":"./lib/crypto.d.ts","browser":{"import":"./lib/esm/cryptoBrowser.js","default":"./lib/cryptoBrowser.js"},"import":"./lib/esm/crypto.js","default":"./lib/crypto.js"},"./edwards":{"types":"./lib/edwards.d.ts","import":"./lib/esm/edwards.js","default":"./lib/edwards.js"},"./modular":{"types":"./lib/modular.d.ts","import":"./lib/esm/modular.js","default":"./lib/modular.js"},"./montgomery":{"types":"./lib/montgomery.d.ts","import":"./lib/esm/montgomery.js","default":"./lib/montgomery.js"},"./weierstrass":{"types":"./lib/weierstrass.d.ts","import":"./lib/esm/weierstrass.js","default":"./lib/weierstrass.js"},"./utils":{"types":"./lib/utils.d.ts","import":"./lib/esm/utils.js","default":"./lib/utils.js"},"./definitions/secp256k1":{"types":"./lib/definitions/secp256k1.d.ts","import":"./lib/esm/definitions/secp256k1.js","default":"./lib/definitions/secp256k1.js"},"./definitions/ed25519":{"types":"./lib/definitions/ed25519.d.ts","import":"./lib/esm/definitions/ed25519.js","default":"./lib/definitions/ed25519.js"}},"browser":{"crypto":false,"./crypto":"./cryptoBrowser.js"},"keywords":["elliptic","curve","cryptography","hyperelliptic","weierstrass","edwards","montgomery","secp256k1","ed25519","ed448","p256","p384","p521","nist","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"9f72c4fab84d104dfc8affcc8a005b12b5f85ce8","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.3.1","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"shasum":"5fed84f5112e4adc04156a950470128953701780","size":68645,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.3.1.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.3.1_1671593126610_0.4287182480681515"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-12-21T03:27:53.274Z","deprecated":"Upgrade to 1.0.0 or higher for audited version","publish_time":1671593126792,"_cnpm_publish_time":1671593126792},"0.3.0":{"name":"@noble/curves","version":"0.3.0","description":"Minimal, zero-dependency JS implementation of elliptic curve cryptography","scripts":{"bench":"node benchmark/index.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --check 'src/**/*.{js,ts}'","format":"prettier --write 'src/**/*.{js,ts}'","test":"node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","dependencies":{"@noble/hashes":"1.1.5"},"devDependencies":{"@rollup/plugin-node-resolve":"13.3.0","@scure/base":"^1.1.1","@scure/bip32":"^1.1.1","@scure/bip39":"^1.1.0","fast-check":"^3.4.0","micro-bmark":"0.2.0","micro-should":"^0.2.0","prettier":"^2.6.2","rollup":"2.75.5","typescript":"4.7.3"},"main":"index.js","exports":{"./crypto":{"types":"./lib/crypto.d.ts","browser":{"import":"./lib/esm/cryptoBrowser.js","default":"./lib/cryptoBrowser.js"},"import":"./lib/esm/crypto.js","default":"./lib/crypto.js"},"./edwards":{"types":"./lib/edwards.d.ts","import":"./lib/esm/edwards.js","default":"./lib/edwards.js"},"./modular":{"types":"./lib/modular.d.ts","import":"./lib/esm/modular.js","default":"./lib/modular.js"},"./montgomery":{"types":"./lib/montgomery.d.ts","import":"./lib/esm/montgomery.js","default":"./lib/montgomery.js"},"./weierstrass":{"types":"./lib/weierstrass.d.ts","import":"./lib/esm/weierstrass.js","default":"./lib/weierstrass.js"},"./utils":{"types":"./lib/utils.d.ts","import":"./lib/esm/utils.js","default":"./lib/utils.js"}},"browser":{"crypto":false,"./crypto":"./cryptoBrowser.js"},"keywords":["elliptic","curve","cryptography","hyperelliptic","weierstrass","edwards","montgomery","secp256k1","ed25519","ed448","p256","p384","p521","nist","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"05b2b548ce9ad8c5ff71dbd5f83505fea64216cf","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.3.0","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"shasum":"94bac3da3f37613e620c1e345917ec629ed0b1e4","size":68648,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.3.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.3.0_1671591551109_0.9649619152068414"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-12-21T03:06:36.883Z","deprecated":"Upgrade to 1.0.0 or higher for audited version","publish_time":1671591551340,"_cnpm_publish_time":1671591551340},"0.2.1":{"name":"@noble/curves","version":"0.2.1","description":"Minimal, zero-dependency JS implementation of elliptic curve cryptography","scripts":{"bench":"node curve-definitions/benchmark/index.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --check 'src/**/*.{js,ts}' 'curve-definitions/src/**/*.{js,ts}'","format":"prettier --write 'src/**/*.{js,ts}' 'curve-definitions/src/**/*.{js,ts}'","test":"cd curve-definitions; node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","devDependencies":{"@rollup/plugin-node-resolve":"13.3.0","micro-bmark":"0.2.0","micro-should":"0.2.0","prettier":"2.6.2","rollup":"2.75.5","typescript":"4.7.3"},"main":"index.js","exports":{"./edwards":{"types":"./lib/edwards.d.ts","import":"./lib/esm/edwards.js","default":"./lib/edwards.js"},"./modular":{"types":"./lib/modular.d.ts","import":"./lib/esm/modular.js","default":"./lib/modular.js"},"./montgomery":{"types":"./lib/montgomery.d.ts","import":"./lib/esm/montgomery.js","default":"./lib/montgomery.js"},"./weierstrass":{"types":"./lib/weierstrass.d.ts","import":"./lib/esm/weierstrass.js","default":"./lib/weierstrass.js"},"./utils":{"types":"./lib/utils.d.ts","import":"./lib/esm/utils.js","default":"./lib/utils.js"}},"keywords":["elliptic","curve","cryptography","hyperelliptic","weierstrass","edwards","montgomery","secp256k1","ed25519","ed448","p256","p384","p521","nist","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"dd7b48ac71201a9f3352baa830dec0c260d3572a","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.2.1","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"shasum":"593393f3bf27b360e712c7bc684dba703b476f12","size":45133,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.2.1.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.2.1_1671545093383_0.6382507897080163"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-12-20T14:07:57.619Z","deprecated":"Upgrade to 1.0.0 or higher for audited version","publish_time":1671545093588,"_cnpm_publish_time":1671545093588},"0.2.0":{"name":"@noble/curves","version":"0.2.0","description":"Minimal, zero-dependency JS implementation of elliptic curve cryptography","scripts":{"bench":"node curve-definitions/benchmark/index.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --check 'src/**/*.{js,ts}' 'curve-definitions/src/**/*.{js,ts}'","format":"prettier --write 'src/**/*.{js,ts}' 'curve-definitions/src/**/*.{js,ts}'","test":"cd curve-definitions; node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","devDependencies":{"@rollup/plugin-node-resolve":"13.3.0","micro-bmark":"0.2.0","micro-should":"0.2.0","prettier":"2.6.2","rollup":"2.75.5","typescript":"4.7.3"},"main":"index.js","exports":{"./edwards":{"types":"./lib/edwards.d.ts","import":"./lib/esm/edwards.js","default":"./lib/edwards.js"},"./modular":{"types":"./lib/modular.d.ts","import":"./lib/esm/modular.js","default":"./lib/modular.js"},"./montgomery":{"types":"./lib/montgomery.d.ts","import":"./lib/esm/montgomery.js","default":"./lib/montgomery.js"},"./weierstrass":{"types":"./lib/weierstrass.d.ts","import":"./lib/esm/weierstrass.js","default":"./lib/weierstrass.js"},"./utils":{"types":"./lib/utils.d.ts","import":"./lib/esm/utils.js","default":"./lib/utils.js"}},"keywords":["elliptic","curve","cryptography","hyperelliptic","weierstrass","edwards","montgomery","secp256k1","ed25519","ed448","p256","p384","p521","nist","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"fbf85ce7323b50bf716b8af0cdd34954df00b5a9","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.2.0","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"shasum":"ed7e5a88efd73eff7fb0d1673b9dd9ed7293cf82","size":42303,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.2.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.2.0_1671140425694_0.2791403589327166"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-12-15T21:49:07.097Z","deprecated":"Upgrade to 1.0.0 or higher for audited version","publish_time":1671140425923,"_cnpm_publish_time":1671140425923},"0.1.0":{"name":"@noble/curves","version":"0.1.0","description":"Minimal, zero-dependency JS implementation of elliptic curve cryptography","scripts":{"bench":"node test/benchmark/index.js","build":"tsc && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --check 'src/**/*.{js,ts}' 'curve-definitions/src/**/*.{js,ts}'","format":"prettier --write 'src/**/*.{js,ts}' 'curve-definitions/src/**/*.{js,ts}'","test":"cd curve-definitions; node test/index.test.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-curves.git"},"license":"MIT","devDependencies":{"@rollup/plugin-node-resolve":"13.3.0","micro-bmark":"0.2.0","micro-should":"0.2.0","prettier":"2.6.2","rollup":"2.75.5","typescript":"4.7.3"},"main":"index.js","exports":{"./modular":{"types":"./lib/modular.d.ts","import":"./lib/esm/modular.js","default":"./lib/modular.js"},"./shortw":{"types":"./lib/shortw.d.ts","import":"./lib/esm/shortw.js","default":"./lib/shortw.js"},"./utils":{"types":"./lib/utils.d.ts","import":"./lib/esm/utils.js","default":"./lib/utils.js"}},"keywords":["elliptic","curve","cryptography","hyperelliptic","p256","p384","p521","nist","weierstrass","edwards","montgomery","hashes","ecc","ecdsa","eddsa","schnorr"],"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"a20a357225b2359534644663f11a70f19653fae9","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"_id":"@noble/curves@0.1.0","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"shasum":"823fbfdf0b5248a05369dd1bdd8d05e9a8395c57","size":30639,"noattachment":false,"key":"/@noble/curves/-/@noble/curves-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/curves/download/@noble/curves-0.1.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/curves_0.1.0_1670174460767_0.8463830599949012"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-12-04T17:21:06.226Z","deprecated":"Upgrade to 1.0.0 or higher for audited version","publish_time":1670174460969,"_cnpm_publish_time":1670174460969}},"readme":"# noble-curves\n\nAudited & minimal JS implementation of elliptic curve cryptography.\n\n- ???? [**Audited**](#security) by independent security firms\n- ???? Tree-shakeable: unused code is excluded from your builds\n- ???? Fast: hand-optimized for caveats of JS engines\n- ???? Reliable: cross-library / wycheproof tests and fuzzing ensure correctness\n- ➰ Weierstrass, Edwards, Montgomery curves; ECDSA, EdDSA, Schnorr, BLS signatures\n- ✍️ ECDH, hash-to-curve, OPRF, Poseidon ZK-friendly hash\n- ???? Non-repudiation (SUF-CMA, SBS) & consensus-friendliness (ZIP215) in ed25519, ed448\n- ???? Optional, friendly wrapper over native WebCrypto\n- ???? 29KB (gzipped) including bundled hashes, 11KB for single-curve build\n\nCurves have 5kb sister projects\n[secp256k1](https://github.com/paulmillr/noble-secp256k1) & [ed25519](https://github.com/paulmillr/noble-ed25519).\nThey have smaller attack surface, but less features.\n\nTake a glance at [GitHub Discussions](https://github.com/paulmillr/noble-curves/discussions) for questions and support.\n\n### This library belongs to _noble_ cryptography\n\n> **noble cryptography** — high-security, easily auditable set of contained cryptographic libraries and tools.\n\n- Zero or minimal dependencies\n- Highly readable TypeScript / JS code\n- PGP-signed releases and transparent NPM builds\n- All libraries:\n  [ciphers](https://github.com/paulmillr/noble-ciphers),\n  [curves](https://github.com/paulmillr/noble-curves),\n  [hashes](https://github.com/paulmillr/noble-hashes),\n  [post-quantum](https://github.com/paulmillr/noble-post-quantum),\n  5kb [secp256k1](https://github.com/paulmillr/noble-secp256k1) /\n  [ed25519](https://github.com/paulmillr/noble-ed25519)\n- [Check out homepage](https://paulmillr.com/noble/)\n  for reading resources, documentation and apps built with noble\n\n## Usage\n\n> `npm install @noble/curves`\n\n> `deno add jsr:@noble/curves`\n\nWe support all major platforms and runtimes.\nFor React Native, you may need a [polyfill for getRandomValues](https://github.com/LinusU/react-native-get-random-values).\nA standalone file [noble-curves.js](https://github.com/paulmillr/noble-curves/releases) is also available.\n\n```ts\n// import * from '@noble/curves'; // Error: use sub-imports, to ensure small app size\nimport { secp256k1, schnorr } from '@noble/curves/secp256k1.js';\nimport { ed25519, ed25519ph, ed25519ctx, x25519, ristretto255 } from '@noble/curves/ed25519.js';\nimport { ed448, ed448ph, x448, decaf448 } from '@noble/curves/ed448.js';\nimport { p256, p384, p521 } from '@noble/curves/nist.js';\nimport { bls12_381 } from '@noble/curves/bls12-381.js';\nimport { bn254 } from '@noble/curves/bn254.js';\nimport { jubjub, babyjubjub, brainpoolP256r1, brainpoolP384r1, brainpoolP512r1 } from '@noble/curves/misc.js';\n\n// hash-to-curve\nimport { secp256k1_hasher } from '@noble/curves/secp256k1.js';\nimport { p256_hasher, p384_hasher, p521_hasher } from '@noble/curves/nist.js';\nimport { ristretto255_hasher } from '@noble/curves/ed25519.js';\nimport { decaf448_hasher } from '@noble/curves/ed448.js';\n\n// OPRFs\nimport { p256_oprf, p384_oprf, p521_oprf } from '@noble/curves/nist.js';\nimport { ristretto255_oprf } from '@noble/curves/ed25519.js';\nimport { decaf448_oprf } from '@noble/curves/ed448.js';\n\n// utils\nimport { bytesToHex, hexToBytes, concatBytes } from '@noble/curves/abstract/utils.js';\nimport { Field } from '@noble/curves/abstract/modular.js';\nimport { weierstrass, ecdsa } from '@noble/curves/abstract/weierstrass.js';\nimport { edwards, eddsa } from '@noble/curves/abstract/edwards.js';\nimport { poseidon, poseidonSponge } from '@noble/curves/abstract/poseidon.js';\nimport { FFT, poly } from '@noble/curves/abstract/fft.js';\n```\n\n- Examples\n  - [ECDSA, EdDSA, Schnorr signatures](#ecdsa-eddsa-schnorr-signatures)\n    - [secp256k1, p256, p384, p521, ed25519, ed448, brainpool](#secp256k1-p256-p384-p521-ed25519-ed448-brainpool)\n    - [ristretto255, decaf448](#ristretto255-decaf448)\n    - [Prehashed signing](#prehashed-signing)\n    - [Hedged ECDSA with noise](#hedged-ecdsa-with-noise)\n    - [Consensus-friendliness vs e-voting](#consensus-friendliness-vs-e-voting)\n  - [ECDH: Diffie-Hellman shared secrets](#ecdh-diffie-hellman-shared-secrets)\n  - [webcrypto: Friendly wrapper](#webcrypto-friendly-wrapper)\n  - [BLS signatures, bls12-381, bn254 aka alt\\_bn128](#bls-signatures-bls12-381-bn254-aka-alt_bn128)\n  - [Hashing to curve points](#hash-to-curve-hashing-to-curve-points)\n  - [OPRFs](#oprfs)\n  - [Poseidon hash](#poseidon-poseidon-hash)\n  - [Fast Fourier Transform](#fft-fast-fourier-transform)\n  - [utils](#utils-byte-shuffling-conversion)\n- [Internals](#internals)\n  - [Elliptic curve Point math](#elliptic-curve-point-math)\n  - [modular: Modular arithmetics \\& finite fields](#modular-modular-arithmetics--finite-fields)\n  - [weierstrass: Custom Weierstrass curve](#weierstrass-custom-weierstrass-curve)\n  - [edwards: Custom Edwards curve](#edwards-custom-edwards-curve)\n  - [Custom ECDSA instance](#custom-ecdsa-instance)\n- [Security](#security)\n- [Speed](#speed)\n- [Contributing & testing](#contributing--testing)\n- [Upgrading](#upgrading)\n\n### ECDSA, EdDSA, Schnorr signatures\n\n#### secp256k1, p256, p384, p521, ed25519, ed448, brainpool\n\n```js\nimport { secp256k1, schnorr } from '@noble/curves/secp256k1.js';\nimport { p256, p384, p521 } from '@noble/curves/nist.js';\nimport { ed25519 } from '@noble/curves/ed25519.js';\nimport { ed448 } from '@noble/curves/ed448.js';\nimport { brainpoolP256r1, brainpoolP384r1, brainpoolP512r1 } from '@noble/curves/misc.js';\nfor (const curve of [\n  secp256k1, schnorr,\n  p256, p384, p521,\n  ed25519, ed448,\n  brainpoolP256r1, brainpoolP384r1, brainpoolP512r1\n]) {\n  const { secretKey, publicKey } = curve.keygen();\n  const msg = new TextEncoder().encode('hello noble');\n  const sig = curve.sign(msg, secretKey);\n  const isValid = curve.verify(sig, msg, publicKey);\n  console.log(curve, secretKey, publicKey, sig, isValid);\n}\n\n// Specific private key\nimport { hexToBytes } from '@noble/curves/utils.js';\nconst secret2 = hexToBytes('46c930bc7bb4db7f55da20798697421b98c4175a52c630294d75a84b9c126236');\nconst pub2 = secp256k1.getPublicKey(secret2);\n```\n\nECDSA signatures use deterministic k, conforming to [RFC 6979](https://www.rfc-editor.org/rfc/rfc6979).\nEdDSA conforms to [RFC 8032](https://www.rfc-editor.org/rfc/rfc8032).\nSchnorr (secp256k1-only) conforms to [BIP 340](https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki).\n\n#### ristretto255, decaf448\n\n```ts\nimport { ristretto255, ristretto255_hasher, ristretto255_oprf } from '@noble/curves/ed25519.js';\nimport { decaf448, decaf448_hasher, decaf448_oprf } from '@noble/curves/ed448.js';\n\nconsole.log(ristretto255.Point, decaf448.Point);\n```\n\nCheck out [RFC 9496](https://www.rfc-editor.org/rfc/rfc9496) more info on ristretto255 & decaf448.\nCheck out separate documentation for [Point](#elliptic-curve-point-math), [hasher](#hash-to-curve-hashing-to-curve-points) and [oprf](#oprfs).\n\n#### Prehashed signing\n\n```js\nimport { secp256k1 } from '@noble/curves/secp256k1.js';\nimport { keccak256 } from '@noble/hashes/sha3.js';\nconst { secretKey } = curve.keygen();\nconst msg = new TextEncoder().encode('hello noble');\n// prehash: true (default) - hash using secp256k1.hash (sha256)\nconst sig = secp256k1.sign(msg, secretKey);\n// prehash: false - hash using custom hash\nconst sigKeccak = secp256k1.sign(keccak256(msg), secretKey, { prehash: false });\n```\n\nECDSA `sign()` allows providing `prehash: false`, which enables using custom hashes.\n\nA ECDSA signature is not just \"math over elliptic curve points\".\nIt's actually math + hashing: p256 is in fact p256 point + sha256 hash.\nBy default, we hash messages. To use custom hash methods,\nmake sure to disable prehashing.\n\n> [!NOTE]\n> Previously, in noble-curves v1, `prehash: false` was the default.\n> Some other libraries (like libsecp256k1) have no prehashing.\n\n#### Hedged ECDSA with noise\n\n```js\nimport { secp256k1 } from '@noble/curves/secp256k1.js';\nconst { secretKey } = curve.keygen();\nconst msg = new TextEncoder().encode('hello noble');\n// extraEntropy: false - default, hedging disabled\nconst sigNoisy = secp256k1.sign(msg, secretKey);\n// extraEntropy: true - fetch 32 random bytes from CSPRNG\nconst sigNoisy = secp256k1.sign(msg, secretKey, { extraEntropy: true });\n// extraEntropy: bytes - specific extra entropy\nconst ent = Uint8Array.from([0xca, 0xfe, 0x01, 0x23]);\nconst sigNoisy2 = secp256k1.sign(msg, secretKey, { extraEntropy: ent });\n```\n\nECDSA `sign()` allows providing `extraEntropy`, which switches sig generation to hedged mode.\n\nBy default, ECDSA signatures are generated deterministically,\nfollowing [RFC 6979](https://www.rfc-editor.org/rfc/rfc6979).\nHowever, purely deterministic signatures are vulnerable to fault attacks.\nNewer signature schemes, such as BIP340 schnorr, switched to hedged signatures because of this.\nHedging is basically incorporating some randomness into sig generation process.\n\nFor more info, check out\n[Deterministic signatures are not your friends](https://paulmillr.com/posts/deterministic-signatures/),\n[RFC 6979](https://www.rfc-editor.org/rfc/rfc6979) section 3.6,\nand [cfrg-det-sigs-with-noise draft](https://datatracker.ietf.org/doc/draft-irtf-cfrg-det-sigs-with-noise/).\n\n#### Consensus-friendliness vs e-voting\n\n```js\nimport { ed25519 } from '@noble/curves/ed25519.js';\nconst { secretKey, publicKey } = ed25519.keygen();\nconst msg = new TextEncoder().encode('hello noble');\nconst sig = ed25519.sign(msg, secretKey);\n// zip215: true\nconst isValid = ed25519.verify(sig, msg, pub);\n// SBS / e-voting / RFC8032 / FIPS 186-5\nconst isValidRfc = ed25519.verify(sig, msg, pub, { zip215: false });\n```\n\nIn ed25519, there is an ability to choose between consensus-friendliness vs e-voting mode.\n\n- `zip215: true` is default behavior. It has slightly looser verification logic\n  to be [consensus-friendly](https://hdevalence.ca/blog/2020-10-04-its-25519am), following [ZIP215](https://zips.z.cash/zip-0215) rules\n- `zip215: false` switches verification criteria to strict\n  [RFC 8032](https://www.rfc-editor.org/rfc/rfc8032) / [FIPS 186-5](https://csrc.nist.gov/publications/detail/fips/186/5/final)\n  and additionally provides [non-repudiation with SBS](https://eprint.iacr.org/2020/1244),\n  which is useful for:\n  - Contract Signing: if A signed an agreement with B using key that allows repudiation, it can later claim that it signed a different contract\n  - E-voting: malicious voters may pick keys that allow repudiation in order to deny results\n  - Blockchains: transaction of amount X might also be valid for a different amount Y\n\nBoth modes have SUF-CMA (strong unforgeability under chosen message attacks).\n\n### ECDH: Diffie-Hellman shared secrets\n\n```js\nimport { secp256k1 } from '@noble/curves/secp256k1.js';\nimport { x25519 } from '@noble/curves/ed25519.js';\nimport { x448 } from '@noble/curves/ed448.js';\nimport { p256, p384, p521 } from '@noble/curves/nist.js';\n\nfor (const curve of [secp256k1, schnorr, x25519, x448, p256, p384, p521]) {\n  const alice = curve.keygen();\n  const bob = curve.keygen();\n  const sharedKey = curve.getSharedSecret(alice.secretKey, bob.publicKey);\n  console.log('alice', alice, 'bob', bob, 'shared', sharedKey);\n}\n\n// x25519 & x448 specific methods\nimport { ed25519 } from '@noble/curves/ed25519.js';\nconst alice = ed25519.keygen();\nconst bob = ed25519.keygen();\nconst aliceSecX = ed25519.utils.toMontgomerySecret(alice.secretKey);\nconst bobPubX = ed25519.utils.toMontgomery(bob.publicKey);\nconst sharedKey = x25519.getSharedSecret(aliceSecX, bobPubX);\n```\n\nWe provide ECDH over all Weierstrass curves, and over 2 Montgomery curves\nX25519 (Curve25519) & X448 (Curve448), conforming to [RFC 7748](https://www.rfc-editor.org/rfc/rfc7748).\n\nIn Weierstrass curves, shared secrets:\n\n- Include y-parity bytes: use `key.slice(1)` to strip it\n- Are not hashed: use hashing or KDF on top, like `sha256(shared)` or `hkdf(shared)`\n\n#### webcrypto: Friendly wrapper\n\n> [!NOTE]\n> Webcrypto methods are always async.\n\n##### webcrypto signatures\n\n```js\nimport { ed25519, ed448, p256, p384, p521 } from './src/webcrypto.ts';\n\n(async () => {\n  for (let [name, curve] of Object.entries({ p256, p384, p521, ed25519, ed448 })) {\n    console.log('curve', name);\n    if (!await curve.isSupported()) {\n      console.log('is not supported, skipping');\n      continue;\n    }\n    const keys = await curve.keygen();\n    const msg = new TextEncoder().encode('hello noble');\n    const sig = await curve.sign(msg, keys.secretKey);\n    const isValid = await curve.verify(sig, msg, keys.publicKey);\n    console.log({\n      keys, msg, sig, isValid\n    });\n  }\n})();\n```\n\n##### webcrypto ecdh\n\n```js\nimport { p256, p384, p521, x25519, x448 } from './src/webcrypto.ts';\n\n(async () => {\n  for (let [name, curve] of Object.entries({ p256, p384, p521, x25519, x448 })) {\n    console.log('curve', name);\n    if (!await curve.isSupported()) {\n      console.log('is not supported, skipping');\n      continue;\n    }\n    const alice = await curve.keygen();\n    const bob = await curve.keygen();\n    const shared = await curve.getSharedSecret(alice.secretKey, bob.publicKey);\n    const shared2 = await curve.getSharedSecret(bob.secretKey, alice.publicKey);\n    console.log({shared});\n  }\n})();\n```\n\n##### Key conversion from noble to webcrypto and back\n\n```js\nimport { p256 as p256n } from './src/nist.ts';\nimport { p256 } from './src/webcrypto.ts';\n(async () => {\n  const nobleKeys = p256n.keygen();\n  // convert noble keys to webcrypto\n  const webKeys = {\n    secretKey: await p256.utils.convertSecretKey(nobleKeys.secretKey, 'raw', 'pkcs8'),\n    publicKey: await p256.utils.convertPublicKey(nobleKeys.publicKey, 'raw', 'spki')\n  };\n  // convert webcrypto keys to noble\n  const nobleKeys2 = {\n    secretKey: await p256.utils.convertSecretKey(webKeys.secretKey, 'pkcs8', 'raw'),\n    publicKey: await p256.utils.convertPublicKey(webKeys.publicKey, 'spki', 'raw')\n  };\n})();\n```\n\nCheck out [micro-key-producer](https://github.com/paulmillr/micro-key-producer) for\npure JS key conversion utils.\n\n### BLS signatures, bls12-381, bn254 aka alt_bn128\n\n```ts\nimport { bls12_381 } from '@noble/curves/bls12-381.js';\n\n// G1 pubkeys, G2 sigs\nconst blsl = bls12_381.longSignatures;\nconst { secretKey, publicKey } = blsl.keygen();\n// const publicKey = blsl.getPublicKey(secretKey);\nconst msg = new TextEncoder().encode('hello noble');\n// default DST\nconst msgp = blsl.hash(msg);\n// custom DST (Ethereum)\nconst msgpd = blsl.hash(msg, 'BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_POP_');\nconst signature = blsl.sign(msgp, secretKey);\nconst isValid = blsl.verify(signature, msgp, publicKey);\nconsole.log('long', { publicKey, signature, isValid });\n\n// G1 sigs, G2 pubkeys\nconst blss = bls12_381.shortSignatures;\nconst publicKey2 = blss.getPublicKey(secretKey);\nconst msgp2 = blss.hash(msg, 'BLS_SIG_BLS12381G1_XMD:SHA-256_SSWU_RO_NUL_');\nconst signature2 = blss.sign(msgp2, secretKey);\nconst isValid2 = blss.verify(signature2, msgp2, publicKey);\nconsole.log({ publicKey2, signature2, isValid2 });\n\n// Aggregation\nconst aggregatedKey = bls12_381.longSignatures.aggregatePublicKeys([\n  bls12_381.utils.randomSecretKey(),\n  bls12_381.utils.randomSecretKey(),\n]);\n// const aggregatedSig = bls.aggregateSignatures(sigs)\n\n// Pairings, with and without final exponentiation\n// bls.pairing(PointG1, PointG2);\n// bls.pairing(PointG1, PointG2, false);\n// bls.fields.Fp12.finalExponentiate(bls.fields.Fp12.mul(PointG1, PointG2));\n\n// Others\n// bls.G1.Point.BASE, bls.G2.Point.BASE;\n// bls.fields.Fp, bls.fields.Fp2, bls.fields.Fp12, bls.fields.Fr;\n```\n\nSee [abstract/bls](#bls-barreto-lynn-scott-curves).\nFor example usage, check out [the implementation of BLS EVM precompiles](https://github.com/ethereumjs/ethereumjs-monorepo/blob/361f4edbc239e795a411ac2da7e5567298b9e7e5/packages/evm/src/precompiles/bls12_381/noble.ts).\n\nThe BN254 API mirrors [BLS](#bls12-381). The curve was previously called alt_bn128.\nThe implementation is compatible with [EIP-196](https://eips.ethereum.org/EIPS/eip-196) and\n[EIP-197](https://eips.ethereum.org/EIPS/eip-197).\n\nFor BN254 usage, check out [the implementation of bn254 EVM precompiles](https://github.com/paulmillr/noble-curves/blob/3ed792f8ad9932765b84d1064afea8663a255457/test/bn254.test.js#L697).\nWe don't implement Point methods toBytes. To work around this limitation, has to initialize points on their own from BigInts. Reason it's not implemented is because [there is no standard](https://github.com/privacy-scaling-explorations/halo2curves/issues/109).\nPoints of divergence:\n\n- Endianness: LE vs BE (byte-swapped)\n- Flags as first hex bits (similar to BLS) vs no-flags\n- Imaginary part last in G2 vs first (c0, c1 vs c1, c0)\n\n### hash-to-curve: hashing to curve points\n\n```ts\nimport { bls12_381 } from './src/bls12-381.ts';\nimport { ed25519_hasher, ristretto255_hasher } from './src/ed25519.ts';\nimport { decaf448_hasher, ed448_hasher } from './src/ed448.ts';\nimport { p256_hasher, p384_hasher, p521_hasher } from './src/nist.ts';\nimport { secp256k1_hasher } from './src/secp256k1.ts';\n\nconst h = {\n  secp256k1_hasher,\n  p256_hasher, p384_hasher, p521_hasher,\n  ed25519_hasher,\n  ed448_hasher,\n  ristretto255_hasher,\n  decaf448_hasher,\n  bls_G1: bls12_381.G1,\n  bls_G2: bls12_381.G2\n};\n\nconst msg = Uint8Array.from([0xca, 0xfe, 0x01, 0x23]);\nconsole.log('msg', msg);\nfor (let [name, c] of Object.entries(h)) {\n  const hashToCurve = c.hashToCurve(msg).toHex();\n  const hashToCurve_customDST = c.hashToCurve(msg, { DST: 'hello noble' }).toHex();\n  const encodeToCurve = 'encodeToCurve' in c ? c.encodeToCurve(msg).toHex() : undefined;\n  // ristretto255, decaf448 only\n  const deriveToCurve = 'deriveToCurve' in c ?\n    c.deriveToCurve!(new Uint8Array(c.Point.Fp.BYTES * 2)).toHex() : undefined;\n  const hashToScalar = c.hashToScalar(msg);\n  console.log({\n    name, hashToCurve, hashToCurve_customDST, encodeToCurve, deriveToCurve, hashToScalar\n  });\n}\n\n// abstract methods\nimport { expand_message_xmd, expand_message_xof, hash_to_field } from '@noble/curves/abstract/hash-to-curve.js';\n```\n\nThe module allows to hash arbitrary strings to elliptic curve points. Implements [RFC 9380](https://www.rfc-editor.org/rfc/rfc9380).\n\n> [!NOTE]\n> Why is `p256_hasher` separate from `p256`?\n> The methods reside in separate _hasher namespace for tree-shaking:\n> this way users who don't need hash-to-curve, won't have it in their builds.\n\n### OPRFs\n\n```js\nimport { p256_oprf, p384_oprf, p521_oprf } from '@noble/curves/nist.js';\nimport { ristretto255_oprf } from '@noble/curves/ed25519.js';\nimport { decaf448_orpf } from '@noble/curves/ed448.js';\n```\n\nWe provide OPRFs (oblivious pseudorandom functions),\nconforming to [RFC 9497](https://www.rfc-editor.org/rfc/rfc9497).\n\nOPRF allows to interactively create an `Output = PRF(Input, serverSecretKey)`:\n\n- Server cannot calculate Output by itself: it doesn't know Input\n- Client cannot calculate Output by itself: it doesn't know server secretKey\n- An attacker interception the communication can't restore Input/Output/serverSecretKey and can't\n  link Input to some value.\n\n### poseidon: Poseidon hash\n\nImplements [Poseidon](https://www.poseidon-hash.info) ZK-friendly hash:\npermutation and sponge.\n\nThere are many poseidon variants with different constants.\nWe don't provide them: you should construct them manually.\nCheck out [scure-starknet](https://github.com/paulmillr/scure-starknet) package for a proper example.\n\n```ts\nimport { poseidon, poseidonSponge } from '@noble/curves/abstract/poseidon.js';\n\nconst rate = 2;\nconst capacity = 1;\nconst { mds, roundConstants } = poseidon.grainGenConstants({\n  Fp,\n  t: rate + capacity,\n  roundsFull: 8,\n  roundsPartial: 31,\n});\nconst opts = {\n  Fp,\n  rate,\n  capacity,\n  sboxPower: 17,\n  mds,\n  roundConstants,\n  roundsFull: 8,\n  roundsPartial: 31,\n};\nconst permutation = poseidon.poseidon(opts);\nconst sponge = poseidon.poseidonSponge(opts); // use carefully, not specced\n```\n\n### fft: Fast Fourier Transform\n\n```ts\nimport * as fft from '@noble/curves/abstract/fft.js';\nimport { bls12_381 } from '@noble/curves/bls12-381.js';\nconst Fr = bls12_381.fields.Fr;\nconst roots = fft.rootsOfUnity(Fr, 7n);\nconst fftFr = fft.FFT(roots, Fr);\n```\n\nExperimental implementation of NTT / FFT (Fast Fourier Transform) over finite fields.\nAPI may change at any time. The code has not been audited. Feature requests are welcome.\n\n### utils: byte shuffling, conversion\n\n```ts\nimport { bytesToHex, concatBytes, equalBytes, hexToBytes } from '@noble/curves/abstract/utils.js';\n\nbytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23]));\nhexToBytes('cafe0123');\nconcatBytes(Uint8Array.from([0xca, 0xfe]), Uint8Array.from([0x01, 0x23]));\nequalBytes(Uint8Array.of(0xca), Uint8Array.of(0xca));\n```\n\n### Internals\n\n#### Elliptic curve Point math\n\n```js\nimport { secp256k1, schnorr } from '@noble/curves/secp256k1.js';\nimport { p256, p384, p521 } from '@noble/curves/nist.js';\nimport { ed25519, ristretto255 } from '@noble/curves/ed25519.js';\nimport { ed448, decaf448 } from '@noble/curves/ed448.js';\nimport { bls12_381 } from '@noble/curves/bls12-381.js'\nimport { bn254 } from '@noble/curves/bn254.js';\nimport { jubjub, babyjubjub } from '@noble/curves/misc.js';\n\nconst curves = [\n  secp256k1, schnorr, p256, p384, p521, ed25519, ed448,\n  ristretto255, decaf448,\n  bls12_381.G1, bls12_381.G2, bn254.G1, bn254.G2,\n  jubjub, babyjubjub\n];\nfor (const curve of curves) {\n  const { Point } = curve;\n  const { BASE, ZERO, Fp, Fn } = Point;\n  const p = BASE.multiply(2n);\n\n  // Initialization\n  if (info.type === 'weierstrass') {\n    // projective (homogeneous) coordinates: (X, Y, Z) ∋ (x=X/Z, y=Y/Z)\n    const p_ = new Point(BASE.X, BASE.Y, BASE.Z);\n  } else if (info.type === 'edwards') {\n    // extended coordinates: (X, Y, Z, T) ∋ (x=X/Z, y=Y/Z)\n    const p_ = new Point(BASE.X, BASE.Y, BASE.Z, BASE.T);\n  }\n\n  // Math\n  const p1 = p.add(p);\n  const p2 = p.double();\n  const p3 = p.subtract(p);\n  const p4 = p.negate();\n  const p5 = p.multiply(451n);\n\n  // MSM (multi-scalar multiplication)\n  const pa = [BASE, BASE.multiply(2n), BASE.multiply(4n), BASE.multiply(8n)];\n  const p6 = Point.msm(pa, [3n, 5n, 7n, 11n]);\n  const _true3 = p6.equals(BASE.multiply(129n)); // 129*G\n\n  const pcl = p.clearCofactor();\n  console.log(p.isTorsionFree(), p.isSmallOrder());\n\n  const r1 = p.toBytes();\n  const r1_ = Point.fromBytes(r1);\n  const r2 = p.toAffine();\n  const { x, y } = r2;\n  const r2_ = Point.fromAffine(r2);\n}\n```\n\n#### modular: Modular arithmetics & finite fields\n\n```js\nimport { mod, invert, Field } from '@noble/curves/abstract/modular.js';\n\n// Finite Field utils\nconst fp = Field(2n ** 255n - 19n); // Finite field over 2^255-19\nfp.mul(591n, 932n); // multiplication\nfp.pow(481n, 11024858120n); // exponentiation\nfp.div(5n, 17n); // division: 5/17 mod 2^255-19 == 5 * invert(17)\nfp.inv(5n); // modular inverse\nfp.sqrt(21n); // square root\n\n// Non-Field generic utils are also available\nmod(21n, 10n); // 21 mod 10 == 1n; fixed version of 21 % 10\ninvert(17n, 10n); // invert(17) mod 10; modular multiplicative inverse\n```\n\nAll arithmetics is done with JS bigints over finite fields,\nwhich is defined from `modular` sub-module.\n\nField operations are not constant-time: see [security](#security).\nThe fact is mostly irrelevant, but the important method to keep in mind is `pow`,\nwhich may leak exponent bits, when used naïvely.\n\n#### weierstrass: Custom Weierstrass curve\n\n```js\nimport { weierstrass } from '@noble/curves/abstract/weierstrass.js';\n// NIST secp192r1 aka p192. https://www.secg.org/sec2-v2.pdf\nconst p192_CURVE = {\n  p: 0xfffffffffffffffffffffffffffffffeffffffffffffffffn,\n  n: 0xffffffffffffffffffffffff99def836146bc9b1b4d22831n,\n  h: 1n,\n  a: 0xfffffffffffffffffffffffffffffffefffffffffffffffcn,\n  b: 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1n,\n  Gx: 0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012n,\n  Gy: 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811n,\n};\nconst p192_Point = weierstrass(p192_CURVE);\n```\n\nShort Weierstrass curve's formula is `y² = x³ + ax + b`. `weierstrass`\nexpects arguments `a`, `b`, field characteristic `p`, curve order `n`,\ncofactor `h` and coordinates `Gx`, `Gy` of generator point.\n\n#### edwards: Custom Edwards curve\n\n```js\nimport { edwards } from '@noble/curves/abstract/edwards.js';\nconst ed25519_CURVE = {\n  p: 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffedn,\n  n: 0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3edn,\n  h: 8n,\n  a: 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecn,\n  d: 0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3n,\n  Gx: 0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51an,\n  Gy: 0x6666666666666666666666666666666666666666666666666666666666666658n,\n};\nconst ed25519_Point = edwards(ed25519_CURVE);\n```\n\nTwisted Edwards curve's formula is `ax² + y² = 1 + dx²y²`.\nYou must specify `a`, `d`, field characteristic `p`, curve order `n` (sometimes named as `L`),\ncofactor `h` and coordinates `Gx`, `Gy` of generator point.\n\n#### Custom ECDSA instance\n\n```js\nimport { ecdsa } from '@noble/curves/abstract/weierstrass.js';\nimport { sha256 } from '@noble/hashes/sha2.js';\nconst p192_sha256 = ecdsa(p192_Point, sha256);\n// or\nconst p192_sha224 = ecdsa(p192.Point, sha224);\n\nconst keys = p192_sha256.keygen();\nconst msg = new TextEncoder().encode('custom curve');\nconst sig = p192_sha256.sign(msg, keys.secretKey);\nconst isValid = p192_sha256.verify(sig, msg, keys.publicKey);\n```\n\n## Security\n\nThe library has been independently audited:\n\n- at version 1.6.0, in Sep 2024, by [Cure53](https://cure53.de)\n  - PDFs: [website](https://cure53.de/audit-report_noble-crypto-libs.pdf), [in-repo](./audit/2024-09-cure53-audit-nbl4.pdf)\n  - [Changes since audit](https://github.com/paulmillr/noble-curves/compare/1.6.0..main)\n  - Scope: ed25519, ed448, their add-ons, bls12-381, bn254,\n    hash-to-curve, low-level primitives bls, tower, edwards, montgomery.\n  - The audit has been funded by [OpenSats](https://opensats.org)\n- at version 1.2.0, in Sep 2023, by [Kudelski Security](https://kudelskisecurity.com)\n  - PDFs: [in-repo](./audit/2023-09-kudelski-audit-starknet.pdf)\n  - [Changes since audit](https://github.com/paulmillr/noble-curves/compare/1.2.0..main)\n  - Scope: [scure-starknet](https://github.com/paulmillr/scure-starknet) and its related\n    abstract modules of noble-curves: `curve`, `modular`, `poseidon`, `weierstrass`\n  - The audit has been funded by [Starkware](https://starkware.co)\n- at version 0.7.3, in Feb 2023, by [Trail of Bits](https://www.trailofbits.com)\n  - PDFs: [website](https://github.com/trailofbits/publications/blob/master/reviews/2023-01-ryanshea-noblecurveslibrary-securityreview.pdf),\n    [in-repo](./audit/2023-01-trailofbits-audit-curves.pdf)\n  - [Changes since audit](https://github.com/paulmillr/noble-curves/compare/0.7.3..main)\n  - Scope: abstract modules `curve`, `hash-to-curve`, `modular`, `poseidon`, `utils`, `weierstrass` and\n    top-level modules `_shortw_utils` and `secp256k1`\n  - The audit has been funded by [Ryan Shea](https://www.shea.io)\n\nIt is tested against property-based, cross-library and Wycheproof vectors,\nand is being fuzzed in [the separate repo](https://github.com/paulmillr/integration-tests).\n\nIf you see anything unusual: investigate and report.\n\n### Constant-timeness\n\nWe're targetting algorithmic constant time. _JIT-compiler_ and _Garbage Collector_ make \"constant time\"\nextremely hard to achieve [timing attack](https://en.wikipedia.org/wiki/Timing_attack) resistance\nin a scripting language. Which means _any other JS library can't have\nconstant-timeness_. Even statically typed Rust, a language without GC,\n[makes it harder to achieve constant-time](https://www.chosenplaintext.ca/open-source/rust-timing-shield/security)\nfor some cases. If your goal is absolute security, don't use any JS lib — including bindings to native ones.\nUse low-level libraries & languages.\n\n### Memory dumping\n\nUse low-level languages instead of JS / WASM if your goal is absolute security.\n\nThe library mostly uses Uint8Arrays and bigints.\n\n- Uint8Arrays have `.fill(0)` which instructs to fill content with zeroes\n  but there are no guarantees in JS\n- bigints are immutable and don't have a method to zeroize their content:\n  a user needs to wait until the next garbage collection cycle\n- hex strings are also immutable: there is no way to zeroize them\n- `await fn()` will write all internal variables to memory. With\n  async functions there are no guarantees when the code\n  chunk would be executed. Which means attacker can have\n  plenty of time to read data from memory.\n\nThis means some secrets could stay in memory longer than anticipated.\nHowever, if an attacker can read application memory, it's doomed anyway:\nthere is no way to guarantee anything about zeroizing sensitive data without\ncomplex tests-suite which will dump process memory and verify that there is\nno sensitive data left. For JS it means testing all browsers (including mobile).\nAnd, of course, it will be useless without using the same\ntest-suite in the actual application that consumes the library.\n\n### Supply chain security\n\n- **Commits** are signed with PGP keys, to prevent forgery. Make sure to verify commit signatures\n- **Releases** are transparent and built on GitHub CI. Make sure to verify [provenance](https://docs.npmjs.com/generating-provenance-statements) logs\n  - Use GitHub CLI to verify single-file builds:\n    `gh attestation verify --owner paulmillr noble-curves.js`\n- **Rare releasing** is followed to ensure less re-audit need for end-users\n- **Dependencies** are minimized and locked-down: any dependency could get hacked and users will be downloading malware with every install.\n  - We make sure to use as few dependencies as possible\n  - Automatic dep updates are prevented by locking-down version ranges; diffs are checked with `npm-diff`\n- **Dev Dependencies** are disabled for end-users; they are only used to develop / build the source code\n\nFor this package, there is 1 dependency; and a few dev dependencies:\n\n- [noble-hashes](https://github.com/paulmillr/noble-hashes) provides cryptographic hashing functionality\n- micro-bmark, micro-should and jsbt are used for benchmarking / testing / build tooling and developed by the same author\n- prettier, fast-check and typescript are used for code quality / test generation / ts compilation. It's hard to audit their source code thoroughly and fully because of their size\n\n### Randomness\n\nWe're deferring to built-in\n[crypto.getRandomValues](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues)\nwhich is considered cryptographically secure (CSPRNG).\n\nIn the past, browsers had bugs that made it weak: it may happen again.\nImplementing a userspace CSPRNG to get resilient to the weakness\nis even worse: there is no reliable userspace source of quality entropy.\n\n### Quantum computers\n\nCryptographically relevant quantum computer, if built, will allow to\nbreak elliptic curve cryptography (both ECDSA / EdDSA & ECDH) using Shor's algorithm.\n\nConsider switching to newer / hybrid algorithms, such as SPHINCS+. They are available in\n[noble-post-quantum](https://github.com/paulmillr/noble-post-quantum).\n\nNIST prohibits classical cryptography (RSA, DSA, ECDSA, ECDH) [after 2035](https://nvlpubs.nist.gov/nistpubs/ir/2024/NIST.IR.8547.ipd.pdf). Australian ASD prohibits it [after 2030](https://www.cyber.gov.au/resources-business-and-government/essential-cyber-security/ism/cyber-security-guidelines/guidelines-cryptography).\n\n## Speed\n\n```sh\nnpm run bench\n```\n\nnoble-curves spends 10+ ms to generate 20MB+ of base point precomputes.\nThis is done **one-time** per curve.\n\nThe generation is deferred until any method (pubkey, sign, verify) is called.\nUser can force precompute generation by manually calling `Point.BASE.precompute(windowSize, false)`.\nCheck out the source code.\n\nBenchmark results on Apple M4:\n\n```\n# secp256k1\ninit 10ms\ngetPublicKey x 9,099 ops/sec @ 109μs/op\nsign x 7,182 ops/sec @ 139μs/op\nverify x 1,188 ops/sec @ 841μs/op\nrecoverPublicKey x 1,265 ops/sec @ 790μs/op\ngetSharedSecret x 735 ops/sec @ 1ms/op\nschnorr.sign x 957 ops/sec @ 1ms/op\nschnorr.verify x 1,210 ops/sec @ 825μs/op\n\n# ed25519\ninit 14ms\ngetPublicKey x 14,216 ops/sec @ 70μs/op\nsign x 6,849 ops/sec @ 145μs/op\nverify x 1,400 ops/sec @ 713μs/op\n\n# ed448\ninit 37ms\ngetPublicKey x 5,273 ops/sec @ 189μs/op\nsign x 2,494 ops/sec @ 400μs/op\nverify x 476 ops/sec @ 2ms/op\n\n# p256\ninit 17ms\ngetPublicKey x 8,977 ops/sec @ 111μs/op\nsign x 7,236 ops/sec @ 138μs/op\nverify x 877 ops/sec @ 1ms/op\n\n# p384\ninit 42ms\ngetPublicKey x 4,084 ops/sec @ 244μs/op\nsign x 3,247 ops/sec @ 307μs/op\nverify x 331 ops/sec @ 3ms/op\n\n# p521\ninit 83ms\ngetPublicKey x 2,049 ops/sec @ 487μs/op\nsign x 1,748 ops/sec @ 571μs/op\nverify x 170 ops/sec @ 5ms/op\n\n# ristretto255\nadd x 931,966 ops/sec @ 1μs/op\nmultiply x 15,444 ops/sec @ 64μs/op\nencode x 21,367 ops/sec @ 46μs/op\ndecode x 21,715 ops/sec @ 46μs/op\n\n# decaf448\nadd x 478,011 ops/sec @ 2μs/op\nmultiply x 416 ops/sec @ 2ms/op\nencode x 8,562 ops/sec @ 116μs/op\ndecode x 8,636 ops/sec @ 115μs/op\n\n# ECDH\nx25519 x 1,981 ops/sec @ 504μs/op\nx448 x 743 ops/sec @ 1ms/op\nsecp256k1 x 728 ops/sec @ 1ms/op\np256 x 705 ops/sec @ 1ms/op\np384 x 268 ops/sec @ 3ms/op\np521 x 137 ops/sec @ 7ms/op\n\n# hash-to-curve\nhashToPrivateScalar x 1,754,385 ops/sec @ 570ns/op\nhash_to_field x 135,703 ops/sec @ 7μs/op\nhashToCurve secp256k1 x 3,194 ops/sec @ 313μs/op\nhashToCurve p256 x 5,962 ops/sec @ 167μs/op\nhashToCurve p384 x 2,230 ops/sec @ 448μs/op\nhashToCurve p521 x 1,063 ops/sec @ 940μs/op\nhashToCurve ed25519 x 4,047 ops/sec @ 247μs/op\nhashToCurve ed448 x 1,691 ops/sec @ 591μs/op\nhash_to_ristretto255 x 8,733 ops/sec @ 114μs/op\nhash_to_decaf448 x 3,882 ops/sec @ 257μs/op\n\n# modular over secp256k1 P field\ninvert a x 866,551 ops/sec @ 1μs/op\ninvert b x 693,962 ops/sec @ 1μs/op\nsqrt p = 3 mod 4 x 25,738 ops/sec @ 38μs/op\nsqrt tonneli-shanks x 847 ops/sec @ 1ms/op\n\n# bls12-381\ninit 22ms\ngetPublicKey x 1,325 ops/sec @ 754μs/op\nsign x 80 ops/sec @ 12ms/op\nverify x 62 ops/sec @ 15ms/op\npairing x 166 ops/sec @ 6ms/op\npairing10 x 54 ops/sec @ 18ms/op ± 23.48% (15ms..36ms)\nMSM 4096 scalars x points 3286ms\naggregatePublicKeys/8 x 173 ops/sec @ 5ms/op\naggregatePublicKeys/32 x 46 ops/sec @ 21ms/op\naggregatePublicKeys/128 x 11 ops/sec @ 84ms/op\naggregatePublicKeys/512 x 2 ops/sec @ 335ms/op\naggregatePublicKeys/2048 x 0 ops/sec @ 1346ms/op\naggregateSignatures/8 x 82 ops/sec @ 12ms/op\naggregateSignatures/32 x 21 ops/sec @ 45ms/op\naggregateSignatures/128 x 5 ops/sec @ 178ms/op\naggregateSignatures/512 x 1 ops/sec @ 705ms/op\naggregateSignatures/2048 x 0 ops/sec @ 2823ms/op\n```\n\n## Upgrading\n\nSupported node.js versions:\n\n- v2 (2025-08): v20.19+ (ESM-only)\n- v1 (2023-04): v14.21+ (ESM & CJS)\n\n### Changelog of curves v1 to curves v2\n\nv2 massively simplifies internals, improves security, reduces bundle size and lays path for the future.\nWe tried to keep v2 as much backwards-compatible as possible.\n\nTo simplify upgrading, upgrade first to curves 1.9.x. It would show deprecations in vscode-like text editor.\nFix them first.\n\n- The package is now ESM-only. ESM can finally be loaded from common.js on node v20.19+\n- `.js` extension must be used for all modules\n    - Old: `@noble/curves/ed25519`\n    - New: `@noble/curves/ed25519.js`\n    - This simplifies working in browsers natively without transpilers\n\nNew features:\n\n- webcrypto: create friendly noble-like wrapper over built-in WebCrypto\n- oprf: implement RFC 9497 OPRFs (oblivious pseudorandom functions)\n    - We support p256, p384, p521, ristretto255 and decaf448\n- weierstrass, edwards: add `isValidSecretKey`, `isValidPublicKey`\n- misc: add Brainpool curves: brainpoolP256r1, brainpoolP384r1, brainpoolP512r1\n\nChanges:\n\n- Most methods now expect Uint8Array, string hex inputs are prohibited\n    - The change simplifies reasoning, improves security and reduces malleability\n    - `Point.fromHex` now expects string-only hex inputs, use `Point.fromBytes` for Uint8Array\n- Breaking changes of ECDSA (secp256k1, p256, p384...):\n    - sign, verify: Switch to **prehashed messages**. Instead of\n      messageHash, the methods now expect unhashed message.\n      To bring back old behavior, use option `{prehash: false}`\n    - sign, verify: Switch to **lowS signatures** by default.\n      This change doesn't affect secp256k1, which has been using lowS since beginning.\n      To bring back old behavior, use option `{lowS: true}`\n    - sign, verify: Switch to **Uint8Array signatures** (format: 'compact') by default.\n    - verify: **der format must be explicitly specified** in `{format: 'der'}`.\n      This reduces malleability\n    - verify: **prohibit Signature-instance** signature. User must now always do\n      `signature.toBytes()`\n- Breaking changes of BLS signatures (bls12-381, bn254):\n    - Move getPublicKey, sign, verify, signShortSignature etc into two new namespaces:\n      bls.longSignatures (G1 pubkeys, G2 sigs) and bls.shortSignatures (G1 sigs, G2 pubkeys).\n    - verifyBatch now expects array of inputs `{message: ..., publicKey: ...}[]`\n- Curve changes:\n    - Massively simplify curve creation, split it into point creation & sig generator creation\n    - New methods are `weierstrass() + ecdsa()` / `edwards() + eddsa()`\n    - weierstrass / edwards expect simplified curve params (Fp became p)\n    - ecdsa / eddsa expect Point class and hash\n    - Remove unnecessary Fn argument in `pippenger`\n- modular changes:\n    - Field#fromBytes() now validates elements to be in 0..order-1 range\n- Massively improve error messages, make them more descriptive\n\nRenamings:\n\n- Module changes\n    - `p256`, `p384`, `p521` modules have been moved into `nist`\n    - `jubjub` module has been moved into `misc`\n- Point changes\n    - ExtendedPoint, ProjectivePoint => Point\n    - Point coordinates (projective / extended) from px/ex, py/ey, pz/ez, et => X, Y, Z, T\n    - Point.normalizeZ, Point.msm => separate methods in `abstract/curve.js` submodule\n    - Point.fromPrivateKey() got removed, use `Point.BASE.multiply()` and `Point.Fn.fromBytes(secretKey)`\n    - toRawBytes, fromRawBytes => toBytes, fromBytes\n    - RistrettoPoint => ristretto255.Point, DecafPoiont => decaf448.Point\n- Signature (ECDSA) changes\n    - toCompactRawBytes, toDERRawBytes => toBytes('compact'), toBytes('der')\n    - toCompactHex, toDERHex => toHex('compact'), toHex('der')\n    - fromCompact, fromDER => fromBytes(format), fromHex(format)\n- utils changes\n    - randomPrivateKey => randomSecretKey\n    - utils.precompute, Point#_setWindowSize => Point#precompute\n    - edwardsToMontgomery => utils.toMontgomery\n    - edwardsToMontgomeryPriv => utils.toMontgomerySecret\n- Rename all curve-specific hash-to-curve methods to `*curve*_hasher`.\n  Example: `secp256k1.hashToCurve` => `secp256k1_hasher.hashToCurve()`\n- Massive type renamings and improvements\n\nRemoved features:\n\n- Point#multiplyAndAddUnsafe, Point#hasEvenY\n- CURVE property with all kinds of random stuff. Point.CURVE() now replaces it, but only provides\n  curve parameters\n- Remove `pasta`, `bn254_weierstrass` (NOT pairing-based bn254) curves\n- Field.MASK\n- utils.normPrivateKeyToScalar\n\n### noble-secp256k1 v1 to curves v1\n\nPreviously, the library was split into single-feature packages\n[noble-secp256k1](https://github.com/paulmillr/noble-secp256k1),\n[noble-ed25519](https://github.com/paulmillr/noble-ed25519) and\n[noble-bls12-381](https://github.com/paulmillr/noble-bls12-381).\n\nCurves continue their original work. The single-feature packages changed their\ndirection towards providing minimal 5kb implementations of cryptography,\nwhich means they have less features.\n\n- `getPublicKey`\n  - now produce 33-byte compressed signatures by default\n  - to use old behavior, which produced 65-byte uncompressed keys, set\n    argument `isCompressed` to `false`: `getPublicKey(priv, false)`\n- `sign`\n  - is now sync\n  - now returns `Signature` instance with `{ r, s, recovery }` properties\n  - `canonical` option was renamed to `lowS`\n  - `recovered` option has been removed because recovery bit is always returned now\n  - `der` option has been removed. There are 2 options:\n    1. Use compact encoding: `fromCompact`, `toCompactRawBytes`, `toCompactHex`.\n       Compact encoding is simply a concatenation of 32-byte r and 32-byte s.\n    2. If you must use DER encoding, switch to noble-curves (see above).\n- `verify`\n  - is now sync\n  - `strict` option was renamed to `lowS`\n- `getSharedSecret`\n  - now produce 33-byte compressed signatures by default\n  - to use old behavior, which produced 65-byte uncompressed keys, set\n    argument `isCompressed` to `false`: `getSharedSecret(a, b, false)`\n- `recoverPublicKey(msg, sig, rec)` was changed to `sig.recoverPublicKey(msg)`\n- `number` type for private keys have been removed: use `bigint` instead\n- `Point` (2d xy) has been changed to `ProjectivePoint` (3d xyz)\n- `utils` were split into `utils` (same api as in noble-curves) and\n  `etc` (`hmacSha256Sync` and others)\n\n### noble-ed25519 v1 to curves v1\n\nUpgrading from [@noble/ed25519](https://github.com/paulmillr/noble-ed25519):\n\n- Methods are now sync by default\n- `bigint` is no longer allowed in `getPublicKey`, `sign`, `verify`. Reason: ed25519 is LE, can lead to bugs\n- `Point` (2d xy) has been changed to `ExtendedPoint` (xyzt)\n- `Signature` was removed: just use raw bytes or hex now\n- `utils` were split into `utils` (same api as in noble-curves) and\n  `etc` (`sha512Sync` and others)\n- `getSharedSecret` was moved to `x25519` module\n- `toX25519` has been moved to `edwardsToMontgomeryPub` and `edwardsToMontgomeryPriv` methods\n\n### noble-bls12-381 to curves v1\n\nUpgrading from [@noble/bls12-381](https://github.com/paulmillr/noble-bls12-381):\n\n- Methods and classes were renamed:\n  - PointG1 -> G1.Point, PointG2 -> G2.Point\n  - PointG2.fromSignature -> Signature.decode, PointG2.toSignature -> Signature.encode\n- Fp2 ORDER was corrected\n\n## Contributing & testing\n\n- `npm install && npm run build && npm test` will build the code and run tests.\n- `npm run lint` / `npm run format` will run linter / fix linter issues.\n- `npm run bench` will run benchmarks\n- `npm run build:release` will build single file\n\nSee [paulmillr.com/noble](https://paulmillr.com/noble/)\nfor useful resources, articles, documentation and demos\nrelated to the library.\n\nMuSig2 signature scheme and BIP324 ElligatorSwift mapping for secp256k1\nare available [in a separate package](https://github.com/paulmillr/scure-btc-signer).\n\n## License\n\nThe MIT License (MIT)\n\nCopyright (c) 2022 Paul Miller [(https://paulmillr.com)](https://paulmillr.com)\n\nSee LICENSE file.\n","_attachments":{},"homepage":"https://paulmillr.com/noble/","bugs":{"url":"https://github.com/paulmillr/noble-curves/issues"},"license":"MIT"}