@airgap/coinlib-core 0.13.46 → 0.13.47
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.
- package/dependencies/src/axios-0.33.0/index.d.ts +345 -0
- package/dependencies/src/axios-0.33.0/lib/adapters/http.js +771 -0
- package/dependencies/src/axios-0.33.0/lib/adapters/xhr.js +305 -0
- package/dependencies/src/{axios-0.19.0 → axios-0.33.0}/lib/axios.js +22 -7
- package/dependencies/src/axios-0.33.0/lib/cancel/CancelToken.js +118 -0
- package/dependencies/src/axios-0.33.0/lib/cancel/CanceledError.js +24 -0
- package/dependencies/src/axios-0.33.0/lib/core/Axios.js +178 -0
- package/dependencies/src/axios-0.33.0/lib/core/AxiosError.js +173 -0
- package/dependencies/src/{axios-0.19.0 → axios-0.33.0}/lib/core/InterceptorManager.js +13 -2
- package/dependencies/src/axios-0.33.0/lib/core/buildFullPath.js +23 -0
- package/dependencies/src/{axios-0.19.0 → axios-0.33.0}/lib/core/dispatchRequest.js +34 -16
- package/dependencies/src/axios-0.33.0/lib/core/mergeConfig.js +117 -0
- package/dependencies/src/{axios-0.19.0 → axios-0.33.0}/lib/core/settle.js +4 -4
- package/dependencies/src/{axios-0.19.0 → axios-0.33.0}/lib/core/transformData.js +5 -2
- package/dependencies/src/axios-0.33.0/lib/defaults/index.js +181 -0
- package/dependencies/src/axios-0.33.0/lib/defaults/transitional.js +7 -0
- package/dependencies/src/axios-0.33.0/lib/env/classes/FormData.js +2 -0
- package/dependencies/src/axios-0.33.0/lib/env/data.js +3 -0
- package/dependencies/src/axios-0.33.0/lib/helpers/AxiosURLSearchParams.js +50 -0
- package/dependencies/src/axios-0.33.0/lib/helpers/bind.js +7 -0
- package/dependencies/src/axios-0.33.0/lib/helpers/buildURL.js +63 -0
- package/dependencies/src/{axios-0.19.0 → axios-0.33.0}/lib/helpers/combineURLs.js +1 -1
- package/dependencies/src/{axios-0.19.0 → axios-0.33.0}/lib/helpers/cookies.js +15 -2
- package/dependencies/src/axios-0.33.0/lib/helpers/defaultRedactKeys.js +3 -0
- package/dependencies/src/axios-0.33.0/lib/helpers/estimateDataURLDecodedBytes.js +79 -0
- package/dependencies/src/axios-0.33.0/lib/helpers/formDataToJSON.js +91 -0
- package/dependencies/src/axios-0.33.0/lib/helpers/fromDataURI.js +51 -0
- package/dependencies/src/{axios-0.19.0 → axios-0.33.0}/lib/helpers/isAbsoluteURL.js +1 -1
- package/dependencies/src/axios-0.33.0/lib/helpers/isAxiosError.js +13 -0
- package/dependencies/src/{axios-0.19.0 → axios-0.33.0}/lib/helpers/isURLSameOrigin.js +12 -12
- package/dependencies/src/axios-0.33.0/lib/helpers/null.js +2 -0
- package/dependencies/src/{axios-0.19.0 → axios-0.33.0}/lib/helpers/parseHeaders.js +2 -2
- package/dependencies/src/axios-0.33.0/lib/helpers/parseProtocol.js +6 -0
- package/dependencies/src/axios-0.33.0/lib/helpers/sanitizeHeaderValue.js +22 -0
- package/dependencies/src/axios-0.33.0/lib/helpers/shouldBypassProxy.js +187 -0
- package/dependencies/src/axios-0.33.0/lib/helpers/toFormData.js +212 -0
- package/dependencies/src/axios-0.33.0/lib/helpers/toURLEncodedForm.js +18 -0
- package/dependencies/src/axios-0.33.0/lib/helpers/validator.js +86 -0
- package/dependencies/src/axios-0.33.0/lib/platform/browser/classes/FormData.js +3 -0
- package/dependencies/src/axios-0.33.0/lib/platform/browser/classes/URLSearchParams.js +5 -0
- package/dependencies/src/axios-0.33.0/lib/platform/browser/index.js +11 -0
- package/dependencies/src/axios-0.33.0/lib/platform/index.js +3 -0
- package/dependencies/src/axios-0.33.0/lib/platform/node/classes/FormData.js +3 -0
- package/dependencies/src/axios-0.33.0/lib/platform/node/classes/URLSearchParams.js +5 -0
- package/dependencies/src/axios-0.33.0/lib/platform/node/index.js +11 -0
- package/dependencies/src/axios-0.33.0/lib/utils.js +565 -0
- package/dependencies/src/axios-0.33.0/package.json +100 -0
- package/dependencies/src/{bn.js-4.11.8 → bn.js-4.11.9}/lib/bn.js +7 -1
- package/dependencies/src/{elliptic-6.5.3 → elliptic-6.6.1}/lib/elliptic/curve/base.js +36 -31
- package/dependencies/src/{elliptic-6.5.1 → elliptic-6.6.1}/lib/elliptic/curve/edwards.js +13 -10
- package/dependencies/src/{elliptic-6.5.3 → elliptic-6.6.1}/lib/elliptic/curve/mont.js +1 -1
- package/dependencies/src/{elliptic-6.5.1 → elliptic-6.6.1}/lib/elliptic/curve/short.js +48 -47
- package/dependencies/src/{elliptic-6.5.3 → elliptic-6.6.1}/lib/elliptic/curves.js +21 -21
- package/dependencies/src/{elliptic-6.5.1 → elliptic-6.6.1}/lib/elliptic/ec/index.js +53 -16
- package/dependencies/src/{elliptic-6.5.3 → elliptic-6.6.1}/lib/elliptic/ec/key.js +8 -5
- package/dependencies/src/{elliptic-6.5.3 → elliptic-6.6.1}/lib/elliptic/ec/signature.js +11 -1
- package/dependencies/src/{elliptic-6.5.3 → elliptic-6.6.1}/lib/elliptic/eddsa/index.js +5 -2
- package/dependencies/src/{elliptic-6.5.3 → elliptic-6.6.1}/lib/elliptic/eddsa/signature.js +3 -2
- package/dependencies/src/{elliptic-6.5.1 → elliptic-6.6.1}/lib/elliptic/precomputed/secp256k1.js +197 -197
- package/dependencies/src/{elliptic-6.5.3 → elliptic-6.6.1}/lib/elliptic/utils.js +12 -9
- package/dependencies/src/{elliptic-6.5.1 → elliptic-6.6.1}/package.json +20 -22
- package/dependencies/src/ethereumjs-util-5.2.0/index.js +1 -1
- package/dependencies/src/follow-redirects-1.16.0/debug.js +15 -0
- package/dependencies/src/follow-redirects-1.16.0/index.js +709 -0
- package/dependencies/src/follow-redirects-1.16.0/package.json +58 -0
- package/dependencies/src/proxy-from-env-1.1.0/index.js +108 -0
- package/dependencies/src/proxy-from-env-1.1.0/package.json +34 -0
- package/dependencies/src/secp256k1-3.7.1/lib/elliptic/index.js +2 -2
- package/dependencies/src/secp256k1-4.0.2/lib/elliptic.js +1 -1
- package/dependencies/src/tiny-secp256k1-1.1.3/js.js +2 -2
- package/errors/index.d.ts +2 -2
- package/errors/index.js.map +1 -1
- package/package.json +2 -2
- package/utils/remote-data/HttpRemoteData.js +3 -8
- package/utils/remote-data/HttpRemoteData.js.map +1 -1
- package/utils/remote-data/IpfsRemoteData.js +13 -7
- package/utils/remote-data/IpfsRemoteData.js.map +1 -1
- package/utils/remote-data/Sha256RemoteData.js +5 -6
- package/utils/remote-data/Sha256RemoteData.js.map +1 -1
- package/utils/remote-data/remoteDataRequest.d.ts +16 -0
- package/utils/remote-data/remoteDataRequest.js +240 -0
- package/utils/remote-data/remoteDataRequest.js.map +1 -0
- package/dependencies/src/axios-0.19.0/index.d.ts +0 -152
- package/dependencies/src/axios-0.19.0/lib/adapters/http.js +0 -275
- package/dependencies/src/axios-0.19.0/lib/adapters/xhr.js +0 -174
- package/dependencies/src/axios-0.19.0/lib/cancel/Cancel.js +0 -19
- package/dependencies/src/axios-0.19.0/lib/cancel/CancelToken.js +0 -57
- package/dependencies/src/axios-0.19.0/lib/core/Axios.js +0 -86
- package/dependencies/src/axios-0.19.0/lib/core/createError.js +0 -18
- package/dependencies/src/axios-0.19.0/lib/core/enhanceError.js +0 -42
- package/dependencies/src/axios-0.19.0/lib/core/mergeConfig.js +0 -51
- package/dependencies/src/axios-0.19.0/lib/defaults.js +0 -98
- package/dependencies/src/axios-0.19.0/lib/helpers/bind.js +0 -11
- package/dependencies/src/axios-0.19.0/lib/helpers/buildURL.js +0 -71
- package/dependencies/src/axios-0.19.0/lib/utils.js +0 -334
- package/dependencies/src/axios-0.19.0/package.json +0 -85
- package/dependencies/src/elliptic-6.5.1/lib/elliptic/curve/base.js +0 -374
- package/dependencies/src/elliptic-6.5.1/lib/elliptic/curve/mont.js +0 -178
- package/dependencies/src/elliptic-6.5.1/lib/elliptic/curves.js +0 -206
- package/dependencies/src/elliptic-6.5.1/lib/elliptic/ec/key.js +0 -118
- package/dependencies/src/elliptic-6.5.1/lib/elliptic/ec/signature.js +0 -134
- package/dependencies/src/elliptic-6.5.1/lib/elliptic/eddsa/index.js +0 -118
- package/dependencies/src/elliptic-6.5.1/lib/elliptic/eddsa/signature.js +0 -65
- package/dependencies/src/elliptic-6.5.1/lib/elliptic/utils.js +0 -120
- package/dependencies/src/elliptic-6.5.3/lib/elliptic/curve/edwards.js +0 -432
- package/dependencies/src/elliptic-6.5.3/lib/elliptic/curve/index.js +0 -8
- package/dependencies/src/elliptic-6.5.3/lib/elliptic/curve/short.js +0 -937
- package/dependencies/src/elliptic-6.5.3/lib/elliptic/ec/index.js +0 -241
- package/dependencies/src/elliptic-6.5.3/lib/elliptic/eddsa/key.js +0 -95
- package/dependencies/src/elliptic-6.5.3/lib/elliptic/precomputed/secp256k1.js +0 -780
- package/dependencies/src/elliptic-6.5.3/lib/elliptic.js +0 -13
- package/dependencies/src/elliptic-6.5.3/package.json +0 -55
- package/dependencies/src/follow-redirects-1.5.10/index.js +0 -322
- package/dependencies/src/is-buffer-2.0.3/index.js +0 -11
- /package/dependencies/src/{axios-0.19.0 → axios-0.33.0}/index.js +0 -0
- /package/dependencies/src/{axios-0.19.0 → axios-0.33.0}/lib/cancel/isCancel.js +0 -0
- /package/dependencies/src/{axios-0.19.0 → axios-0.33.0}/lib/helpers/deprecatedMethod.js +0 -0
- /package/dependencies/src/{axios-0.19.0 → axios-0.33.0}/lib/helpers/normalizeHeaderName.js +0 -0
- /package/dependencies/src/{axios-0.19.0 → axios-0.33.0}/lib/helpers/spread.js +0 -0
- /package/dependencies/src/{elliptic-6.5.1 → elliptic-6.6.1}/lib/elliptic/curve/index.js +0 -0
- /package/dependencies/src/{elliptic-6.5.1 → elliptic-6.6.1}/lib/elliptic/eddsa/key.js +0 -0
- /package/dependencies/src/{elliptic-6.5.1 → elliptic-6.6.1}/lib/elliptic.js +0 -0
- /package/dependencies/src/{follow-redirects-1.5.10 → follow-redirects-1.16.0}/http.js +0 -0
- /package/dependencies/src/{follow-redirects-1.5.10 → follow-redirects-1.16.0}/https.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var BN = require('../../../../bn.js-4.11.
|
|
3
|
+
var BN = require('../../../../bn.js-4.11.9/lib/bn');
|
|
4
4
|
var utils = require('../utils');
|
|
5
5
|
var getNAF = utils.getNAF;
|
|
6
6
|
var getJSF = utils.getJSF;
|
|
@@ -59,18 +59,20 @@ BaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {
|
|
|
59
59
|
|
|
60
60
|
// Translate into more windowed form
|
|
61
61
|
var repr = [];
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
62
|
+
var j;
|
|
63
|
+
var nafW;
|
|
64
|
+
for (j = 0; j < naf.length; j += doubles.step) {
|
|
65
|
+
nafW = 0;
|
|
66
|
+
for (var l = j + doubles.step - 1; l >= j; l--)
|
|
67
|
+
nafW = (nafW << 1) + naf[l];
|
|
66
68
|
repr.push(nafW);
|
|
67
69
|
}
|
|
68
70
|
|
|
69
71
|
var a = this.jpoint(null, null, null);
|
|
70
72
|
var b = this.jpoint(null, null, null);
|
|
71
73
|
for (var i = I; i > 0; i--) {
|
|
72
|
-
for (
|
|
73
|
-
|
|
74
|
+
for (j = 0; j < repr.length; j++) {
|
|
75
|
+
nafW = repr[j];
|
|
74
76
|
if (nafW === i)
|
|
75
77
|
b = b.mixedAdd(doubles.points[j]);
|
|
76
78
|
else if (nafW === -i)
|
|
@@ -96,11 +98,11 @@ BaseCurve.prototype._wnafMul = function _wnafMul(p, k) {
|
|
|
96
98
|
var acc = this.jpoint(null, null, null);
|
|
97
99
|
for (var i = naf.length - 1; i >= 0; i--) {
|
|
98
100
|
// Count zeroes
|
|
99
|
-
for (var
|
|
100
|
-
|
|
101
|
+
for (var l = 0; i >= 0 && naf[i] === 0; i--)
|
|
102
|
+
l++;
|
|
101
103
|
if (i >= 0)
|
|
102
|
-
|
|
103
|
-
acc = acc.dblp(
|
|
104
|
+
l++;
|
|
105
|
+
acc = acc.dblp(l);
|
|
104
106
|
|
|
105
107
|
if (i < 0)
|
|
106
108
|
break;
|
|
@@ -124,25 +126,28 @@ BaseCurve.prototype._wnafMul = function _wnafMul(p, k) {
|
|
|
124
126
|
};
|
|
125
127
|
|
|
126
128
|
BaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
129
|
+
points,
|
|
130
|
+
coeffs,
|
|
131
|
+
len,
|
|
132
|
+
jacobianResult) {
|
|
131
133
|
var wndWidth = this._wnafT1;
|
|
132
134
|
var wnd = this._wnafT2;
|
|
133
135
|
var naf = this._wnafT3;
|
|
134
136
|
|
|
135
137
|
// Fill all arrays
|
|
136
138
|
var max = 0;
|
|
137
|
-
|
|
138
|
-
|
|
139
|
+
var i;
|
|
140
|
+
var j;
|
|
141
|
+
var p;
|
|
142
|
+
for (i = 0; i < len; i++) {
|
|
143
|
+
p = points[i];
|
|
139
144
|
var nafPoints = p._getNAFPoints(defW);
|
|
140
145
|
wndWidth[i] = nafPoints.wnd;
|
|
141
146
|
wnd[i] = nafPoints.points;
|
|
142
147
|
}
|
|
143
148
|
|
|
144
149
|
// Comb small window NAFs
|
|
145
|
-
for (
|
|
150
|
+
for (i = len - 1; i >= 1; i -= 2) {
|
|
146
151
|
var a = i - 1;
|
|
147
152
|
var b = i;
|
|
148
153
|
if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {
|
|
@@ -157,7 +162,7 @@ BaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,
|
|
|
157
162
|
points[a], /* 1 */
|
|
158
163
|
null, /* 3 */
|
|
159
164
|
null, /* 5 */
|
|
160
|
-
points[b] /* 7 */
|
|
165
|
+
points[b], /* 7 */
|
|
161
166
|
];
|
|
162
167
|
|
|
163
168
|
// Try to avoid Projective points, if possible
|
|
@@ -181,14 +186,14 @@ BaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,
|
|
|
181
186
|
7, /* 0 1 */
|
|
182
187
|
5, /* 1 -1 */
|
|
183
188
|
1, /* 1 0 */
|
|
184
|
-
3 /* 1 1 */
|
|
189
|
+
3, /* 1 1 */
|
|
185
190
|
];
|
|
186
191
|
|
|
187
192
|
var jsf = getJSF(coeffs[a], coeffs[b]);
|
|
188
193
|
max = Math.max(jsf[0].length, max);
|
|
189
194
|
naf[a] = new Array(max);
|
|
190
195
|
naf[b] = new Array(max);
|
|
191
|
-
for (
|
|
196
|
+
for (j = 0; j < max; j++) {
|
|
192
197
|
var ja = jsf[0][j] | 0;
|
|
193
198
|
var jb = jsf[1][j] | 0;
|
|
194
199
|
|
|
@@ -200,12 +205,12 @@ BaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,
|
|
|
200
205
|
|
|
201
206
|
var acc = this.jpoint(null, null, null);
|
|
202
207
|
var tmp = this._wnafT4;
|
|
203
|
-
for (
|
|
208
|
+
for (i = max; i >= 0; i--) {
|
|
204
209
|
var k = 0;
|
|
205
210
|
|
|
206
211
|
while (i >= 0) {
|
|
207
212
|
var zero = true;
|
|
208
|
-
for (
|
|
213
|
+
for (j = 0; j < len; j++) {
|
|
209
214
|
tmp[j] = naf[j][i] | 0;
|
|
210
215
|
if (tmp[j] !== 0)
|
|
211
216
|
zero = false;
|
|
@@ -221,9 +226,9 @@ BaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,
|
|
|
221
226
|
if (i < 0)
|
|
222
227
|
break;
|
|
223
228
|
|
|
224
|
-
for (
|
|
229
|
+
for (j = 0; j < len; j++) {
|
|
225
230
|
var z = tmp[j];
|
|
226
|
-
|
|
231
|
+
p;
|
|
227
232
|
if (z === 0)
|
|
228
233
|
continue;
|
|
229
234
|
else if (z > 0)
|
|
@@ -238,7 +243,7 @@ BaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,
|
|
|
238
243
|
}
|
|
239
244
|
}
|
|
240
245
|
// Zeroify references
|
|
241
|
-
for (
|
|
246
|
+
for (i = 0; i < len; i++)
|
|
242
247
|
wnd[i] = null;
|
|
243
248
|
|
|
244
249
|
if (jacobianResult)
|
|
@@ -276,7 +281,7 @@ BaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {
|
|
|
276
281
|
assert(bytes[bytes.length - 1] % 2 === 1);
|
|
277
282
|
|
|
278
283
|
var res = this.point(bytes.slice(1, 1 + len),
|
|
279
|
-
|
|
284
|
+
bytes.slice(1 + len, 1 + 2 * len));
|
|
280
285
|
|
|
281
286
|
return res;
|
|
282
287
|
} else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&
|
|
@@ -297,7 +302,7 @@ BasePoint.prototype._encode = function _encode(compact) {
|
|
|
297
302
|
if (compact)
|
|
298
303
|
return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);
|
|
299
304
|
|
|
300
|
-
return [ 0x04 ].concat(x, this.getY().toArray('be', len))
|
|
305
|
+
return [ 0x04 ].concat(x, this.getY().toArray('be', len));
|
|
301
306
|
};
|
|
302
307
|
|
|
303
308
|
BasePoint.prototype.encode = function encode(enc, compact) {
|
|
@@ -311,7 +316,7 @@ BasePoint.prototype.precompute = function precompute(power) {
|
|
|
311
316
|
var precomputed = {
|
|
312
317
|
doubles: null,
|
|
313
318
|
naf: null,
|
|
314
|
-
beta: null
|
|
319
|
+
beta: null,
|
|
315
320
|
};
|
|
316
321
|
precomputed.naf = this._getNAFPoints(8);
|
|
317
322
|
precomputed.doubles = this._getDoubles(4, power);
|
|
@@ -345,7 +350,7 @@ BasePoint.prototype._getDoubles = function _getDoubles(step, power) {
|
|
|
345
350
|
}
|
|
346
351
|
return {
|
|
347
352
|
step: step,
|
|
348
|
-
points: doubles
|
|
353
|
+
points: doubles,
|
|
349
354
|
};
|
|
350
355
|
};
|
|
351
356
|
|
|
@@ -360,7 +365,7 @@ BasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {
|
|
|
360
365
|
res[i] = res[i - 1].add(dbl);
|
|
361
366
|
return {
|
|
362
367
|
wnd: wnd,
|
|
363
|
-
points: res
|
|
368
|
+
points: res,
|
|
364
369
|
};
|
|
365
370
|
};
|
|
366
371
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var utils = require('../utils');
|
|
4
|
-
var BN = require('../../../../bn.js-4.11.
|
|
4
|
+
var BN = require('../../../../bn.js-4.11.9/lib/bn');
|
|
5
5
|
var inherits = require('../../../../inherits-2.0.4/inherits');
|
|
6
6
|
var Base = require('./base');
|
|
7
7
|
|
|
@@ -221,9 +221,12 @@ Point.prototype._projDbl = function _projDbl() {
|
|
|
221
221
|
var nx;
|
|
222
222
|
var ny;
|
|
223
223
|
var nz;
|
|
224
|
+
var e;
|
|
225
|
+
var h;
|
|
226
|
+
var j;
|
|
224
227
|
if (this.curve.twisted) {
|
|
225
228
|
// E = a * C
|
|
226
|
-
|
|
229
|
+
e = this.curve._mulA(c);
|
|
227
230
|
// F = E + D
|
|
228
231
|
var f = e.redAdd(d);
|
|
229
232
|
if (this.zOne) {
|
|
@@ -235,9 +238,9 @@ Point.prototype._projDbl = function _projDbl() {
|
|
|
235
238
|
nz = f.redSqr().redSub(f).redSub(f);
|
|
236
239
|
} else {
|
|
237
240
|
// H = Z1^2
|
|
238
|
-
|
|
241
|
+
h = this.z.redSqr();
|
|
239
242
|
// J = F - 2 * H
|
|
240
|
-
|
|
243
|
+
j = f.redSub(h).redISub(h);
|
|
241
244
|
// X3 = (B-C-D)*J
|
|
242
245
|
nx = b.redSub(c).redISub(d).redMul(j);
|
|
243
246
|
// Y3 = F * (E - D)
|
|
@@ -247,11 +250,11 @@ Point.prototype._projDbl = function _projDbl() {
|
|
|
247
250
|
}
|
|
248
251
|
} else {
|
|
249
252
|
// E = C + D
|
|
250
|
-
|
|
253
|
+
e = c.redAdd(d);
|
|
251
254
|
// H = (c * Z1)^2
|
|
252
|
-
|
|
255
|
+
h = this.curve._mulC(this.z).redSqr();
|
|
253
256
|
// J = E - 2 * H
|
|
254
|
-
|
|
257
|
+
j = e.redSub(h).redSub(h);
|
|
255
258
|
// X3 = c * (B - E) * J
|
|
256
259
|
nx = this.curve._mulC(b.redISub(e)).redMul(j);
|
|
257
260
|
// Y3 = c * E * (C - D)
|
|
@@ -388,9 +391,9 @@ Point.prototype.normalize = function normalize() {
|
|
|
388
391
|
|
|
389
392
|
Point.prototype.neg = function neg() {
|
|
390
393
|
return this.curve.point(this.x.redNeg(),
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
+
this.y,
|
|
395
|
+
this.z,
|
|
396
|
+
this.t && this.t.redNeg());
|
|
394
397
|
};
|
|
395
398
|
|
|
396
399
|
Point.prototype.getX = function getX() {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var utils = require('../utils');
|
|
4
|
-
var BN = require('../../../../bn.js-4.11.
|
|
4
|
+
var BN = require('../../../../bn.js-4.11.9/lib/bn');
|
|
5
5
|
var inherits = require('../../../../inherits-2.0.4/inherits');
|
|
6
6
|
var Base = require('./base');
|
|
7
7
|
|
|
@@ -60,7 +60,7 @@ ShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {
|
|
|
60
60
|
basis = conf.basis.map(function(vec) {
|
|
61
61
|
return {
|
|
62
62
|
a: new BN(vec.a, 16),
|
|
63
|
-
b: new BN(vec.b, 16)
|
|
63
|
+
b: new BN(vec.b, 16),
|
|
64
64
|
};
|
|
65
65
|
});
|
|
66
66
|
} else {
|
|
@@ -70,7 +70,7 @@ ShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {
|
|
|
70
70
|
return {
|
|
71
71
|
beta: beta,
|
|
72
72
|
lambda: lambda,
|
|
73
|
-
basis: basis
|
|
73
|
+
basis: basis,
|
|
74
74
|
};
|
|
75
75
|
};
|
|
76
76
|
|
|
@@ -161,7 +161,7 @@ ShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {
|
|
|
161
161
|
|
|
162
162
|
return [
|
|
163
163
|
{ a: a1, b: b1 },
|
|
164
|
-
{ a: a2, b: b2 }
|
|
164
|
+
{ a: a2, b: b2 },
|
|
165
165
|
];
|
|
166
166
|
};
|
|
167
167
|
|
|
@@ -217,36 +217,36 @@ ShortCurve.prototype.validate = function validate(point) {
|
|
|
217
217
|
|
|
218
218
|
ShortCurve.prototype._endoWnafMulAdd =
|
|
219
219
|
function _endoWnafMulAdd(points, coeffs, jacobianResult) {
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
220
|
+
var npoints = this._endoWnafT1;
|
|
221
|
+
var ncoeffs = this._endoWnafT2;
|
|
222
|
+
for (var i = 0; i < points.length; i++) {
|
|
223
|
+
var split = this._endoSplit(coeffs[i]);
|
|
224
|
+
var p = points[i];
|
|
225
|
+
var beta = p._getBeta();
|
|
226
|
+
|
|
227
|
+
if (split.k1.negative) {
|
|
228
|
+
split.k1.ineg();
|
|
229
|
+
p = p.neg(true);
|
|
230
|
+
}
|
|
231
|
+
if (split.k2.negative) {
|
|
232
|
+
split.k2.ineg();
|
|
233
|
+
beta = beta.neg(true);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
npoints[i * 2] = p;
|
|
237
|
+
npoints[i * 2 + 1] = beta;
|
|
238
|
+
ncoeffs[i * 2] = split.k1;
|
|
239
|
+
ncoeffs[i * 2 + 1] = split.k2;
|
|
240
|
+
}
|
|
241
|
+
var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);
|
|
242
242
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
};
|
|
243
|
+
// Clean-up references to points and coefficients
|
|
244
|
+
for (var j = 0; j < i * 2; j++) {
|
|
245
|
+
npoints[j] = null;
|
|
246
|
+
ncoeffs[j] = null;
|
|
247
|
+
}
|
|
248
|
+
return res;
|
|
249
|
+
};
|
|
250
250
|
|
|
251
251
|
function Point(curve, x, y, isRed) {
|
|
252
252
|
Base.BasePoint.call(this, curve, 'affine');
|
|
@@ -298,12 +298,12 @@ Point.prototype._getBeta = function _getBeta() {
|
|
|
298
298
|
beta: null,
|
|
299
299
|
naf: pre.naf && {
|
|
300
300
|
wnd: pre.naf.wnd,
|
|
301
|
-
points: pre.naf.points.map(endoMul)
|
|
301
|
+
points: pre.naf.points.map(endoMul),
|
|
302
302
|
},
|
|
303
303
|
doubles: pre.doubles && {
|
|
304
304
|
step: pre.doubles.step,
|
|
305
|
-
points: pre.doubles.points.map(endoMul)
|
|
306
|
-
}
|
|
305
|
+
points: pre.doubles.points.map(endoMul),
|
|
306
|
+
},
|
|
307
307
|
};
|
|
308
308
|
}
|
|
309
309
|
return beta;
|
|
@@ -316,12 +316,12 @@ Point.prototype.toJSON = function toJSON() {
|
|
|
316
316
|
return [ this.x, this.y, this.precomputed && {
|
|
317
317
|
doubles: this.precomputed.doubles && {
|
|
318
318
|
step: this.precomputed.doubles.step,
|
|
319
|
-
points: this.precomputed.doubles.points.slice(1)
|
|
319
|
+
points: this.precomputed.doubles.points.slice(1),
|
|
320
320
|
},
|
|
321
321
|
naf: this.precomputed.naf && {
|
|
322
322
|
wnd: this.precomputed.naf.wnd,
|
|
323
|
-
points: this.precomputed.naf.points.slice(1)
|
|
324
|
-
}
|
|
323
|
+
points: this.precomputed.naf.points.slice(1),
|
|
324
|
+
},
|
|
325
325
|
} ];
|
|
326
326
|
};
|
|
327
327
|
|
|
@@ -341,12 +341,12 @@ Point.fromJSON = function fromJSON(curve, obj, red) {
|
|
|
341
341
|
beta: null,
|
|
342
342
|
doubles: pre.doubles && {
|
|
343
343
|
step: pre.doubles.step,
|
|
344
|
-
points: [ res ].concat(pre.doubles.points.map(obj2point))
|
|
344
|
+
points: [ res ].concat(pre.doubles.points.map(obj2point)),
|
|
345
345
|
},
|
|
346
346
|
naf: pre.naf && {
|
|
347
347
|
wnd: pre.naf.wnd,
|
|
348
|
-
points: [ res ].concat(pre.naf.points.map(obj2point))
|
|
349
|
-
}
|
|
348
|
+
points: [ res ].concat(pre.naf.points.map(obj2point)),
|
|
349
|
+
},
|
|
350
350
|
};
|
|
351
351
|
return res;
|
|
352
352
|
};
|
|
@@ -468,12 +468,12 @@ Point.prototype.neg = function neg(_precompute) {
|
|
|
468
468
|
res.precomputed = {
|
|
469
469
|
naf: pre.naf && {
|
|
470
470
|
wnd: pre.naf.wnd,
|
|
471
|
-
points: pre.naf.points.map(negate)
|
|
471
|
+
points: pre.naf.points.map(negate),
|
|
472
472
|
},
|
|
473
473
|
doubles: pre.doubles && {
|
|
474
474
|
step: pre.doubles.step,
|
|
475
|
-
points: pre.doubles.points.map(negate)
|
|
476
|
-
}
|
|
475
|
+
points: pre.doubles.points.map(negate),
|
|
476
|
+
},
|
|
477
477
|
};
|
|
478
478
|
}
|
|
479
479
|
return res;
|
|
@@ -610,9 +610,10 @@ JPoint.prototype.dblp = function dblp(pow) {
|
|
|
610
610
|
if (!pow)
|
|
611
611
|
return this.dbl();
|
|
612
612
|
|
|
613
|
+
var i;
|
|
613
614
|
if (this.curve.zeroA || this.curve.threeA) {
|
|
614
615
|
var r = this;
|
|
615
|
-
for (
|
|
616
|
+
for (i = 0; i < pow; i++)
|
|
616
617
|
r = r.dbl();
|
|
617
618
|
return r;
|
|
618
619
|
}
|
|
@@ -629,7 +630,7 @@ JPoint.prototype.dblp = function dblp(pow) {
|
|
|
629
630
|
|
|
630
631
|
// Reuse results
|
|
631
632
|
var jyd = jy.redAdd(jy);
|
|
632
|
-
for (
|
|
633
|
+
for (i = 0; i < pow; i++) {
|
|
633
634
|
var jx2 = jx.redSqr();
|
|
634
635
|
var jyd2 = jyd.redSqr();
|
|
635
636
|
var jyd4 = jyd2.redSqr();
|
|
@@ -33,10 +33,10 @@ function defineCurve(name, options) {
|
|
|
33
33
|
Object.defineProperty(curves, name, {
|
|
34
34
|
configurable: true,
|
|
35
35
|
enumerable: true,
|
|
36
|
-
value: curve
|
|
36
|
+
value: curve,
|
|
37
37
|
});
|
|
38
38
|
return curve;
|
|
39
|
-
}
|
|
39
|
+
},
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
42
|
|
|
@@ -51,8 +51,8 @@ defineCurve('p192', {
|
|
|
51
51
|
gRed: false,
|
|
52
52
|
g: [
|
|
53
53
|
'188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',
|
|
54
|
-
'07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811'
|
|
55
|
-
]
|
|
54
|
+
'07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811',
|
|
55
|
+
],
|
|
56
56
|
});
|
|
57
57
|
|
|
58
58
|
defineCurve('p224', {
|
|
@@ -66,8 +66,8 @@ defineCurve('p224', {
|
|
|
66
66
|
gRed: false,
|
|
67
67
|
g: [
|
|
68
68
|
'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',
|
|
69
|
-
'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34'
|
|
70
|
-
]
|
|
69
|
+
'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34',
|
|
70
|
+
],
|
|
71
71
|
});
|
|
72
72
|
|
|
73
73
|
defineCurve('p256', {
|
|
@@ -81,8 +81,8 @@ defineCurve('p256', {
|
|
|
81
81
|
gRed: false,
|
|
82
82
|
g: [
|
|
83
83
|
'6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',
|
|
84
|
-
'4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5'
|
|
85
|
-
]
|
|
84
|
+
'4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5',
|
|
85
|
+
],
|
|
86
86
|
});
|
|
87
87
|
|
|
88
88
|
defineCurve('p384', {
|
|
@@ -102,8 +102,8 @@ defineCurve('p384', {
|
|
|
102
102
|
'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +
|
|
103
103
|
'5502f25d bf55296c 3a545e38 72760ab7',
|
|
104
104
|
'3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +
|
|
105
|
-
'0a60b1ce 1d7e819d 7a431d7c 90ea0e5f'
|
|
106
|
-
]
|
|
105
|
+
'0a60b1ce 1d7e819d 7a431d7c 90ea0e5f',
|
|
106
|
+
],
|
|
107
107
|
});
|
|
108
108
|
|
|
109
109
|
defineCurve('p521', {
|
|
@@ -129,8 +129,8 @@ defineCurve('p521', {
|
|
|
129
129
|
'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',
|
|
130
130
|
'00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +
|
|
131
131
|
'579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +
|
|
132
|
-
'3fad0761 353c7086 a272c240 88be9476 9fd16650'
|
|
133
|
-
]
|
|
132
|
+
'3fad0761 353c7086 a272c240 88be9476 9fd16650',
|
|
133
|
+
],
|
|
134
134
|
});
|
|
135
135
|
|
|
136
136
|
defineCurve('curve25519', {
|
|
@@ -143,8 +143,8 @@ defineCurve('curve25519', {
|
|
|
143
143
|
hash: hash.sha256,
|
|
144
144
|
gRed: false,
|
|
145
145
|
g: [
|
|
146
|
-
'9'
|
|
147
|
-
]
|
|
146
|
+
'9',
|
|
147
|
+
],
|
|
148
148
|
});
|
|
149
149
|
|
|
150
150
|
defineCurve('ed25519', {
|
|
@@ -162,8 +162,8 @@ defineCurve('ed25519', {
|
|
|
162
162
|
'216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',
|
|
163
163
|
|
|
164
164
|
// 4/5
|
|
165
|
-
'6666666666666666666666666666666666666666666666666666666666666658'
|
|
166
|
-
]
|
|
165
|
+
'6666666666666666666666666666666666666666666666666666666666666658',
|
|
166
|
+
],
|
|
167
167
|
});
|
|
168
168
|
|
|
169
169
|
var pre;
|
|
@@ -189,18 +189,18 @@ defineCurve('secp256k1', {
|
|
|
189
189
|
basis: [
|
|
190
190
|
{
|
|
191
191
|
a: '3086d221a7d46bcde86c90e49284eb15',
|
|
192
|
-
b: '-e4437ed6010e88286f547fa90abfe4c3'
|
|
192
|
+
b: '-e4437ed6010e88286f547fa90abfe4c3',
|
|
193
193
|
},
|
|
194
194
|
{
|
|
195
195
|
a: '114ca50f7a8e2f3f657c1108d9d44cfd8',
|
|
196
|
-
b: '3086d221a7d46bcde86c90e49284eb15'
|
|
197
|
-
}
|
|
196
|
+
b: '3086d221a7d46bcde86c90e49284eb15',
|
|
197
|
+
},
|
|
198
198
|
],
|
|
199
199
|
|
|
200
200
|
gRed: false,
|
|
201
201
|
g: [
|
|
202
202
|
'79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',
|
|
203
203
|
'483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',
|
|
204
|
-
pre
|
|
205
|
-
]
|
|
204
|
+
pre,
|
|
205
|
+
],
|
|
206
206
|
});
|