@noble/curves 1.3.0 → 1.4.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 (171) hide show
  1. package/README.md +52 -29
  2. package/_shortw_utils.d.ts +16 -16
  3. package/_shortw_utils.d.ts.map +1 -1
  4. package/_shortw_utils.js +2 -3
  5. package/_shortw_utils.js.map +1 -1
  6. package/abstract/bls.d.ts +28 -26
  7. package/abstract/bls.d.ts.map +1 -1
  8. package/abstract/bls.js +1 -2
  9. package/abstract/bls.js.map +1 -1
  10. package/abstract/curve.d.ts.map +1 -1
  11. package/abstract/curve.js +2 -3
  12. package/abstract/curve.js.map +1 -1
  13. package/abstract/edwards.d.ts +12 -12
  14. package/abstract/edwards.d.ts.map +1 -1
  15. package/abstract/edwards.js +12 -5
  16. package/abstract/edwards.js.map +1 -1
  17. package/abstract/hash-to-curve.d.ts +2 -1
  18. package/abstract/hash-to-curve.d.ts.map +1 -1
  19. package/abstract/hash-to-curve.js +26 -27
  20. package/abstract/hash-to-curve.js.map +1 -1
  21. package/abstract/modular.d.ts.map +1 -1
  22. package/abstract/modular.js +20 -20
  23. package/abstract/modular.js.map +1 -1
  24. package/abstract/montgomery.js +1 -2
  25. package/abstract/montgomery.js.map +1 -1
  26. package/abstract/poseidon.d.ts +2 -2
  27. package/abstract/poseidon.d.ts.map +1 -1
  28. package/abstract/poseidon.js +3 -4
  29. package/abstract/poseidon.js.map +1 -1
  30. package/abstract/utils.d.ts +7 -6
  31. package/abstract/utils.d.ts.map +1 -1
  32. package/abstract/utils.js +35 -34
  33. package/abstract/utils.js.map +1 -1
  34. package/abstract/weierstrass.d.ts +18 -18
  35. package/abstract/weierstrass.d.ts.map +1 -1
  36. package/abstract/weierstrass.js +28 -12
  37. package/abstract/weierstrass.js.map +1 -1
  38. package/bls12-381.d.ts +0 -1
  39. package/bls12-381.d.ts.map +1 -1
  40. package/bls12-381.js +42 -40
  41. package/bls12-381.js.map +1 -1
  42. package/bn254.js +1 -1
  43. package/bn254.js.map +1 -1
  44. package/ed25519.d.ts +4 -4
  45. package/ed25519.d.ts.map +1 -1
  46. package/ed25519.js +34 -30
  47. package/ed25519.js.map +1 -1
  48. package/ed448.d.ts +3 -3
  49. package/ed448.d.ts.map +1 -1
  50. package/ed448.js +6 -3
  51. package/ed448.js.map +1 -1
  52. package/esm/_shortw_utils.d.ts +62 -0
  53. package/esm/_shortw_utils.d.ts.map +1 -0
  54. package/esm/_shortw_utils.js.map +1 -1
  55. package/esm/abstract/bls.d.ts +122 -0
  56. package/esm/abstract/bls.d.ts.map +1 -0
  57. package/esm/abstract/bls.js.map +1 -1
  58. package/esm/abstract/curve.d.ts +70 -0
  59. package/esm/abstract/curve.d.ts.map +1 -0
  60. package/esm/abstract/edwards.d.ts +89 -0
  61. package/esm/abstract/edwards.d.ts.map +1 -0
  62. package/esm/abstract/edwards.js +11 -3
  63. package/esm/abstract/edwards.js.map +1 -1
  64. package/esm/abstract/hash-to-curve.d.ts +58 -0
  65. package/esm/abstract/hash-to-curve.d.ts.map +1 -0
  66. package/esm/abstract/hash-to-curve.js +17 -17
  67. package/esm/abstract/hash-to-curve.js.map +1 -1
  68. package/esm/abstract/modular.d.ts +123 -0
  69. package/esm/abstract/modular.d.ts.map +1 -0
  70. package/esm/abstract/modular.js +1 -1
  71. package/esm/abstract/modular.js.map +1 -1
  72. package/esm/abstract/montgomery.d.ts +26 -0
  73. package/esm/abstract/montgomery.d.ts.map +1 -0
  74. package/esm/abstract/poseidon.d.ts +30 -0
  75. package/esm/abstract/poseidon.d.ts.map +1 -0
  76. package/esm/abstract/poseidon.js.map +1 -1
  77. package/esm/abstract/utils.d.ts +94 -0
  78. package/esm/abstract/utils.d.ts.map +1 -0
  79. package/esm/abstract/utils.js +14 -14
  80. package/esm/abstract/utils.js.map +1 -1
  81. package/esm/abstract/weierstrass.d.ts +237 -0
  82. package/esm/abstract/weierstrass.d.ts.map +1 -0
  83. package/esm/abstract/weierstrass.js +23 -7
  84. package/esm/abstract/weierstrass.js.map +1 -1
  85. package/esm/bls12-381.d.ts +67 -0
  86. package/esm/bls12-381.d.ts.map +1 -0
  87. package/esm/bls12-381.js +42 -40
  88. package/esm/bls12-381.js.map +1 -1
  89. package/esm/bn254.d.ts +9 -0
  90. package/esm/bn254.d.ts.map +1 -0
  91. package/esm/bn254.js +1 -1
  92. package/esm/bn254.js.map +1 -1
  93. package/esm/ed25519.d.ts +78 -0
  94. package/esm/ed25519.d.ts.map +1 -0
  95. package/esm/ed25519.js +31 -27
  96. package/esm/ed25519.js.map +1 -1
  97. package/esm/ed448.d.ts +67 -0
  98. package/esm/ed448.d.ts.map +1 -0
  99. package/esm/ed448.js +5 -2
  100. package/esm/ed448.js.map +1 -1
  101. package/esm/index.d.ts +2 -0
  102. package/esm/index.d.ts.map +1 -0
  103. package/esm/index.js +2 -2
  104. package/esm/index.js.map +1 -1
  105. package/esm/jubjub.d.ts +9 -0
  106. package/esm/jubjub.d.ts.map +1 -0
  107. package/esm/jubjub.js +1 -1
  108. package/esm/jubjub.js.map +1 -1
  109. package/esm/p256.d.ts +105 -0
  110. package/esm/p256.d.ts.map +1 -0
  111. package/esm/p256.js +2 -2
  112. package/esm/p256.js.map +1 -1
  113. package/esm/p384.d.ts +105 -0
  114. package/esm/p384.d.ts.map +1 -0
  115. package/esm/p384.js +2 -2
  116. package/esm/p384.js.map +1 -1
  117. package/esm/p521.d.ts +105 -0
  118. package/esm/p521.d.ts.map +1 -0
  119. package/esm/p521.js +2 -2
  120. package/esm/p521.js.map +1 -1
  121. package/esm/pasta.d.ts +5 -0
  122. package/esm/pasta.d.ts.map +1 -0
  123. package/esm/pasta.js +6 -6
  124. package/esm/pasta.js.map +1 -1
  125. package/esm/secp256k1.d.ts +93 -0
  126. package/esm/secp256k1.d.ts.map +1 -0
  127. package/esm/secp256k1.js +3 -3
  128. package/esm/secp256k1.js.map +1 -1
  129. package/index.js +1 -1
  130. package/index.js.map +1 -1
  131. package/jubjub.js +4 -4
  132. package/jubjub.js.map +1 -1
  133. package/p256.d.ts +32 -32
  134. package/p256.d.ts.map +1 -1
  135. package/p256.js +2 -2
  136. package/p256.js.map +1 -1
  137. package/p384.d.ts +32 -32
  138. package/p384.d.ts.map +1 -1
  139. package/p384.js +2 -2
  140. package/p384.js.map +1 -1
  141. package/p521.d.ts +32 -32
  142. package/p521.d.ts.map +1 -1
  143. package/p521.js +2 -2
  144. package/p521.js.map +1 -1
  145. package/package.json +30 -51
  146. package/pasta.js +6 -6
  147. package/pasta.js.map +1 -1
  148. package/secp256k1.d.ts +18 -18
  149. package/secp256k1.d.ts.map +1 -1
  150. package/secp256k1.js +3 -3
  151. package/secp256k1.js.map +1 -1
  152. package/src/_shortw_utils.ts +1 -1
  153. package/src/abstract/bls.ts +35 -29
  154. package/src/abstract/edwards.ts +3 -2
  155. package/src/abstract/hash-to-curve.ts +18 -17
  156. package/src/abstract/modular.ts +2 -2
  157. package/src/abstract/poseidon.ts +1 -1
  158. package/src/abstract/utils.ts +14 -11
  159. package/src/abstract/weierstrass.ts +11 -5
  160. package/src/bls12-381.ts +47 -45
  161. package/src/bn254.ts +1 -1
  162. package/src/ed25519.ts +76 -68
  163. package/src/ed448.ts +3 -3
  164. package/src/index.ts +1 -1
  165. package/src/jubjub.ts +1 -1
  166. package/src/p256.ts +2 -2
  167. package/src/p384.ts +2 -2
  168. package/src/p521.ts +2 -2
  169. package/src/package.json +3 -0
  170. package/src/pasta.ts +6 -6
  171. package/src/secp256k1.ts +3 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noble/curves",
