@noble/curves 1.9.6 → 2.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/README.md +267 -421
  2. package/abstract/bls.d.ts +49 -111
  3. package/abstract/bls.d.ts.map +1 -1
  4. package/abstract/bls.js +108 -152
  5. package/abstract/bls.js.map +1 -1
  6. package/abstract/curve.d.ts +4 -45
  7. package/abstract/curve.d.ts.map +1 -1
  8. package/abstract/curve.js +22 -47
  9. package/abstract/curve.js.map +1 -1
  10. package/abstract/edwards.d.ts +11 -68
  11. package/abstract/edwards.d.ts.map +1 -1
  12. package/abstract/edwards.js +62 -134
  13. package/abstract/edwards.js.map +1 -1
  14. package/abstract/fft.js +14 -27
  15. package/abstract/fft.js.map +1 -1
  16. package/abstract/hash-to-curve.d.ts +11 -24
  17. package/abstract/hash-to-curve.d.ts.map +1 -1
  18. package/abstract/hash-to-curve.js +30 -35
  19. package/abstract/hash-to-curve.js.map +1 -1
  20. package/abstract/modular.d.ts +5 -17
  21. package/abstract/modular.d.ts.map +1 -1
  22. package/abstract/modular.js +166 -167
  23. package/abstract/modular.js.map +1 -1
  24. package/abstract/montgomery.d.ts +4 -9
  25. package/abstract/montgomery.d.ts.map +1 -1
  26. package/abstract/montgomery.js +15 -18
  27. package/abstract/montgomery.js.map +1 -1
  28. package/abstract/oprf.d.ts +282 -0
  29. package/abstract/oprf.d.ts.map +1 -0
  30. package/abstract/oprf.js +297 -0
  31. package/abstract/oprf.js.map +1 -0
  32. package/abstract/poseidon.js +20 -24
  33. package/abstract/poseidon.js.map +1 -1
  34. package/abstract/tower.d.ts.map +1 -1
  35. package/abstract/tower.js +43 -19
  36. package/abstract/tower.js.map +1 -1
  37. package/abstract/weierstrass.d.ts +11 -145
  38. package/abstract/weierstrass.d.ts.map +1 -1
  39. package/abstract/weierstrass.js +122 -331
  40. package/abstract/weierstrass.js.map +1 -1
  41. package/bls12-381.d.ts +2 -2
  42. package/bls12-381.d.ts.map +1 -1
  43. package/bls12-381.js +171 -180
  44. package/bls12-381.js.map +1 -1
  45. package/bn254.d.ts +58 -10
  46. package/bn254.d.ts.map +1 -1
  47. package/bn254.js +69 -97
  48. package/bn254.js.map +1 -1
  49. package/ed25519.d.ts +12 -31
  50. package/ed25519.d.ts.map +1 -1
  51. package/ed25519.js +95 -137
  52. package/ed25519.js.map +1 -1
  53. package/ed448.d.ts +11 -29
  54. package/ed448.d.ts.map +1 -1
  55. package/ed448.js +85 -123
  56. package/ed448.js.map +1 -1
  57. package/index.js +1 -1
  58. package/misc.d.ts +10 -14
  59. package/misc.d.ts.map +1 -1
  60. package/misc.js +51 -60
  61. package/misc.js.map +1 -1
  62. package/nist.d.ts +11 -14
  63. package/nist.d.ts.map +1 -1
  64. package/nist.js +46 -55
  65. package/nist.js.map +1 -1
  66. package/package.json +8 -223
  67. package/secp256k1.d.ts +7 -23
  68. package/secp256k1.d.ts.map +1 -1
  69. package/secp256k1.js +47 -60
  70. package/secp256k1.js.map +1 -1
  71. package/src/abstract/bls.ts +197 -344
  72. package/src/abstract/curve.ts +7 -80
  73. package/src/abstract/edwards.ts +49 -171
  74. package/src/abstract/hash-to-curve.ts +32 -45
  75. package/src/abstract/modular.ts +144 -130
  76. package/src/abstract/montgomery.ts +19 -20
  77. package/src/abstract/oprf.ts +600 -0
  78. package/src/abstract/tower.ts +0 -3
  79. package/src/abstract/weierstrass.ts +69 -438
  80. package/src/bls12-381.ts +143 -138
  81. package/src/bn254.ts +65 -89
  82. package/src/ed25519.ts +53 -105
  83. package/src/ed448.ts +32 -77
  84. package/src/index.ts +1 -1
  85. package/src/misc.ts +66 -49
  86. package/src/nist.ts +48 -57
  87. package/src/secp256k1.ts +32 -65
  88. package/src/utils.ts +41 -61
  89. package/src/webcrypto.ts +362 -0
  90. package/utils.d.ts +28 -19
  91. package/utils.d.ts.map +1 -1
  92. package/utils.js +45 -121
  93. package/utils.js.map +1 -1
  94. package/webcrypto.d.ts +47 -0
  95. package/webcrypto.d.ts.map +1 -0
  96. package/webcrypto.js +231 -0
  97. package/webcrypto.js.map +1 -0
  98. package/esm/_shortw_utils.d.ts +0 -19
  99. package/esm/_shortw_utils.d.ts.map +0 -1
  100. package/esm/_shortw_utils.js +0 -16
  101. package/esm/_shortw_utils.js.map +0 -1
  102. package/esm/abstract/bls.d.ts +0 -190
  103. package/esm/abstract/bls.d.ts.map +0 -1
  104. package/esm/abstract/bls.js +0 -408
  105. package/esm/abstract/bls.js.map +0 -1
  106. package/esm/abstract/curve.d.ts +0 -231
  107. package/esm/abstract/curve.d.ts.map +0 -1
  108. package/esm/abstract/curve.js +0 -465
  109. package/esm/abstract/curve.js.map +0 -1
  110. package/esm/abstract/edwards.d.ts +0 -243
  111. package/esm/abstract/edwards.d.ts.map +0 -1
  112. package/esm/abstract/edwards.js +0 -627
  113. package/esm/abstract/edwards.js.map +0 -1
  114. package/esm/abstract/fft.d.ts +0 -122
  115. package/esm/abstract/fft.d.ts.map +0 -1
  116. package/esm/abstract/fft.js +0 -425
  117. package/esm/abstract/fft.js.map +0 -1
  118. package/esm/abstract/hash-to-curve.d.ts +0 -102
  119. package/esm/abstract/hash-to-curve.d.ts.map +0 -1
  120. package/esm/abstract/hash-to-curve.js +0 -203
  121. package/esm/abstract/hash-to-curve.js.map +0 -1
  122. package/esm/abstract/modular.d.ts +0 -171
  123. package/esm/abstract/modular.d.ts.map +0 -1
  124. package/esm/abstract/modular.js +0 -530
  125. package/esm/abstract/modular.js.map +0 -1
  126. package/esm/abstract/montgomery.d.ts +0 -30
  127. package/esm/abstract/montgomery.d.ts.map +0 -1
  128. package/esm/abstract/montgomery.js +0 -157
  129. package/esm/abstract/montgomery.js.map +0 -1
  130. package/esm/abstract/poseidon.d.ts +0 -68
  131. package/esm/abstract/poseidon.d.ts.map +0 -1
  132. package/esm/abstract/poseidon.js +0 -296
  133. package/esm/abstract/poseidon.js.map +0 -1
  134. package/esm/abstract/tower.d.ts +0 -95
  135. package/esm/abstract/tower.d.ts.map +0 -1
  136. package/esm/abstract/tower.js +0 -714
  137. package/esm/abstract/tower.js.map +0 -1
  138. package/esm/abstract/utils.d.ts +0 -5
  139. package/esm/abstract/utils.d.ts.map +0 -1
  140. package/esm/abstract/utils.js +0 -7
  141. package/esm/abstract/utils.js.map +0 -1
  142. package/esm/abstract/weierstrass.d.ts +0 -413
  143. package/esm/abstract/weierstrass.d.ts.map +0 -1
  144. package/esm/abstract/weierstrass.js +0 -1413
  145. package/esm/abstract/weierstrass.js.map +0 -1
  146. package/esm/bls12-381.d.ts +0 -16
  147. package/esm/bls12-381.d.ts.map +0 -1
  148. package/esm/bls12-381.js +0 -705
  149. package/esm/bls12-381.js.map +0 -1
  150. package/esm/bn254.d.ts +0 -18
  151. package/esm/bn254.d.ts.map +0 -1
  152. package/esm/bn254.js +0 -214
  153. package/esm/bn254.js.map +0 -1
  154. package/esm/ed25519.d.ts +0 -106
  155. package/esm/ed25519.d.ts.map +0 -1
  156. package/esm/ed25519.js +0 -467
  157. package/esm/ed25519.js.map +0 -1
  158. package/esm/ed448.d.ts +0 -100
  159. package/esm/ed448.d.ts.map +0 -1
  160. package/esm/ed448.js +0 -459
  161. package/esm/ed448.js.map +0 -1
  162. package/esm/index.d.ts +0 -2
  163. package/esm/index.d.ts.map +0 -1
  164. package/esm/index.js +0 -17
  165. package/esm/index.js.map +0 -1
  166. package/esm/jubjub.d.ts +0 -12
  167. package/esm/jubjub.d.ts.map +0 -1
  168. package/esm/jubjub.js +0 -12
  169. package/esm/jubjub.js.map +0 -1
  170. package/esm/misc.d.ts +0 -19
  171. package/esm/misc.d.ts.map +0 -1
  172. package/esm/misc.js +0 -109
  173. package/esm/misc.js.map +0 -1
  174. package/esm/nist.d.ts +0 -21
  175. package/esm/nist.d.ts.map +0 -1
  176. package/esm/nist.js +0 -132
  177. package/esm/nist.js.map +0 -1
  178. package/esm/p256.d.ts +0 -16
  179. package/esm/p256.d.ts.map +0 -1
  180. package/esm/p256.js +0 -16
  181. package/esm/p256.js.map +0 -1
  182. package/esm/p384.d.ts +0 -16
  183. package/esm/p384.d.ts.map +0 -1
  184. package/esm/p384.js +0 -16
  185. package/esm/p384.js.map +0 -1
  186. package/esm/p521.d.ts +0 -16
  187. package/esm/p521.d.ts.map +0 -1
  188. package/esm/p521.js +0 -16
  189. package/esm/p521.js.map +0 -1
  190. package/esm/package.json +0 -4
  191. package/esm/pasta.d.ts +0 -10
  192. package/esm/pasta.d.ts.map +0 -1
  193. package/esm/pasta.js +0 -10
  194. package/esm/pasta.js.map +0 -1
  195. package/esm/secp256k1.d.ts +0 -89
  196. package/esm/secp256k1.d.ts.map +0 -1
  197. package/esm/secp256k1.js +0 -294
  198. package/esm/secp256k1.js.map +0 -1
  199. package/esm/utils.d.ts +0 -110
  200. package/esm/utils.d.ts.map +0 -1
  201. package/esm/utils.js +0 -322
  202. package/esm/utils.js.map +0 -1
  203. package/src/_shortw_utils.ts +0 -21
  204. package/src/abstract/utils.ts +0 -7
  205. package/src/jubjub.ts +0 -12
  206. package/src/p256.ts +0 -15
  207. package/src/p384.ts +0 -15
  208. package/src/p521.ts +0 -15
  209. package/src/package.json +0 -3
  210. package/src/pasta.ts +0 -9