3
- "version": "1.3.0",
3
+ "version": "1.4.1",
4
4
  "description": "Audited & minimal JS implementation of elliptic curve cryptography",
5
5
  "files": [
6
6
  "abstract",
@@ -14,7 +14,7 @@
14
14
  "scripts": {
15
15
  "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",
16
16
  "build": "tsc && tsc -p tsconfig.esm.json",
17
- "build:release": "cd build; npm install && npm run build",
17
+ "build:release": "cd build && npm i && npm run build",
18
18
  "build:clean": "rm *.{js,d.ts,d.ts.map,js.map} esm/*.{js,d.ts,d.ts.map,js.map} 2> /dev/null",
19
19
  "lint": "prettier --check 'src/**/*.{js,ts}' 'test/*.js'",
20
20
  "format": "prettier --write 'src/**/*.{js,ts}' 'test/*.js'",
@@ -24,131 +24,110 @@
24
24
  "homepage": "https://paulmillr.com/noble/",
25
25
  "repository": {
26
26
  "type": "git",
27
- "url": "https://github.com/paulmillr/noble-curves.git"
27
+ "url": "git+https://github.com/paulmillr/noble-curves.git"
28
28
  },
29
29
  "license": "MIT",
30
30
  "dependencies": {
31
- "@noble/hashes": "1.3.3"
31
+ "@noble/hashes": "1.4.0"
32
32
  },
33
33
  "devDependencies": {
34
+ "@paulmillr/jsbt": "0.2.0",
34
35
  "fast-check": "3.0.0",
35
36
  "micro-bmark": "0.3.1",
36
37
  "micro-should": "0.4.0",
37
- "prettier": "3.1.1",
38
- "typescript": "5.3.2"
38
+ "prettier": "3.3.2",
39
+ "typescript": "5.5.2"
39
40
  },
40
41
  "sideEffects": false,
41
42
  "main": "index.js",
42
43
  "exports": {
43
44
  ".": {
44
- "types": "./index.d.ts",
45
45
  "import": "./esm/index.js",
46
- "default": "./index.js"
46
+ "require": "./index.js"
47
47
  },
48
48
  "./abstract/edwards": {
49
- "types": "./abstract/edwards.d.ts",
50
49
  "import": "./esm/abstract/edwards.js",
51
- "default": "./abstract/edwards.js"
50
+ "require": "./abstract/edwards.js"
52
51
  },
53
52
  "./abstract/modular": {
54
- "types": "./abstract/modular.d.ts",
55
53
  "import": "./esm/abstract/modular.js",
56
- "default": "./abstract/modular.js"
54
+ "require": "./abstract/modular.js"
57
55
  },
58
56
  "./abstract/montgomery": {
59
- "types": "./abstract/montgomery.d.ts",
60
57
  "import": "./esm/abstract/montgomery.js",
61
- "default": "./abstract/montgomery.js"
58
+ "require": "./abstract/montgomery.js"
62
59
  },
63
60
  "./abstract/weierstrass": {
64
- "types": "./abstract/weierstrass.d.ts",
65
61
  "import": "./esm/abstract/weierstrass.js",
66
- "default": "./abstract/weierstrass.js"
62
+ "require": "./abstract/weierstrass.js"
67
63
  },
68
64
  "./abstract/bls": {
69
- "types": "./abstract/bls.d.ts",
70
65
  "import": "./esm/abstract/bls.js",
71
- "default": "./abstract/bls.js"
66
+ "require": "./abstract/bls.js"
72
67
  },
73
68
  "./abstract/hash-to-curve": {
74
- "types": "./abstract/hash-to-curve.d.ts",
75
69
  "import": "./esm/abstract/hash-to-curve.js",
76
- "default": "./abstract/hash-to-curve.js"
70
+ "require": "./abstract/hash-to-curve.js"
77
71
  },
78
72
  "./abstract/curve": {
79
- "types": "./abstract/curve.d.ts",
80
73
  "import": "./esm/abstract/curve.js",
81
- "default": "./abstract/curve.js"
74
+ "require": "./abstract/curve.js"
82
75
  },
83
76
  "./abstract/utils": {
84
- "types": "./abstract/utils.d.ts",
85
77
  "import": "./esm/abstract/utils.js",
86
- "default": "./abstract/utils.js"
78
+ "require": "./abstract/utils.js"
87
79
  },
88
80
  "./abstract/poseidon": {
89
- "types": "./abstract/poseidon.d.ts",
90
81
  "import": "./esm/abstract/poseidon.js",
91
- "default": "./abstract/poseidon.js"
82
+ "require": "./abstract/poseidon.js"
92
83
  },
93
84
  "./_shortw_utils": {
94
- "types": "./_shortw_utils.d.ts",
95
85
  "import": "./esm/_shortw_utils.js",
96
- "default": "./_shortw_utils.js"
86
+ "require": "./_shortw_utils.js"
97
87
  },
98
88
  "./bls12-381": {
99
- "types": "./bls12-381.d.ts",
100
89
  "import": "./esm/bls12-381.js",
101
- "default": "./bls12-381.js"
90
+ "require": "./bls12-381.js"
102
91
  },
103
92
  "./bn254": {
104
- "types": "./bn254.d.ts",
105
93
  "import": "./esm/bn254.js",
106
- "default": "./bn254.js"
94
+ "require": "./bn254.js"
107
95
  },
108
96
  "./ed25519": {
109
- "types": "./ed25519.d.ts",
110
97
  "import": "./esm/ed25519.js",
111
- "default": "./ed25519.js"
98
+ "require": "./ed25519.js"
112
99
  },
113
100
  "./ed448": {
114
- "types": "./ed448.d.ts",
115
101
  "import": "./esm/ed448.js",
116
- "default": "./ed448.js"
102
+ "require": "./ed448.js"
117
103
  },
118
104
  "./index": {
119
- "types": "./index.d.ts",
120
105
  "import": "./esm/index.js",
121
- "default": "./index.js"
106
+ "require": "./index.js"
122
107
  },
123
108
  "./jubjub": {
124
- "types": "./jubjub.d.ts",
125
109
  "import": "./esm/jubjub.js",
126
- "default": "./jubjub.js"
110
+ "require": "./jubjub.js"
127
111
  },
128
112
  "./p256": {
129
- "types": "./p256.d.ts",
130
113
  "import": "./esm/p256.js",
131
- "default": "./p256.js"
114
+ "require": "./p256.js"
132
115
  },
133
116
  "./p384": {
134
- "types": "./p384.d.ts",
135
117
  "import": "./esm/p384.js",
136
- "default": "./p384.js"
118
+ "require": "./p384.js"
137
119
  },
138
120
  "./p521": {
139
- "types": "./p521.d.ts",
140
121
  "import": "./esm/p521.js",
141
- "default": "./p521.js"
122
+ "require": "./p521.js"
142
123
  },
143
124
  "./pasta": {
144
- "types": "./pasta.d.ts",
145
125
  "import": "./esm/pasta.js",
146
- "default": "./pasta.js"
126
+ "require": "./pasta.js"
147
127
  },
148
128
  "./secp256k1": {
149
- "types": "./secp256k1.d.ts",
150
129
  "import": "./esm/secp256k1.js",
151
- "default": "./secp256k1.js"
130
+ "require": "./secp256k1.js"
152
131
  }
153
132
  },
154
133
  "keywords": [
@@ -178,4 +157,4 @@
178
157
  "schnorr"
179
158
  ],
180
159
  "funding": "https://paulmillr.com/funding/"
181
- }
160
+ }
package/pasta.js CHANGED
@@ -3,18 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.vesta = exports.pallas = exports.q = exports.p = void 0;
4
4
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
5
5
  const sha256_1 = require("@noble/hashes/sha256");
6
- const weierstrass_js_1 = require("./abstract/weierstrass.js");
7
6
  const _shortw_utils_js_1 = require("./_shortw_utils.js");
8
- const mod = require("./abstract/modular.js");
7
+ const modular_js_1 = require("./abstract/modular.js");
8
+ const weierstrass_js_1 = require("./abstract/weierstrass.js");
9
9
  exports.p = BigInt('0x40000000000000000000000000000000224698fc094cf91b992d30ed00000001');
10
10
  exports.q = BigInt('0x40000000000000000000000000000000224698fc0994a8dd8c46eb2100000001');
11
11
  // https://neuromancer.sk/std/other/Pallas
12
12
  exports.pallas = (0, weierstrass_js_1.weierstrass)({
13
13
  a: BigInt(0),
14
14
  b: BigInt(5),
15
- Fp: mod.Field(exports.p),
15
+ Fp: (0, modular_js_1.Field)(exports.p),
16
16
  n: exports.q,
17
- Gx: mod.mod(BigInt(-1), exports.p),
17
+ Gx: (0, modular_js_1.mod)(BigInt(-1), exports.p),
18
18
  Gy: BigInt(2),
19
19
  h: BigInt(1),
20
20
  ...(0, _shortw_utils_js_1.getHash)(sha256_1.sha256),
@@ -23,9 +23,9 @@ exports.pallas = (0, weierstrass_js_1.weierstrass)({
23
23
  exports.vesta = (0, weierstrass_js_1.weierstrass)({
24
24
  a: BigInt(0),
25
25
  b: BigInt(5),
26
- Fp: mod.Field(exports.q),
26
+ Fp: (0, modular_js_1.Field)(exports.q),
27
27
  n: exports.p,
28
- Gx: mod.mod(BigInt(-1), exports.q),
28
+ Gx: (0, modular_js_1.mod)(BigInt(-1), exports.q),
29
29
  Gy: BigInt(2),
30
30
  h: BigInt(1),
31
31
  ...(0, _shortw_utils_js_1.getHash)(sha256_1.sha256),
package/pasta.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pasta.js","sourceRoot":"","sources":["src/pasta.ts"],"names":[],"mappings":";;;AAAA,sEAAsE;AACtE,iDAA8C;AAC9C,8DAAwD;AACxD,yDAA6C;AAC7C,6CAA6C;AAEhC,QAAA,CAAC,GAAG,MAAM,CAAC,oEAAoE,CAAC,CAAC;AACjF,QAAA,CAAC,GAAG,MAAM,CAAC,oEAAoE,CAAC,CAAC;AAE9F,0CAA0C;AAC7B,QAAA,MAAM,GAAG,IAAA,4BAAW,EAAC;IAChC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,SAAC,CAAC;IAChB,CAAC,EAAE,SAAC;IACJ,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,SAAC,CAAC;IAC1B,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IACb,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,GAAG,IAAA,0BAAO,EAAC,eAAM,CAAC;CACnB,CAAC,CAAC;AACH,yCAAyC;AAC5B,QAAA,KAAK,GAAG,IAAA,4BAAW,EAAC;IAC/B,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,SAAC,CAAC;IAChB,CAAC,EAAE,SAAC;IACJ,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,SAAC,CAAC;IAC1B,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IACb,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,GAAG,IAAA,0BAAO,EAAC,eAAM,CAAC;CACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"pasta.js","sourceRoot":"","sources":["src/pasta.ts"],"names":[],"mappings":";;;AAAA,sEAAsE;AACtE,iDAA8C;AAC9C,yDAA6C;AAC7C,sDAAmD;AACnD,8DAAwD;AAE3C,QAAA,CAAC,GAAG,MAAM,CAAC,oEAAoE,CAAC,CAAC;AACjF,QAAA,CAAC,GAAG,MAAM,CAAC,oEAAoE,CAAC,CAAC;AAE9F,0CAA0C;AAC7B,QAAA,MAAM,GAAG,IAAA,4BAAW,EAAC;IAChC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,EAAE,EAAE,IAAA,kBAAK,EAAC,SAAC,CAAC;IACZ,CAAC,EAAE,SAAC;IACJ,EAAE,EAAE,IAAA,gBAAG,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,SAAC,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IACb,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,GAAG,IAAA,0BAAO,EAAC,eAAM,CAAC;CACnB,CAAC,CAAC;AACH,yCAAyC;AAC5B,QAAA,KAAK,GAAG,IAAA,4BAAW,EAAC;IAC/B,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,EAAE,EAAE,IAAA,kBAAK,EAAC,SAAC,CAAC;IACZ,CAAC,EAAE,SAAC;IACJ,EAAE,EAAE,IAAA,gBAAG,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,SAAC,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IACb,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACZ,GAAG,IAAA,0BAAO,EAAC,eAAM,CAAC;CACnB,CAAC,CAAC"}
package/secp256k1.d.ts CHANGED
@@ -1,23 +1,23 @@
1
1
  import { mod } from './abstract/modular.js';
2
- import { ProjPointType as PointType } from './abstract/weierstrass.js';
3
2
  import type { Hex, PrivKey } from './abstract/utils.js';
4
3
  import { bytesToNumberBE, numberToBytesBE } from './abstract/utils.js';
4
+ import { ProjPointType as PointType } from './abstract/weierstrass.js';
5
5
  export declare const secp256k1: Readonly<{
6
6
  create: (hash: import("./abstract/utils.js").CHash) => import("./abstract/weierstrass.js").CurveFn;
7
- CURVE: Readonly<{
7
+ CURVE: ReturnType<(curve: import("./abstract/weierstrass.js").CurveType) => Readonly<{
8
8
  readonly nBitLength: number;
9
9
  readonly nByteLength: number;
10
10
  readonly Fp: import("./abstract/modular.js").IField<bigint>;
11
11
  readonly n: bigint;
12
12
  readonly h: bigint;
13
- readonly hEff?: bigint | undefined;
13
+ readonly hEff?: bigint;
14
14
  readonly Gx: bigint;
15
15
  readonly Gy: bigint;
16
- readonly allowInfinityPoint?: boolean | undefined;
16
+ readonly allowInfinityPoint?: boolean;
17
17
  readonly a: bigint;
18
18
  readonly b: bigint;
19
- readonly allowedPrivateKeyLengths?: readonly number[] | undefined;
20
- readonly wrapPrivateKey?: boolean | undefined;
19
+ readonly allowedPrivateKeyLengths?: readonly number[];
20
+ readonly wrapPrivateKey?: boolean;
21
21
  readonly endo?: {
22
22
  beta: bigint;
23
23
  splitScalar: (k: bigint) => {
@@ -26,31 +26,31 @@ export declare const secp256k1: Readonly<{
26
26
  k2neg: boolean;
27
27
  k2: bigint;
28
28
  };
29
- } | undefined;
29
+ };
30
30
  readonly isTorsionFree?: ((c: import("./abstract/weierstrass.js").ProjConstructor<bigint>, point: PointType<bigint>) => boolean) | undefined;
31
31
  readonly clearCofactor?: ((c: import("./abstract/weierstrass.js").ProjConstructor<bigint>, point: PointType<bigint>) => PointType<bigint>) | undefined;
32
32
  readonly hash: import("./abstract/utils.js").CHash;
33
33
  readonly hmac: (key: Uint8Array, ...messages: Uint8Array[]) => Uint8Array;
34
- readonly randomBytes: (bytesLength?: number | undefined) => Uint8Array;
34
+ readonly randomBytes: (bytesLength?: number) => Uint8Array;
35
35
  lowS: boolean;
36
- readonly bits2int?: ((bytes: Uint8Array) => bigint) | undefined;
37
- readonly bits2int_modN?: ((bytes: Uint8Array) => bigint) | undefined;
36
+ readonly bits2int?: (bytes: Uint8Array) => bigint;
37
+ readonly bits2int_modN?: (bytes: Uint8Array) => bigint;
38
38
  readonly p: bigint;
39
- }>;
40
- getPublicKey: (privateKey: PrivKey, isCompressed?: boolean | undefined) => Uint8Array;
41
- getSharedSecret: (privateA: PrivKey, publicB: Hex, isCompressed?: boolean | undefined) => Uint8Array;
42
- sign: (msgHash: Hex, privKey: PrivKey, opts?: import("./abstract/weierstrass.js").SignOpts | undefined) => import("./abstract/weierstrass.js").RecoveredSignatureType;
39
+ }>>;
40
+ getPublicKey: (privateKey: PrivKey, isCompressed?: boolean) => Uint8Array;
41
+ getSharedSecret: (privateA: PrivKey, publicB: Hex, isCompressed?: boolean) => Uint8Array;
42
+ sign: (msgHash: Hex, privKey: PrivKey, opts?: import("./abstract/weierstrass.js").SignOpts) => import("./abstract/weierstrass.js").RecoveredSignatureType;
43
43
  verify: (signature: Hex | {
44
44
  r: bigint;
45
45
  s: bigint;
46
- }, msgHash: Hex, publicKey: Hex, opts?: import("./abstract/weierstrass.js").VerOpts | undefined) => boolean;
46
+ }, msgHash: Hex, publicKey: Hex, opts?: import("./abstract/weierstrass.js").VerOpts) => boolean;
47
47
  ProjectivePoint: import("./abstract/weierstrass.js").ProjConstructor<bigint>;
48
48
  Signature: import("./abstract/weierstrass.js").SignatureConstructor;
49
49
  utils: {
50
50
  normPrivateKeyToScalar: (key: PrivKey) => bigint;
51
51
  isValidPrivateKey(privateKey: PrivKey): boolean;
52
52
  randomPrivateKey: () => Uint8Array;
53
- precompute: (windowSize?: number | undefined, point?: PointType<bigint> | undefined) => PointType<bigint>;
53
+ precompute: (windowSize?: number, point?: PointType<bigint>) => PointType<bigint>;
54
54
  };
55
55
  }>;
56
56
  declare function taggedHash(tag: string, ...messages: Uint8Array[]): Uint8Array;
@@ -87,7 +87,7 @@ export declare const schnorr: {
87
87
  mod: typeof mod;
88
88
  };
89
89
  };
90
- export declare const hashToCurve: (msg: Uint8Array, options?: import("./abstract/hash-to-curve.js").htfBasicOpts | undefined) => import("./abstract/hash-to-curve.js").H2CPoint<bigint>;
91
- export declare const encodeToCurve: (msg: Uint8Array, options?: import("./abstract/hash-to-curve.js").htfBasicOpts | undefined) => import("./abstract/hash-to-curve.js").H2CPoint<bigint>;
90
+ export declare const hashToCurve: (msg: Uint8Array, options?: import("./abstract/hash-to-curve.js").htfBasicOpts) => import("./abstract/hash-to-curve.js").H2CPoint<bigint>;
91
+ export declare const encodeToCurve: (msg: Uint8Array, options?: import("./abstract/hash-to-curve.js").htfBasicOpts) => import("./abstract/hash-to-curve.js").H2CPoint<bigint>;
92
92
  export {};
93
93
  //# sourceMappingURL=secp256k1.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"secp256k1.d.ts","sourceRoot":"","sources":["src/secp256k1.ts"],"names":[],"mappings":"AAGA,OAAO,EAAS,GAAG,EAAQ,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,IAAI,SAAS,EAAuB,MAAM,2BAA2B,CAAC;AAC5F,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAA4B,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAwCjG,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2CrB,CAAC;AASF,iBAAS,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,CAQtE;AAkBD;;;GAGG;AACH,iBAAS,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAS5C;AAQD;;GAEG;AACH,iBAAS,mBAAmB,CAAC,UAAU,EAAE,GAAG,GAAG,UAAU,CAExD;AAED;;;GAGG;AACH,iBAAS,WAAW,CAClB,OAAO,EAAE,GAAG,EACZ,UAAU,EAAE,OAAO,EACnB,OAAO,GAAE,GAAqB,GAC7B,UAAU,CAgBZ;AAED;;;GAGG;AACH,iBAAS,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAiB5E;AAED,eAAO,MAAM,OAAO;;;;;;;8BA5FS,UAAU,MAAM,CAAC;;;;;;CAyGzC,CAAC;AA0DN,eAAO,MAAM,WAAW,uJAA4C,CAAC;AACrE,eAAO,MAAM,aAAa,uJAA8C,CAAC"}
1
+ {"version":3,"file":"secp256k1.d.ts","sourceRoot":"","sources":["src/secp256k1.ts"],"names":[],"mappings":"AAKA,OAAO,EAAS,GAAG,EAAQ,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAA4B,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,aAAa,IAAI,SAAS,EAAuB,MAAM,2BAA2B,CAAC;AAsC5F,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAoOq0Y,CAAC;;;;;;oDAAwmB,CAAC;mEAA2F,CAAC;+CAAuE,CAAC;;;;yCAAoH,CAAC;;;;;;;+BAA+R,CAAC,eAAe,CAAC;;EAzL7gb,CAAC;AASF,iBAAS,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,CAQtE;AAkBD;;;GAGG;AACH,iBAAS,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAS5C;AAQD;;GAEG;AACH,iBAAS,mBAAmB,CAAC,UAAU,EAAE,GAAG,GAAG,UAAU,CAExD;AAED;;;GAGG;AACH,iBAAS,WAAW,CAClB,OAAO,EAAE,GAAG,EACZ,UAAU,EAAE,OAAO,EACnB,OAAO,GAAE,GAAqB,GAC7B,UAAU,CAgBZ;AAED;;;GAGG;AACH,iBAAS,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAiB5E;AAED,eAAO,MAAM,OAAO;;;;;;;8BA5FS,SAAS,CAAC,MAAM,CAAC;;;;;;CAyGzC,CAAC;AA0DN,eAAO,MAAM,WAAW,2IAA4C,CAAC;AACrE,eAAO,MAAM,aAAa,2IAA8C,CAAC"}
package/secp256k1.js CHANGED
@@ -4,11 +4,11 @@ exports.encodeToCurve = exports.hashToCurve = exports.schnorr = exports.secp256k
4
4
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
5
5
  const sha256_1 = require("@noble/hashes/sha256");
6
6
  const utils_1 = require("@noble/hashes/utils");
7
+ const _shortw_utils_js_1 = require("./_shortw_utils.js");
8
+ const hash_to_curve_js_1 = require("./abstract/hash-to-curve.js");
7
9
  const modular_js_1 = require("./abstract/modular.js");
8
- const weierstrass_js_1 = require("./abstract/weierstrass.js");
9
10
  const utils_js_1 = require("./abstract/utils.js");
10
- const hash_to_curve_js_1 = require("./abstract/hash-to-curve.js");
11
- const _shortw_utils_js_1 = require("./_shortw_utils.js");
11
+ const weierstrass_js_1 = require("./abstract/weierstrass.js");
12
12
  const secp256k1P = BigInt('0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f');
13
13
  const secp256k1N = BigInt('0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141');
14
14
  const _1n = BigInt(1);
package/secp256k1.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"secp256k1.js","sourceRoot":"","sources":["src/secp256k1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secp256k1.js","sourceRoot":"","sources":["src/secp256k1.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
2
2
  import { hmac } from '@noble/hashes/hmac';
3
3
  import { concatBytes, randomBytes } from '@noble/hashes/utils';
4
- import { weierstrass, CurveType } from './abstract/weierstrass.js';
5
4
  import { CHash } from './abstract/utils.js';
5
+ import { CurveType, weierstrass } from './abstract/weierstrass.js';
6
6
 
7
7
  // connects noble-curves to noble-hashes
8
8
  export function getHash(hash: CHash) {
@@ -1,16 +1,5 @@
1
1
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
2
- /**
3
- * BLS (Barreto-Lynn-Scott) family of pairing-friendly curves.
4
- * Implements BLS (Boneh-Lynn-Shacham) signatures.
5
- * Consists of two curves: G1 and G2:
6
- * - G1 is a subgroup of (x, y) E(Fq) over y² = x³ + 4.
7
- * - G2 is a subgroup of ((x₁, x₂+i), (y₁, y₂+i)) E(Fq²) over y² = x³ + 4(1 + i) where i is √-1
8
- * - Gt, created by bilinear (ate) pairing e(G1, G2), consists of p-th roots of unity in
9
- * Fq^k where k is embedding degree. Only degree 12 is currently supported, 24 is not.
10
- * Pairing is used to aggregate and verify signatures.
11
- * We are using Fp for private keys (shorter) and Fp₂ for signatures (longer).
12
- * Some projects may prefer to swap this relation, it is not supported for now.
13
- */
2
+ // BLS (Barreto-Lynn-Scott) family of pairing-friendly curves.
14
3
  import { AffinePoint } from './curve.js';
15
4
  import { IField, getMinHashLength, mapHashToField } from './modular.js';
16
5
  import { Hex, PrivKey, CHash, bitLen, bitGet, ensureBytes } from './utils.js';
@@ -26,6 +15,19 @@ import {
26
15
  weierstrassPoints,
27
16
  } from './weierstrass.js';
28
17
 
18
+ /**
19
+ * BLS (Barreto-Lynn-Scott) family of pairing-friendly curves.
20
+ * Implements BLS (Boneh-Lynn-Shacham) signatures.
21
+ * Consists of two curves: G1 and G2:
22
+ * - G1 is a subgroup of (x, y) E(Fq) over y² = x³ + 4.
23
+ * - G2 is a subgroup of ((x₁, x₂+i), (y₁, y₂+i)) E(Fq²) over y² = x³ + 4(1 + i) where i is √-1
24
+ * - Gt, created by bilinear (ate) pairing e(G1, G2), consists of p-th roots of unity in
25
+ * Fq^k where k is embedding degree. Only degree 12 is currently supported, 24 is not.
26
+ * Pairing is used to aggregate and verify signatures.
27
+ * We are using Fp for private keys (shorter) and Fp₂ for signatures (longer).
28
+ * Some projects may prefer to swap this relation, it is not supported for now.
29
+ **/
30
+
29
31
  type Fp = bigint; // Can be different field?
30
32
 
31
33
  // prettier-ignore
@@ -43,6 +45,19 @@ export type SignatureCoder<Fp2> = {
43
45
  toHex(point: ProjPointType<Fp2>): string;
44
46
  };
45
47
 
48
+ type Fp2Bls<Fp, Fp2> = IField<Fp2> & {
49
+ reim: (num: Fp2) => { re: Fp; im: Fp };
50
+ multiplyByB: (num: Fp2) => Fp2;
51
+ frobeniusMap(num: Fp2, power: number): Fp2;
52
+ };
53
+
54
+ type Fp12Bls<Fp2, Fp12> = IField<Fp12> & {
55
+ frobeniusMap(num: Fp12, power: number): Fp12;
56
+ multiplyBy014(num: Fp12, o0: Fp2, o1: Fp2, o4: Fp2): Fp12;
57
+ conjugate(num: Fp12): Fp12;
58
+ finalExponentiate(num: Fp12): Fp12;
59
+ };
60
+
46
61
  export type CurveType<Fp, Fp2, Fp6, Fp12> = {
47
62
  G1: Omit<CurvePointsType<Fp>, 'n'> & {
48
63
  ShortSignature: SignatureCoder<Fp>;
@@ -57,18 +72,9 @@ export type CurveType<Fp, Fp2, Fp6, Fp12> = {
57
72
  fields: {
58
73
  Fp: IField<Fp>;
59
74
  Fr: IField<bigint>;
60
- Fp2: IField<Fp2> & {
61
- reim: (num: Fp2) => { re: bigint; im: bigint };
62
- multiplyByB: (num: Fp2) => Fp2;
63
- frobeniusMap(num: Fp2, power: number): Fp2;
64
- };
75
+ Fp2: Fp2Bls<Fp, Fp2>;
65
76
  Fp6: IField<Fp6>;
66
- Fp12: IField<Fp12> & {
67
- frobeniusMap(num: Fp12, power: number): Fp12;
68
- multiplyBy014(num: Fp12, o0: Fp2, o1: Fp2, o4: Fp2): Fp12;
69
- conjugate(num: Fp12): Fp12;
70
- finalExponentiate(num: Fp12): Fp12;
71
- };
77
+ Fp12: Fp12Bls<Fp2, Fp12>;
72
78
  };
73
79
  params: {
74
80
  x: bigint;
@@ -83,12 +89,12 @@ export type CurveFn<Fp, Fp2, Fp6, Fp12> = {
83
89
  getPublicKey: (privateKey: PrivKey) => Uint8Array;
84
90
  getPublicKeyForShortSignatures: (privateKey: PrivKey) => Uint8Array;
85
91
  sign: {
86
- (message: Hex, privateKey: PrivKey): Uint8Array;
87
- (message: ProjPointType<Fp2>, privateKey: PrivKey): ProjPointType<Fp2>;
92
+ (message: Hex, privateKey: PrivKey, htfOpts?: htfBasicOpts): Uint8Array;
93
+ (message: ProjPointType<Fp2>, privateKey: PrivKey, htfOpts?: htfBasicOpts): ProjPointType<Fp2>;
88
94
  };
89
95
  signShortSignature: {
90
- (message: Hex, privateKey: PrivKey): Uint8Array;
91
- (message: ProjPointType<Fp>, privateKey: PrivKey): ProjPointType<Fp>;
96
+ (message: Hex, privateKey: PrivKey, htfOpts?: htfBasicOpts): Uint8Array;
97
+ (message: ProjPointType<Fp>, privateKey: PrivKey, htfOpts?: htfBasicOpts): ProjPointType<Fp>;
92
98
  };
93
99
  verify: (
94
100
  signature: Hex | ProjPointType<Fp2>,
@@ -134,9 +140,9 @@ export type CurveFn<Fp, Fp2, Fp6, Fp12> = {
134
140
  };
135
141
  fields: {
136
142
  Fp: IField<Fp>;
137
- Fp2: IField<Fp2>;
143
+ Fp2: Fp2Bls<Fp, Fp2>;
138
144
  Fp6: IField<Fp6>;
139
- Fp12: IField<Fp12>;
145
+ Fp12: Fp12Bls<Fp2, Fp12>;
140
146
  Fr: IField<bigint>;
141
147
  };
142
148
  utils: {
@@ -1,9 +1,9 @@
1
1
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
2
2
  // Twisted Edwards curve. The formula is: ax² + y² = 1 + dx²y²
3
+ import { AffinePoint, BasicCurve, Group, GroupConstructor, validateBasic, wNAF } from './curve.js';
3
4
  import { mod } from './modular.js';
4
5
  import * as ut from './utils.js';
5
6
  import { ensureBytes, FHash, Hex } from './utils.js';
6
- import { Group, GroupConstructor, wNAF, BasicCurve, validateBasic, AffinePoint } from './curve.js';
7
7
 
8
8
  // Be friendly to bad ECMAScript parsers by not using bigint literals
9
9
  // prettier-ignore
@@ -372,7 +372,8 @@ export function twistedEdwards(curveDef: CurveType): CurveFn {
372
372
  // y=0 is allowed
373
373
  } else {
374
374
  // RFC8032 prohibits >= p, but ZIP215 doesn't
375
- if (zip215) assertInRange(y, MASK); // zip215=true [1..P-1] (2^255-19-1 for ed25519)
375
+ if (zip215)
376
+ assertInRange(y, MASK); // zip215=true [1..P-1] (2^255-19-1 for ed25519)
376
377
  else assertInRange(y, Fp.ORDER); // zip215=false [1..MASK-1] (2^256-1 for ed25519)
377
378
  }
378
379
 
@@ -1,8 +1,8 @@
1
1
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
2
- import type { Group, GroupConstructor, AffinePoint } from './curve.js';
3
- import { mod, IField } from './modular.js';
2
+ import type { AffinePoint, Group, GroupConstructor } from './curve.js';
3
+ import { IField, mod } from './modular.js';
4
4
  import type { CHash } from './utils.js';
5
- import { bytesToNumberBE, isBytes, concatBytes, utf8ToBytes, validateObject } from './utils.js';
5
+ import { abytes, bytesToNumberBE, concatBytes, utf8ToBytes, validateObject } from './utils.js';
6
6
 
7
7
  /**
8
8
  * * `DST` is a domain separation tag, defined in section 2.2.5
@@ -22,12 +22,6 @@ export type Opts = {
22
22
  hash: CHash;
23
23
  };
24
24
 
25
- function validateDST(dst: UnicodeOrBytes): Uint8Array {
26
- if (isBytes(dst)) return dst;
27
- if (typeof dst === 'string') return utf8ToBytes(dst);
28
- throw new Error('DST must be Uint8Array or string');
29
- }
30
-
31
25
  // Octet Stream to Integer. "spec" implementation of os2ip is 2.5x slower vs bytesToNumberBE.
32
26
  const os2ip = bytesToNumberBE;
33
27
 
@@ -52,10 +46,7 @@ function strxor(a: Uint8Array, b: Uint8Array): Uint8Array {
52
46
  return arr;
53
47
  }
54
48
 
55
- function abytes(item: unknown): void {
56
- if (!isBytes(item)) throw new Error('Uint8Array expected');
57
- }
58
- function isNum(item: unknown): void {
49
+ function anum(item: unknown): void {
59
50
  if (!Number.isSafeInteger(item)) throw new Error('number expected');
60
51
  }
61
52
 
@@ -69,7 +60,7 @@ export function expand_message_xmd(
69
60
  ): Uint8Array {
70
61
  abytes(msg);
71
62
  abytes(DST);
72
- isNum(lenInBytes);
63
+ anum(lenInBytes);
73
64
  // https://www.rfc-editor.org/rfc/rfc9380#section-5.3.3
74
65
  if (DST.length > 255) DST = H(concatBytes(utf8ToBytes('H2C-OVERSIZE-DST-'), DST));
75
66
  const { outputLen: b_in_bytes, blockLen: r_in_bytes } = H;
@@ -103,7 +94,7 @@ export function expand_message_xof(
103
94
  ): Uint8Array {
104
95
  abytes(msg);
105
96
  abytes(DST);
106
- isNum(lenInBytes);
97
+ anum(lenInBytes);
107
98
  // https://www.rfc-editor.org/rfc/rfc9380#section-5.3.3
108
99
  // DST = H('H2C-OVERSIZE-DST-' || a_very_long_DST, Math.ceil((lenInBytes * k) / 8));
109
100
  if (DST.length > 255) {
@@ -141,8 +132,8 @@ export function hash_to_field(msg: Uint8Array, count: number, options: Opts): bi
141
132
  });
142
133
  const { p, k, m, hash, expand, DST: _DST } = options;
143
134
  abytes(msg);
144
- isNum(count);
145
- const DST = validateDST(_DST);
135
+ anum(count);
136
+ const DST = typeof _DST === 'string' ? utf8ToBytes(_DST) : _DST;
146
137
  const log2p = p.toString(2).length;
147
138
  const L = Math.ceil((log2p + k) / 8); // section 5.1 of ietf draft link above
148
139
  const len_in_bytes = count * m * L;
@@ -226,5 +217,15 @@ export function createHasher<T>(
226
217
  P.assertValidity();
227
218
  return P;
228
219
  },
220
+ // Same as encodeToCurve, but without hash
221
+ mapToCurve(scalars: bigint[]) {
222
+ if (!Array.isArray(scalars)) throw new Error('mapToCurve: expected array of bigints');
223
+ for (const i of scalars)
224
+ if (typeof i !== 'bigint')
225
+ throw new Error(`mapToCurve: expected array of bigints, got ${i} in array`);
226
+ const P = Point.fromAffine(mapToCurve(scalars)).clearCofactor();
227
+ P.assertValidity();
228
+ return P;
229
+ },
229
230
  };
230
231
  }
@@ -2,11 +2,11 @@
2
2
  // Utilities for modular arithmetics and finite fields
3
3
  import {
4
4
  bitMask,
5
- numberToBytesBE,
6
- numberToBytesLE,
7
5
  bytesToNumberBE,
8
6
  bytesToNumberLE,
9
7
  ensureBytes,
8
+ numberToBytesBE,
9
+ numberToBytesLE,
10
10
  validateObject,
11
11
  } from './utils.js';
12
12
  // prettier-ignore
@@ -1,6 +1,6 @@
1
1
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
2
2
  // Poseidon Hash: https://eprint.iacr.org/2019/458.pdf, https://www.poseidon-hash.info
3
- import { IField, FpPow, validateField } from './modular.js';
3
+ import { FpPow, IField, validateField } from './modular.js';
4
4
  // We don't provide any constants, since different implementations use different constants.
5
5
  // For reference constants see './test/poseidon.test.js'.
6
6
  export type PoseidonOpts = {