package/esm/misc.js DELETED
@@ -1,109 +0,0 @@
1
- /**
2
- * Miscellaneous, rarely used curves.
3
- * jubjub, babyjubjub, pallas, vesta.
4
- * @module
5
- */
6
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
7
- import { blake256 } from '@noble/hashes/blake1.js';
8
- import { blake2s } from '@noble/hashes/blake2.js';
9
- import { sha256, sha512 } from '@noble/hashes/sha2.js';
10
- import { concatBytes, utf8ToBytes } from '@noble/hashes/utils.js';
11
- import { twistedEdwards, } from "./abstract/edwards.js";
12
- import { Field, mod } from "./abstract/modular.js";
13
- import { weierstrass } from "./abstract/weierstrass.js";
14
- import { bls12_381_Fr } from "./bls12-381.js";
15
- import { bn254_Fr } from "./bn254.js";
16
- // Jubjub curves have 𝔽p over scalar fields of other curves. They are friendly to ZK proofs.
17
- // jubjub Fp = bls n. babyjubjub Fp = bn254 n.
18
- // verify manually, check bls12-381.ts and bn254.ts.
19
- const jubjub_CURVE = {
20
- p: bls12_381_Fr.ORDER,
21
- n: BigInt('0xe7db4ea6533afa906673b0101343b00a6682093ccc81082d0970e5ed6f72cb7'),
22
- h: BigInt(8),
23
- a: BigInt('0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000000'),
24
- d: BigInt('0x2a9318e74bfa2b48f5fd9207e6bd7fd4292d7f6d37579d2601065fd6d6343eb1'),
25
- Gx: BigInt('0x11dafe5d23e1218086a365b99fbf3d3be72f6afd7d1f72623e6b071492d1122b'),
26
- Gy: BigInt('0x1d523cf1ddab1a1793132e78c866c0c33e26ba5cc220fed7cc3f870e59d292aa'),
27
- };
28
- /** Curve over scalar field of bls12-381. jubjub Fp = bls n */
29
- export const jubjub = /* @__PURE__ */ twistedEdwards({
30
- ...jubjub_CURVE,
31
- Fp: bls12_381_Fr,
32
- hash: sha512,
33
- });
34
- const babyjubjub_CURVE = {
35
- p: bn254_Fr.ORDER,
36
- n: BigInt('0x30644e72e131a029b85045b68181585d59f76dc1c90770533b94bee1c9093788'),
37
- h: BigInt(8),
38
- a: BigInt('168700'),
39
- d: BigInt('168696'),
40
- Gx: BigInt('0x23343e3445b673d38bcba38f25645adb494b1255b1162bb40f41a59f4d4b45e'),
41
- Gy: BigInt('0xc19139cb84c680a6e14116da06056174a0cfa121e6e5c2450f87d64fc000001'),
42
- };
43
- /** Curve over scalar field of bn254. babyjubjub Fp = bn254 n */
44
- export const babyjubjub = /* @__PURE__ */ twistedEdwards({
45
- ...babyjubjub_CURVE,
46
- Fp: bn254_Fr,
47
- hash: blake256,
48
- });
49
- const jubjub_gh_first_block = utf8ToBytes('096b36a5804bfacef1691e173c366a47ff5ba84a44f26ddd7e8d9f79d5b42df0');
50
- // Returns point at JubJub curve which is prime order and not zero
51
- export function jubjub_groupHash(tag, personalization) {
52
- const h = blake2s.create({ personalization, dkLen: 32 });
53
- h.update(jubjub_gh_first_block);
54
- h.update(tag);
55
- // NOTE: returns ExtendedPoint, in case it will be multiplied later
56
- let p = jubjub.Point.fromBytes(h.digest());
57
- // NOTE: cannot replace with isSmallOrder, returns Point*8
58
- p = p.multiply(jubjub_CURVE.h);
59
- if (p.equals(jubjub.Point.ZERO))
60
- throw new Error('Point has small order');
61
- return p;
62
- }
63
- // No secret data is leaked here at all.
64
- // It operates over public data:
65
- // const G_SPEND = jubjub.findGroupHash(Uint8Array.of(), utf8ToBytes('Item_G_'));
66
- export function jubjub_findGroupHash(m, personalization) {
67
- const tag = concatBytes(m, Uint8Array.of(0));
68
- const hashes = [];
69
- for (let i = 0; i < 256; i++) {
70
- tag[tag.length - 1] = i;
71
- try {
72
- hashes.push(jubjub_groupHash(tag, personalization));
73
- }
74
- catch (e) { }
75
- }
76
- if (!hashes.length)
77
- throw new Error('findGroupHash tag overflow');
78
- return hashes[0];
79
- }
80
- // Pasta curves. See [Spec](https://o1-labs.github.io/proof-systems/specs/pasta.html).
81
- export const pasta_p = BigInt('0x40000000000000000000000000000000224698fc094cf91b992d30ed00000001');
82
- export const pasta_q = BigInt('0x40000000000000000000000000000000224698fc0994a8dd8c46eb2100000001');
83
- /**
84
- * @deprecated
85
- */
86
- export const pallas = weierstrass({
87
- a: BigInt(0),
88
- b: BigInt(5),
89
- Fp: Field(pasta_p),
90
- n: pasta_q,
91
- Gx: mod(BigInt(-1), pasta_p),
92
- Gy: BigInt(2),
93
- h: BigInt(1),
94
- hash: sha256,
95
- });
96
- /**
97
- * @deprecated
98
- */
99
- export const vesta = weierstrass({
100
- a: BigInt(0),
101
- b: BigInt(5),
102
- Fp: Field(pasta_q),
103
- n: pasta_p,
104
- Gx: mod(BigInt(-1), pasta_q),
105
- Gy: BigInt(2),
106
- h: BigInt(1),
107
- hash: sha256,
108
- });
109
- //# sourceMappingURL=misc.js.map
package/esm/misc.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"misc.js","sourceRoot":"","sources":["../src/misc.ts"],"names":[],"mappings":"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"}
package/esm/nist.d.ts DELETED
@@ -1,21 +0,0 @@
1
- import { type CurveFnWithCreate } from './_shortw_utils.ts';
2
- import { type H2CHasher } from './abstract/hash-to-curve.ts';
3
- /** NIST P256 (aka secp256r1, prime256v1) curve, ECDSA and ECDH methods. */
4
- export declare const p256: CurveFnWithCreate;
5
- /** Hashing / encoding to p256 points / field. RFC 9380 methods. */
6
- export declare const p256_hasher: H2CHasher<bigint>;
7
- /** NIST P384 (aka secp384r1) curve, ECDSA and ECDH methods. */
8
- export declare const p384: CurveFnWithCreate;
9
- /** Hashing / encoding to p384 points / field. RFC 9380 methods. */
10
- export declare const p384_hasher: H2CHasher<bigint>;
11
- /** NIST P521 (aka secp521r1) curve, ECDSA and ECDH methods. */
12
- export declare const p521: CurveFnWithCreate;
13
- /** @deprecated use `p256` for consistency with `p256_hasher` */
14
- export declare const secp256r1: typeof p256;
15
- /** @deprecated use `p384` for consistency with `p384_hasher` */
16
- export declare const secp384r1: typeof p384;
17
- /** @deprecated use `p521` for consistency with `p521_hasher` */
18
- export declare const secp521r1: typeof p521;
19
- /** Hashing / encoding to p521 points / field. RFC 9380 methods. */
20
- export declare const p521_hasher: H2CHasher<bigint>;
21
- //# sourceMappingURL=nist.d.ts.map
package/esm/nist.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"nist.d.ts","sourceRoot":"","sources":["../src/nist.ts"],"names":[],"mappings":"AAOA,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AA+E3E,2EAA2E;AAC3E,eAAO,MAAM,IAAI,EAAE,iBAGlB,CAAC;AACF,mEAAmE;AACnE,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,MAAM,CAkBtC,CAAC;AAUL,+DAA+D;AAC/D,eAAO,MAAM,IAAI,EAAE,iBAGlB,CAAC;AACF,mEAAmE;AACnE,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,MAAM,CAkBtC,CAAC;AAWL,+DAA+D;AAC/D,eAAO,MAAM,IAAI,EAAE,iBAGlB,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,SAAS,EAAE,OAAO,IAAW,CAAC;AAC3C,gEAAgE;AAChE,eAAO,MAAM,SAAS,EAAE,OAAO,IAAW,CAAC;AAC3C,gEAAgE;AAChE,eAAO,MAAM,SAAS,EAAE,OAAO,IAAW,CAAC;AAE3C,mEAAmE;AACnE,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,MAAM,CAkBtC,CAAC"}
package/esm/nist.js DELETED
@@ -1,132 +0,0 @@
1
- /**
2
- * Internal module for NIST P256, P384, P521 curves.
3
- * Do not use for now.
4
- * @module
5
- */
6
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
7
- import { sha256, sha384, sha512 } from '@noble/hashes/sha2.js';
8
- import { createCurve } from "./_shortw_utils.js";
9
- import { createHasher } from "./abstract/hash-to-curve.js";
10
- import { Field } from "./abstract/modular.js";
11
- import { mapToCurveSimpleSWU, } from "./abstract/weierstrass.js";
12
- // p = 2n**224n * (2n**32n-1n) + 2n**192n + 2n**96n - 1n
13
- // a = Fp256.create(BigInt('-3'));
14
- const p256_CURVE = {
15
- p: BigInt('0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff'),
16
- n: BigInt('0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551'),
17
- h: BigInt(1),
18
- a: BigInt('0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc'),
19
- b: BigInt('0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b'),
20
- Gx: BigInt('0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296'),
21
- Gy: BigInt('0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5'),
22
- };
23
- // p = 2n**384n - 2n**128n - 2n**96n + 2n**32n - 1n
24
- const p384_CURVE = {
25
- p: BigInt('0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff'),
26
- n: BigInt('0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973'),
27
- h: BigInt(1),
28
- a: BigInt('0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc'),
29
- b: BigInt('0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef'),
30
- Gx: BigInt('0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7'),
31
- Gy: BigInt('0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f'),
32
- };
33
- // p = 2n**521n - 1n
34
- const p521_CURVE = {
35
- p: BigInt('0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'),
36
- n: BigInt('0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409'),
37
- h: BigInt(1),
38
- a: BigInt('0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc'),
39
- b: BigInt('0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00'),
40
- Gx: BigInt('0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66'),
41
- Gy: BigInt('0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650'),
42
- };
43
- const Fp256 = Field(p256_CURVE.p);
44
- const Fp384 = Field(p384_CURVE.p);
45
- const Fp521 = Field(p521_CURVE.p);
46
- function createSWU(Point, opts) {
47
- const map = mapToCurveSimpleSWU(Point.Fp, opts);
48
- return (scalars) => map(scalars[0]);
49
- }
50
- /** NIST P256 (aka secp256r1, prime256v1) curve, ECDSA and ECDH methods. */
51
- export const p256 = createCurve({ ...p256_CURVE, Fp: Fp256, lowS: false }, sha256);
52
- /** Hashing / encoding to p256 points / field. RFC 9380 methods. */
53
- export const p256_hasher = /* @__PURE__ */ (() => {
54
- return createHasher(p256.Point, createSWU(p256.Point, {
55
- A: p256_CURVE.a,
56
- B: p256_CURVE.b,
57
- Z: p256.Point.Fp.create(BigInt('-10')),
58
- }), {
59
- DST: 'P256_XMD:SHA-256_SSWU_RO_',
60
- encodeDST: 'P256_XMD:SHA-256_SSWU_NU_',
61
- p: p256_CURVE.p,
62
- m: 1,
63
- k: 128,
64
- expand: 'xmd',
65
- hash: sha256,
66
- });
67
- })();
68
- // export const p256_oprf: OPRF = createORPF({
69
- // name: 'P256-SHA256',
70
- // Point: p256.Point,
71
- // hash: sha256,
72
- // hashToGroup: p256_hasher.hashToCurve,
73
- // hashToScalar: p256_hasher.hashToScalar,
74
- // });
75
- /** NIST P384 (aka secp384r1) curve, ECDSA and ECDH methods. */
76
- export const p384 = createCurve({ ...p384_CURVE, Fp: Fp384, lowS: false }, sha384);
77
- /** Hashing / encoding to p384 points / field. RFC 9380 methods. */
78
- export const p384_hasher = /* @__PURE__ */ (() => {
79
- return createHasher(p384.Point, createSWU(p384.Point, {
80
- A: p384_CURVE.a,
81
- B: p384_CURVE.b,
82
- Z: p384.Point.Fp.create(BigInt('-12')),
83
- }), {
84
- DST: 'P384_XMD:SHA-384_SSWU_RO_',
85
- encodeDST: 'P384_XMD:SHA-384_SSWU_NU_',
86
- p: p384_CURVE.p,
87
- m: 1,
88
- k: 192,
89
- expand: 'xmd',
90
- hash: sha384,
91
- });
92
- })();
93
- // export const p384_oprf: OPRF = createORPF({
94
- // name: 'P384-SHA384',
95
- // Point: p384.Point,
96
- // hash: sha384,
97
- // hashToGroup: p384_hasher.hashToCurve,
98
- // hashToScalar: p384_hasher.hashToScalar,
99
- // });
100
- // const Fn521 = Field(p521_CURVE.n, { allowedScalarLengths: [65, 66] });
101
- /** NIST P521 (aka secp521r1) curve, ECDSA and ECDH methods. */
102
- export const p521 = createCurve({ ...p521_CURVE, Fp: Fp521, lowS: false, allowedPrivateKeyLengths: [130, 131, 132] }, sha512);
103
- /** @deprecated use `p256` for consistency with `p256_hasher` */
104
- export const secp256r1 = p256;
105
- /** @deprecated use `p384` for consistency with `p384_hasher` */
106
- export const secp384r1 = p384;
107
- /** @deprecated use `p521` for consistency with `p521_hasher` */
108
- export const secp521r1 = p521;
109
- /** Hashing / encoding to p521 points / field. RFC 9380 methods. */
110
- export const p521_hasher = /* @__PURE__ */ (() => {
111
- return createHasher(p521.Point, createSWU(p521.Point, {
112
- A: p521_CURVE.a,
113
- B: p521_CURVE.b,
114
- Z: p521.Point.Fp.create(BigInt('-4')),
115
- }), {
116
- DST: 'P521_XMD:SHA-512_SSWU_RO_',
117
- encodeDST: 'P521_XMD:SHA-512_SSWU_NU_',
118
- p: p521_CURVE.p,
119
- m: 1,
120
- k: 256,
121
- expand: 'xmd',
122
- hash: sha512,
123
- });
124
- })();
125
- // export const p521_oprf: OPRF = createORPF({
126
- // name: 'P521-SHA512',
127
- // Point: p521.Point,
128
- // hash: sha512,
129
- // hashToGroup: p521_hasher.hashToCurve,
130
- // hashToScalar: p521_hasher.hashToScalar, // produces L=98 just like in RFC
131
- // });
132
- //# sourceMappingURL=nist.js.map
package/esm/nist.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"nist.js","sourceRoot":"","sources":["../src/nist.ts"],"names":[],"mappings":"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"}
package/esm/p256.d.ts DELETED
@@ -1,16 +0,0 @@
1
- /**
2
- * NIST secp256r1 aka p256.
3
- * @module
4
- */
5
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
6
- import { type H2CMethod } from './abstract/hash-to-curve.ts';
7
- import { p256 as p256n } from './nist.ts';
8
- /** @deprecated use `import { p256 } from '@noble/curves/nist.js';` */
9
- export declare const p256: typeof p256n;
10
- /** @deprecated use `import { p256 } from '@noble/curves/nist.js';` */
11
- export declare const secp256r1: typeof p256n;
12
- /** @deprecated use `import { p256_hasher } from '@noble/curves/nist.js';` */
13
- export declare const hashToCurve: H2CMethod<bigint>;
14
- /** @deprecated use `import { p256_hasher } from '@noble/curves/nist.js';` */
15
- export declare const encodeToCurve: H2CMethod<bigint>;
16
- //# sourceMappingURL=p256.d.ts.map
package/esm/p256.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"p256.d.ts","sourceRoot":"","sources":["../src/p256.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,sEAAsE;AACtE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAe,IAAI,IAAI,KAAK,EAAE,MAAM,WAAW,CAAC;AACvD,sEAAsE;AACtE,eAAO,MAAM,IAAI,EAAE,OAAO,KAAa,CAAC;AACxC,sEAAsE;AACtE,eAAO,MAAM,SAAS,EAAE,OAAO,KAAa,CAAC;AAC7C,6EAA6E;AAC7E,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,MAAM,CAAqD,CAAC;AAChG,6EAA6E;AAC7E,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,MAAM,CAAuD,CAAC"}
package/esm/p256.js DELETED
@@ -1,16 +0,0 @@
1
- /**
2
- * NIST secp256r1 aka p256.
3
- * @module
4
- */
5
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
6
- import {} from "./abstract/hash-to-curve.js";
7
- import { p256_hasher, p256 as p256n } from "./nist.js";
8
- /** @deprecated use `import { p256 } from '@noble/curves/nist.js';` */
9
- export const p256 = p256n;
10
- /** @deprecated use `import { p256 } from '@noble/curves/nist.js';` */
11
- export const secp256r1 = p256n;
12
- /** @deprecated use `import { p256_hasher } from '@noble/curves/nist.js';` */
13
- export const hashToCurve = /* @__PURE__ */ (() => p256_hasher.hashToCurve)();
14
- /** @deprecated use `import { p256_hasher } from '@noble/curves/nist.js';` */
15
- export const encodeToCurve = /* @__PURE__ */ (() => p256_hasher.encodeToCurve)();
16
- //# sourceMappingURL=p256.js.map
package/esm/p256.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"p256.js","sourceRoot":"","sources":["../src/p256.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,sEAAsE;AACtE,OAAO,EAAkB,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,WAAW,CAAC;AACvD,sEAAsE;AACtE,MAAM,CAAC,MAAM,IAAI,GAAiB,KAAK,CAAC;AACxC,sEAAsE;AACtE,MAAM,CAAC,MAAM,SAAS,GAAiB,KAAK,CAAC;AAC7C,6EAA6E;AAC7E,MAAM,CAAC,MAAM,WAAW,GAAsB,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;AAChG,6EAA6E;AAC7E,MAAM,CAAC,MAAM,aAAa,GAAsB,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC"}
package/esm/p384.d.ts DELETED
@@ -1,16 +0,0 @@
1
- /**
2
- * NIST secp384r1 aka p384.
3
- * @module
4
- */
5
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
6
- import { type H2CMethod } from './abstract/hash-to-curve.ts';
7
- import { p384 as p384n } from './nist.ts';
8
- /** @deprecated use `import { p384 } from '@noble/curves/nist.js';` */
9
- export declare const p384: typeof p384n;
10
- /** @deprecated use `import { p384 } from '@noble/curves/nist.js';` */
11
- export declare const secp384r1: typeof p384n;
12
- /** @deprecated use `import { p384_hasher } from '@noble/curves/nist.js';` */
13
- export declare const hashToCurve: H2CMethod<bigint>;
14
- /** @deprecated use `import { p384_hasher } from '@noble/curves/nist.js';` */
15
- export declare const encodeToCurve: H2CMethod<bigint>;
16
- //# sourceMappingURL=p384.d.ts.map
package/esm/p384.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"p384.d.ts","sourceRoot":"","sources":["../src/p384.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,sEAAsE;AACtE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAe,IAAI,IAAI,KAAK,EAAE,MAAM,WAAW,CAAC;AACvD,sEAAsE;AACtE,eAAO,MAAM,IAAI,EAAE,OAAO,KAAa,CAAC;AACxC,sEAAsE;AACtE,eAAO,MAAM,SAAS,EAAE,OAAO,KAAa,CAAC;AAC7C,6EAA6E;AAC7E,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,MAAM,CAAqD,CAAC;AAChG,6EAA6E;AAC7E,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,MAAM,CAAuD,CAAC"}
package/esm/p384.js DELETED
@@ -1,16 +0,0 @@
1
- /**
2
- * NIST secp384r1 aka p384.
3
- * @module
4
- */
5
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
6
- import {} from "./abstract/hash-to-curve.js";
7
- import { p384_hasher, p384 as p384n } from "./nist.js";
8
- /** @deprecated use `import { p384 } from '@noble/curves/nist.js';` */
9
- export const p384 = p384n;
10
- /** @deprecated use `import { p384 } from '@noble/curves/nist.js';` */
11
- export const secp384r1 = p384n;
12
- /** @deprecated use `import { p384_hasher } from '@noble/curves/nist.js';` */
13
- export const hashToCurve = /* @__PURE__ */ (() => p384_hasher.hashToCurve)();
14
- /** @deprecated use `import { p384_hasher } from '@noble/curves/nist.js';` */
15
- export const encodeToCurve = /* @__PURE__ */ (() => p384_hasher.encodeToCurve)();
16
- //# sourceMappingURL=p384.js.map
package/esm/p384.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"p384.js","sourceRoot":"","sources":["../src/p384.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,sEAAsE;AACtE,OAAO,EAAkB,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,WAAW,CAAC;AACvD,sEAAsE;AACtE,MAAM,CAAC,MAAM,IAAI,GAAiB,KAAK,CAAC;AACxC,sEAAsE;AACtE,MAAM,CAAC,MAAM,SAAS,GAAiB,KAAK,CAAC;AAC7C,6EAA6E;AAC7E,MAAM,CAAC,MAAM,WAAW,GAAsB,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;AAChG,6EAA6E;AAC7E,MAAM,CAAC,MAAM,aAAa,GAAsB,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC"}
package/esm/p521.d.ts DELETED
@@ -1,16 +0,0 @@
1
- /**
2
- * NIST secp521r1 aka p521.
3
- * @module
4
- */
5
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
6
- import { type H2CMethod } from './abstract/hash-to-curve.ts';
7
- import { p521 as p521n } from './nist.ts';
8
- /** @deprecated use `import { p521 } from '@noble/curves/nist.js';` */
9
- export declare const p521: typeof p521n;
10
- /** @deprecated use `import { p521 } from '@noble/curves/nist.js';` */
11
- export declare const secp521r1: typeof p521n;
12
- /** @deprecated use `import { p521_hasher } from '@noble/curves/nist.js';` */
13
- export declare const hashToCurve: H2CMethod<bigint>;
14
- /** @deprecated use `import { p521_hasher } from '@noble/curves/nist.js';` */
15
- export declare const encodeToCurve: H2CMethod<bigint>;
16
- //# sourceMappingURL=p521.d.ts.map
package/esm/p521.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"p521.d.ts","sourceRoot":"","sources":["../src/p521.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,sEAAsE;AACtE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAe,IAAI,IAAI,KAAK,EAAE,MAAM,WAAW,CAAC;AACvD,sEAAsE;AACtE,eAAO,MAAM,IAAI,EAAE,OAAO,KAAa,CAAC;AACxC,sEAAsE;AACtE,eAAO,MAAM,SAAS,EAAE,OAAO,KAAa,CAAC;AAC7C,6EAA6E;AAC7E,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,MAAM,CAAqD,CAAC;AAChG,6EAA6E;AAC7E,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,MAAM,CAAuD,CAAC"}
package/esm/p521.js DELETED
@@ -1,16 +0,0 @@
1
- /**
2
- * NIST secp521r1 aka p521.
3
- * @module
4
- */
5
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
6
- import {} from "./abstract/hash-to-curve.js";
7
- import { p521_hasher, p521 as p521n } from "./nist.js";
8
- /** @deprecated use `import { p521 } from '@noble/curves/nist.js';` */
9
- export const p521 = p521n;
10
- /** @deprecated use `import { p521 } from '@noble/curves/nist.js';` */
11
- export const secp521r1 = p521n;
12
- /** @deprecated use `import { p521_hasher } from '@noble/curves/nist.js';` */
13
- export const hashToCurve = /* @__PURE__ */ (() => p521_hasher.hashToCurve)();
14
- /** @deprecated use `import { p521_hasher } from '@noble/curves/nist.js';` */
15
- export const encodeToCurve = /* @__PURE__ */ (() => p521_hasher.encodeToCurve)();
16
- //# sourceMappingURL=p521.js.map
package/esm/p521.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"p521.js","sourceRoot":"","sources":["../src/p521.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,sEAAsE;AACtE,OAAO,EAAkB,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,WAAW,CAAC;AACvD,sEAAsE;AACtE,MAAM,CAAC,MAAM,IAAI,GAAiB,KAAK,CAAC;AACxC,sEAAsE;AACtE,MAAM,CAAC,MAAM,SAAS,GAAiB,KAAK,CAAC;AAC7C,6EAA6E;AAC7E,MAAM,CAAC,MAAM,WAAW,GAAsB,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;AAChG,6EAA6E;AAC7E,MAAM,CAAC,MAAM,aAAa,GAAsB,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC"}
package/esm/package.json DELETED
@@ -1,4 +0,0 @@
1
- {
2
- "type": "module",
3
- "sideEffects": false
4
- }
package/esm/pasta.d.ts DELETED
@@ -1,10 +0,0 @@
1
- /**
2
- * @deprecated
3
- * @module
4
- */
5
- import { pallas as pn, vesta as vn } from './misc.ts';
6
- /** @deprecated */
7
- export declare const pallas: typeof pn;
8
- /** @deprecated */
9
- export declare const vesta: typeof vn;
10
- //# sourceMappingURL=pasta.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pasta.d.ts","sourceRoot":"","sources":["../src/pasta.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,MAAM,WAAW,CAAC;AACtD,kBAAkB;AAClB,eAAO,MAAM,MAAM,EAAE,OAAO,EAAO,CAAC;AACpC,kBAAkB;AAClB,eAAO,MAAM,KAAK,EAAE,OAAO,EAAO,CAAC"}
package/esm/pasta.js DELETED
@@ -1,10 +0,0 @@
1
- /**
2
- * @deprecated
3
- * @module
4
- */
5
- import { pallas as pn, vesta as vn } from "./misc.js";
6
- /** @deprecated */
7
- export const pallas = pn;
8
- /** @deprecated */
9
- export const vesta = vn;
10
- //# sourceMappingURL=pasta.js.map
package/esm/pasta.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"pasta.js","sourceRoot":"","sources":["../src/pasta.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,MAAM,WAAW,CAAC;AACtD,kBAAkB;AAClB,MAAM,CAAC,MAAM,MAAM,GAAc,EAAE,CAAC;AACpC,kBAAkB;AAClB,MAAM,CAAC,MAAM,KAAK,GAAc,EAAE,CAAC"}
@@ -1,89 +0,0 @@
1
- import { type CurveFnWithCreate } from './_shortw_utils.ts';
2
- import type { CurveLengths } from './abstract/curve.ts';
3
- import { type H2CHasher, type H2CMethod } from './abstract/hash-to-curve.ts';
4
- import { mod } from './abstract/modular.ts';
5
- import { type WeierstrassPoint as PointType, type WeierstrassPointCons } from './abstract/weierstrass.ts';
6
- import type { Hex, PrivKey } from './utils.ts';
7
- import { bytesToNumberBE, numberToBytesBE } from './utils.ts';
8
- /**
9
- * secp256k1 curve, ECDSA and ECDH methods.
10
- *
11
- * Field: `2n**256n - 2n**32n - 2n**9n - 2n**8n - 2n**7n - 2n**6n - 2n**4n - 1n`
12
- *
13
- * @example
14
- * ```js
15
- * import { secp256k1 } from '@noble/curves/secp256k1';
16
- * const { secretKey, publicKey } = secp256k1.keygen();
17
- * const msg = new TextEncoder().encode('hello');
18
- * const sig = secp256k1.sign(msg, secretKey);
19
- * const isValid = secp256k1.verify(sig, msg, publicKey) === true;
20
- * ```
21
- */
22
- export declare const secp256k1: CurveFnWithCreate;
23
- declare function taggedHash(tag: string, ...messages: Uint8Array[]): Uint8Array;
24
- /**
25
- * lift_x from BIP340. Convert 32-byte x coordinate to elliptic curve point.
26
- * @returns valid point checked for being on-curve
27
- */
28
- declare function lift_x(x: bigint): PointType<bigint>;
29
- /**
30
- * Schnorr public key is just `x` coordinate of Point as per BIP340.
31
- */
32
- declare function schnorrGetPublicKey(secretKey: Hex): Uint8Array;
33
- /**
34
- * Creates Schnorr signature as per BIP340. Verifies itself before returning anything.
35
- * auxRand is optional and is not the sole source of k generation: bad CSPRNG won't be dangerous.
36
- */
37
- declare function schnorrSign(message: Hex, secretKey: PrivKey, auxRand?: Hex): Uint8Array;
38
- /**
39
- * Verifies Schnorr signature.
40
- * Will swallow errors & return false except for initial type validation of arguments.
41
- */
42
- declare function schnorrVerify(signature: Hex, message: Hex, publicKey: Hex): boolean;
43
- export type SecpSchnorr = {
44
- keygen: (seed?: Uint8Array) => {
45
- secretKey: Uint8Array;
46
- publicKey: Uint8Array;
47
- };
48
- getPublicKey: typeof schnorrGetPublicKey;
49
- sign: typeof schnorrSign;
50
- verify: typeof schnorrVerify;
51
- Point: WeierstrassPointCons<bigint>;
52
- utils: {
53
- randomSecretKey: (seed?: Uint8Array) => Uint8Array;
54
- pointToBytes: (point: PointType<bigint>) => Uint8Array;
55
- lift_x: typeof lift_x;
56
- taggedHash: typeof taggedHash;
57
- /** @deprecated use `randomSecretKey` */
58
- randomPrivateKey: (seed?: Uint8Array) => Uint8Array;
59
- /** @deprecated use `utils` */
60
- numberToBytesBE: typeof numberToBytesBE;
61
- /** @deprecated use `utils` */
62
- bytesToNumberBE: typeof bytesToNumberBE;
63
- /** @deprecated use `modular` */
64
- mod: typeof mod;
65
- };
66
- lengths: CurveLengths;
67
- };
68
- /**
69
- * Schnorr signatures over secp256k1.
70
- * https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki
71
- * @example
72
- * ```js
73
- * import { schnorr } from '@noble/curves/secp256k1';
74
- * const { secretKey, publicKey } = schnorr.keygen();
75
- * // const publicKey = schnorr.getPublicKey(secretKey);
76
- * const msg = new TextEncoder().encode('hello');
77
- * const sig = schnorr.sign(msg, secretKey);
78
- * const isValid = schnorr.verify(sig, msg, publicKey);
79
- * ```
80
- */
81
- export declare const schnorr: SecpSchnorr;
82
- /** Hashing / encoding to secp256k1 points / field. RFC 9380 methods. */
83
- export declare const secp256k1_hasher: H2CHasher<bigint>;
84
- /** @deprecated use `import { secp256k1_hasher } from '@noble/curves/secp256k1.js';` */
85
- export declare const hashToCurve: H2CMethod<bigint>;
86
- /** @deprecated use `import { secp256k1_hasher } from '@noble/curves/secp256k1.js';` */
87
- export declare const encodeToCurve: H2CMethod<bigint>;
88
- export {};
89
- //# sourceMappingURL=secp256k1.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"secp256k1.d.ts","sourceRoot":"","sources":["../src/secp256k1.ts"],"names":[],"mappings":"AAUA,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,SAAS,EAEf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAyB,GAAG,EAAQ,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAIL,KAAK,gBAAgB,IAAI,SAAS,EAElC,KAAK,oBAAoB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EACL,eAAe,EAIf,eAAe,EAEhB,MAAM,YAAY,CAAC;AAyDpB;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,SAAS,EAAE,iBAGvB,CAAC;AAMF,iBAAS,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,CAQtE;AAeD;;;GAGG;AACH,iBAAS,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAY5C;AASD;;GAEG;AACH,iBAAS,mBAAmB,CAAC,SAAS,EAAE,GAAG,GAAG,UAAU,CAEvD;AAED;;;GAGG;AACH,iBAAS,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAE,GAAqB,GAAG,UAAU,CAgBjG;AAED;;;GAGG;AACH,iBAAS,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAsB5E;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,KAAK;QAAE,SAAS,EAAE,UAAU,CAAC;QAAC,SAAS,EAAE,UAAU,CAAA;KAAE,CAAC;IAChF,YAAY,EAAE,OAAO,mBAAmB,CAAC;IACzC,IAAI,EAAE,OAAO,WAAW,CAAC;IACzB,MAAM,EAAE,OAAO,aAAa,CAAC;IAC7B,KAAK,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACpC,KAAK,EAAE;QACL,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,KAAK,UAAU,CAAC;QACnD,YAAY,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC;QACvD,MAAM,EAAE,OAAO,MAAM,CAAC;QACtB,UAAU,EAAE,OAAO,UAAU,CAAC;QAE9B,wCAAwC;QACxC,gBAAgB,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,KAAK,UAAU,CAAC;QACpD,8BAA8B;QAC9B,eAAe,EAAE,OAAO,eAAe,CAAC;QACxC,8BAA8B;QAC9B,eAAe,EAAE,OAAO,eAAe,CAAC;QACxC,gCAAgC;QAChC,GAAG,EAAE,OAAO,GAAG,CAAC;KACjB,CAAC;IACF,OAAO,EAAE,YAAY,CAAC;CACvB,CAAC;AACF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO,EAAE,WAsClB,CAAC;AA0CL,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAgBzC,CAAC;AAEP,uFAAuF;AACvF,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,MAAM,CACT,CAAC;AAElC,uFAAuF;AACvF,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,MAAM,CACT,CAAC"}