@noble/curves 0.7.0 → 0.7.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.
- package/README.md +103 -63
- package/_shortw_utils.d.ts +0 -1
- package/_shortw_utils.d.ts.map +1 -1
- package/abstract/bls.js +1 -1
- package/abstract/bls.js.map +1 -1
- package/abstract/montgomery.d.ts +3 -3
- package/abstract/montgomery.d.ts.map +1 -1
- package/abstract/montgomery.js +9 -7
- package/abstract/montgomery.js.map +1 -1
- package/abstract/weierstrass.d.ts +2 -3
- package/abstract/weierstrass.d.ts.map +1 -1
- package/abstract/weierstrass.js +29 -24
- package/abstract/weierstrass.js.map +1 -1
- package/ed25519.js +2 -2
- package/ed25519.js.map +1 -1
- package/ed448.js +2 -2
- package/ed448.js.map +1 -1
- package/esm/abstract/bls.js +1 -1
- package/esm/abstract/bls.js.map +1 -1
- package/esm/abstract/montgomery.js +9 -7
- package/esm/abstract/montgomery.js.map +1 -1
- package/esm/abstract/weierstrass.js +29 -24
- package/esm/abstract/weierstrass.js.map +1 -1
- package/esm/ed25519.js +2 -2
- package/esm/ed25519.js.map +1 -1
- package/esm/ed448.js +2 -2
- package/esm/ed448.js.map +1 -1
- package/esm/secp256k1.js +11 -1
- package/esm/secp256k1.js.map +1 -1
- package/esm/stark.js +4 -4
- package/esm/stark.js.map +1 -1
- package/p192.d.ts +0 -2
- package/p192.d.ts.map +1 -1
- package/p224.d.ts +0 -2
- package/p224.d.ts.map +1 -1
- package/p256.d.ts +0 -2
- package/p256.d.ts.map +1 -1
- package/p384.d.ts +0 -2
- package/p384.d.ts.map +1 -1
- package/p521.d.ts +0 -2
- package/p521.d.ts.map +1 -1
- package/package.json +1 -1
- package/secp256k1.d.ts +5 -1
- package/secp256k1.d.ts.map +1 -1
- package/secp256k1.js +11 -1
- package/secp256k1.js.map +1 -1
- package/src/abstract/bls.ts +1 -1
- package/src/abstract/montgomery.ts +12 -10
- package/src/abstract/weierstrass.ts +30 -28
- package/src/ed25519.ts +2 -2
- package/src/ed448.ts +2 -2
- package/src/secp256k1.ts +11 -1
- package/src/stark.ts +4 -4
- package/stark.d.ts +0 -1
- package/stark.d.ts.map +1 -1
- package/stark.js +4 -4
- package/stark.js.map +1 -1
|
@@ -122,7 +122,7 @@ function validatePointOpts<T>(curve: CurvePointsType<T>) {
|
|
|
122
122
|
|
|
123
123
|
export type CurvePointsRes<T> = {
|
|
124
124
|
ProjectivePoint: ProjConstructor<T>;
|
|
125
|
-
|
|
125
|
+
normPrivateKeyToScalar: (key: PrivKey) => bigint;
|
|
126
126
|
weierstrassEquation: (x: T) => T;
|
|
127
127
|
isWithinCurveOrder: (num: bigint) => boolean;
|
|
128
128
|
};
|
|
@@ -203,8 +203,8 @@ export function weierstrassPoints<T>(opts: CurvePointsType<T>) {
|
|
|
203
203
|
if (!isWithinCurveOrder(num)) throw new Error('Expected valid bigint: 0 < bigint < curve.n');
|
|
204
204
|
}
|
|
205
205
|
// Validates if priv key is valid and converts it to bigint.
|
|
206
|
-
// Supports options
|
|
207
|
-
function
|
|
206
|
+
// Supports options allowedPrivateKeyLengths and wrapPrivateKey.
|
|
207
|
+
function normPrivateKeyToScalar(key: PrivKey): bigint {
|
|
208
208
|
const { allowedPrivateKeyLengths: lengths, nByteLength, wrapPrivateKey, n } = CURVE;
|
|
209
209
|
if (lengths && typeof key !== 'bigint') {
|
|
210
210
|
if (key instanceof Uint8Array) key = ut.bytesToHex(key);
|
|
@@ -287,7 +287,7 @@ export function weierstrassPoints<T>(opts: CurvePointsType<T>) {
|
|
|
287
287
|
|
|
288
288
|
// Multiplies generator point by privateKey.
|
|
289
289
|
static fromPrivateKey(privateKey: PrivKey) {
|
|
290
|
-
return Point.BASE.multiply(
|
|
290
|
+
return Point.BASE.multiply(normPrivateKeyToScalar(privateKey));
|
|
291
291
|
}
|
|
292
292
|
|
|
293
293
|
// We calculate precomputes for elliptic curve point multiplication
|
|
@@ -488,8 +488,9 @@ export function weierstrassPoints<T>(opts: CurvePointsType<T>) {
|
|
|
488
488
|
* Constant time multiplication.
|
|
489
489
|
* Uses wNAF method. Windowed method may be 10% faster,
|
|
490
490
|
* but takes 2x longer to generate and consumes 2x memory.
|
|
491
|
+
* Uses precomputes when available.
|
|
492
|
+
* Uses endomorphism for Koblitz curves.
|
|
491
493
|
* @param scalar by which the point would be multiplied
|
|
492
|
-
* @param affinePoint optional point ot save cached precompute windows on it
|
|
493
494
|
* @returns New point
|
|
494
495
|
*/
|
|
495
496
|
multiply(scalar: bigint): Point {
|
|
@@ -517,6 +518,8 @@ export function weierstrassPoints<T>(opts: CurvePointsType<T>) {
|
|
|
517
518
|
|
|
518
519
|
/**
|
|
519
520
|
* Efficiently calculate `aP + bQ`. Unsafe, can expose private key, if used incorrectly.
|
|
521
|
+
* Not using Strauss-Shamir trick: precomputation tables are faster.
|
|
522
|
+
* The trick could be useful if both P and Q are not G (not in our case).
|
|
520
523
|
* @returns non-zero affine point
|
|
521
524
|
*/
|
|
522
525
|
multiplyAndAddUnsafe(Q: Point, a: bigint, b: bigint): Point | undefined {
|
|
@@ -572,7 +575,7 @@ export function weierstrassPoints<T>(opts: CurvePointsType<T>) {
|
|
|
572
575
|
|
|
573
576
|
return {
|
|
574
577
|
ProjectivePoint: Point as ProjConstructor<T>,
|
|
575
|
-
|
|
578
|
+
normPrivateKeyToScalar,
|
|
576
579
|
weierstrassEquation,
|
|
577
580
|
isWithinCurveOrder,
|
|
578
581
|
};
|
|
@@ -642,7 +645,6 @@ export type CurveFn = {
|
|
|
642
645
|
utils: {
|
|
643
646
|
normPrivateKeyToScalar: (key: PrivKey) => bigint;
|
|
644
647
|
isValidPrivateKey(privateKey: PrivKey): boolean;
|
|
645
|
-
hashToPrivateKey: (hash: Hex) => Uint8Array;
|
|
646
648
|
randomPrivateKey: () => Uint8Array;
|
|
647
649
|
precompute: (windowSize?: number, point?: ProjPointType<bigint>) => ProjPointType<bigint>;
|
|
648
650
|
};
|
|
@@ -667,7 +669,7 @@ export function weierstrass(curveDef: CurveType): CurveFn {
|
|
|
667
669
|
|
|
668
670
|
const {
|
|
669
671
|
ProjectivePoint: Point,
|
|
670
|
-
|
|
672
|
+
normPrivateKeyToScalar,
|
|
671
673
|
weierstrassEquation,
|
|
672
674
|
isWithinCurveOrder,
|
|
673
675
|
} = weierstrassPoints({
|
|
@@ -677,7 +679,6 @@ export function weierstrass(curveDef: CurveType): CurveFn {
|
|
|
677
679
|
const x = Fp.toBytes(a.x);
|
|
678
680
|
const cat = ut.concatBytes;
|
|
679
681
|
if (isCompressed) {
|
|
680
|
-
// TODO: hasEvenY
|
|
681
682
|
return cat(Uint8Array.from([point.hasEvenY() ? 0x02 : 0x03]), x);
|
|
682
683
|
} else {
|
|
683
684
|
return cat(Uint8Array.from([0x04]), x, Fp.toBytes(a.y));
|
|
@@ -801,37 +802,35 @@ export function weierstrass(curveDef: CurveType): CurveFn {
|
|
|
801
802
|
const utils = {
|
|
802
803
|
isValidPrivateKey(privateKey: PrivKey) {
|
|
803
804
|
try {
|
|
804
|
-
|
|
805
|
+
normPrivateKeyToScalar(privateKey);
|
|
805
806
|
return true;
|
|
806
807
|
} catch (error) {
|
|
807
808
|
return false;
|
|
808
809
|
}
|
|
809
810
|
},
|
|
810
|
-
normPrivateKeyToScalar:
|
|
811
|
-
|
|
812
|
-
/**
|
|
813
|
-
* Converts some bytes to a valid private key. Needs at least (nBitLength+64) bytes.
|
|
814
|
-
*/
|
|
815
|
-
hashToPrivateKey: (hash: Hex): Uint8Array =>
|
|
816
|
-
ut.numberToBytesBE(mod.hashToPrivateScalar(hash, CURVE_ORDER), CURVE.nByteLength),
|
|
811
|
+
normPrivateKeyToScalar: normPrivateKeyToScalar,
|
|
817
812
|
|
|
818
813
|
/**
|
|
819
814
|
* Produces cryptographically secure private key from random of size (nBitLength+64)
|
|
820
815
|
* as per FIPS 186 B.4.1 with modulo bias being neglible.
|
|
821
816
|
*/
|
|
822
|
-
randomPrivateKey: (): Uint8Array =>
|
|
817
|
+
randomPrivateKey: (): Uint8Array => {
|
|
818
|
+
const rand = CURVE.randomBytes(Fp.BYTES + 8);
|
|
819
|
+
const num = mod.hashToPrivateScalar(rand, CURVE_ORDER);
|
|
820
|
+
return ut.numberToBytesBE(num, CURVE.nByteLength);
|
|
821
|
+
},
|
|
823
822
|
|
|
824
823
|
/**
|
|
825
|
-
*
|
|
826
|
-
*
|
|
827
|
-
* If you want your first getPublicKey to take 0.16ms instead of 20ms, make sure to call
|
|
828
|
-
* utils.precompute() somewhere without arguments first.
|
|
829
|
-
* @param windowSize 2, 4, 8, 16
|
|
824
|
+
* Creates precompute table for an arbitrary EC point. Makes point "cached".
|
|
825
|
+
* Allows to massively speed-up `point.multiply(scalar)`.
|
|
830
826
|
* @returns cached point
|
|
827
|
+
* @example
|
|
828
|
+
* const fast = utils.precompute(8, ProjectivePoint.fromHex(someonesPubKey));
|
|
829
|
+
* fast.multiply(privKey); // much faster ECDH now
|
|
831
830
|
*/
|
|
832
831
|
precompute(windowSize = 8, point = Point.BASE): typeof Point.BASE {
|
|
833
832
|
point._setWindowSize(windowSize);
|
|
834
|
-
point.multiply(BigInt(3));
|
|
833
|
+
point.multiply(BigInt(3)); // 3 is arbitrary, just need any number here
|
|
835
834
|
return point;
|
|
836
835
|
},
|
|
837
836
|
};
|
|
@@ -862,7 +861,8 @@ export function weierstrass(curveDef: CurveType): CurveFn {
|
|
|
862
861
|
/**
|
|
863
862
|
* ECDH (Elliptic Curve Diffie Hellman).
|
|
864
863
|
* Computes shared public key from private key and public key.
|
|
865
|
-
* Checks: 1) private key validity 2) shared key is on-curve
|
|
864
|
+
* Checks: 1) private key validity 2) shared key is on-curve.
|
|
865
|
+
* Does NOT hash the result.
|
|
866
866
|
* @param privateA private key
|
|
867
867
|
* @param publicB different public key
|
|
868
868
|
* @param isCompressed whether to return compact (default), or full key
|
|
@@ -872,7 +872,7 @@ export function weierstrass(curveDef: CurveType): CurveFn {
|
|
|
872
872
|
if (isProbPub(privateA)) throw new Error('first arg must be private key');
|
|
873
873
|
if (!isProbPub(publicB)) throw new Error('second arg must be public key');
|
|
874
874
|
const b = Point.fromHex(publicB); // check for being on-curve
|
|
875
|
-
return b.multiply(
|
|
875
|
+
return b.multiply(normPrivateKeyToScalar(privateA)).toRawBytes(isCompressed);
|
|
876
876
|
}
|
|
877
877
|
|
|
878
878
|
// RFC6979: ensure ECDSA msg is X bytes and < N. RFC suggests optional truncating via bits2octets.
|
|
@@ -895,10 +895,12 @@ export function weierstrass(curveDef: CurveType): CurveFn {
|
|
|
895
895
|
};
|
|
896
896
|
// NOTE: pads output with zero as per spec
|
|
897
897
|
const ORDER_MASK = ut.bitMask(CURVE.nBitLength);
|
|
898
|
+
/**
|
|
899
|
+
* Converts to bytes. Checks if num in `[0..ORDER_MASK-1]` e.g.: `[0..2^256-1]`.
|
|
900
|
+
*/
|
|
898
901
|
function int2octets(num: bigint): Uint8Array {
|
|
899
902
|
if (typeof num !== 'bigint') throw new Error('bigint expected');
|
|
900
903
|
if (!(_0n <= num && num < ORDER_MASK))
|
|
901
|
-
// n in [0..ORDER_MASK-1]
|
|
902
904
|
throw new Error(`bigint expected < 2^${CURVE.nBitLength}`);
|
|
903
905
|
// works with order, can have different size than numToField!
|
|
904
906
|
return ut.numberToBytesBE(num, CURVE.nByteLength);
|
|
@@ -922,7 +924,7 @@ export function weierstrass(curveDef: CurveType): CurveFn {
|
|
|
922
924
|
// with nBitLength % 8 !== 0. Because of that, we unwrap it here as int2octets call.
|
|
923
925
|
// const bits2octets = (bits) => int2octets(bits2int_modN(bits))
|
|
924
926
|
const h1int = bits2int_modN(msgHash);
|
|
925
|
-
const d =
|
|
927
|
+
const d = normPrivateKeyToScalar(privateKey); // validate private key, convert to bigint
|
|
926
928
|
const seedArgs = [int2octets(d), int2octets(h1int)];
|
|
927
929
|
// extraEntropy. RFC6979 3.6: additional k' (optional).
|
|
928
930
|
if (ent != null) {
|
package/src/ed25519.ts
CHANGED
|
@@ -138,10 +138,10 @@ export const ed25519ph = twistedEdwards({
|
|
|
138
138
|
|
|
139
139
|
export const x25519 = montgomery({
|
|
140
140
|
P: ED25519_P,
|
|
141
|
-
|
|
141
|
+
a: BigInt(486662),
|
|
142
142
|
montgomeryBits: 255, // n is 253 bits
|
|
143
143
|
nByteLength: 32,
|
|
144
|
-
Gu:
|
|
144
|
+
Gu: BigInt(9),
|
|
145
145
|
powPminus2: (x: bigint): bigint => {
|
|
146
146
|
const P = ED25519_P;
|
|
147
147
|
// x^(p-2) aka x^(2^255-21)
|
package/src/ed448.ts
CHANGED
|
@@ -122,11 +122,11 @@ export const ed448 = twistedEdwards(ED448_DEF);
|
|
|
122
122
|
export const ed448ph = twistedEdwards({ ...ED448_DEF, preHash: shake256_64 });
|
|
123
123
|
|
|
124
124
|
export const x448 = montgomery({
|
|
125
|
-
|
|
125
|
+
a: BigInt(156326),
|
|
126
126
|
montgomeryBits: 448,
|
|
127
127
|
nByteLength: 57,
|
|
128
128
|
P: ed448P,
|
|
129
|
-
Gu:
|
|
129
|
+
Gu: BigInt(5),
|
|
130
130
|
powPminus2: (x: bigint): bigint => {
|
|
131
131
|
const P = ed448P;
|
|
132
132
|
const Pminus3div4 = ed448_pow_Pminus3div4(x);
|
package/src/secp256k1.ts
CHANGED
|
@@ -107,6 +107,7 @@ function taggedHash(tag: string, ...messages: Uint8Array[]): Uint8Array {
|
|
|
107
107
|
return sha256(concatBytes(tagP, ...messages));
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
+
// ECDSA compact points are 33-byte. Schnorr is 32: we strip first byte 0x02 or 0x03
|
|
110
111
|
const pointToBytes = (point: PointType<bigint>) => point.toRawBytes(true).slice(1);
|
|
111
112
|
const numTo32b = (n: bigint) => numberToBytesBE(n, 32);
|
|
112
113
|
const modP = (x: bigint) => mod(x, secp256k1P);
|
|
@@ -114,12 +115,17 @@ const modN = (x: bigint) => mod(x, secp256k1N);
|
|
|
114
115
|
const Point = secp256k1.ProjectivePoint;
|
|
115
116
|
const GmulAdd = (Q: PointType<bigint>, a: bigint, b: bigint) =>
|
|
116
117
|
Point.BASE.multiplyAndAddUnsafe(Q, a, b);
|
|
118
|
+
// Calculate point, scalar and bytes
|
|
117
119
|
function schnorrGetExtPubKey(priv: PrivKey) {
|
|
118
|
-
const d = secp256k1.utils.normPrivateKeyToScalar(priv);
|
|
120
|
+
const d = secp256k1.utils.normPrivateKeyToScalar(priv); // same method executed in fromPrivateKey
|
|
119
121
|
const point = Point.fromPrivateKey(d); // P = d'⋅G; 0 < d' < n check is done inside
|
|
120
122
|
const scalar = point.hasEvenY() ? d : modN(-d); // d = d' if has_even_y(P), otherwise d = n-d'
|
|
121
123
|
return { point, scalar, bytes: pointToBytes(point) };
|
|
122
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* lift_x from BIP340. Convert 32-byte x coordinate to elliptic curve point.
|
|
127
|
+
* @returns valid point checked for being on-curve
|
|
128
|
+
*/
|
|
123
129
|
function lift_x(x: bigint): PointType<bigint> {
|
|
124
130
|
if (!fe(x)) throw new Error('bad x: need 0 < x < p'); // Fail if x ≥ p.
|
|
125
131
|
const xx = modP(x * x);
|
|
@@ -130,6 +136,9 @@ function lift_x(x: bigint): PointType<bigint> {
|
|
|
130
136
|
p.assertValidity();
|
|
131
137
|
return p;
|
|
132
138
|
}
|
|
139
|
+
/**
|
|
140
|
+
* Create tagged hash, convert it to bigint, reduce modulo-n.
|
|
141
|
+
*/
|
|
133
142
|
function challenge(...args: Uint8Array[]): bigint {
|
|
134
143
|
return modN(bytesToNumberBE(taggedHash('BIP0340/challenge', ...args)));
|
|
135
144
|
}
|
|
@@ -169,6 +178,7 @@ function schnorrSign(
|
|
|
169
178
|
|
|
170
179
|
/**
|
|
171
180
|
* Verifies Schnorr signature.
|
|
181
|
+
* Will swallow errors & return false except for initial type validation of arguments.
|
|
172
182
|
*/
|
|
173
183
|
function schnorrVerify(signature: Hex, message: Hex, publicKey: Hex): boolean {
|
|
174
184
|
const sig = ensureBytes('signature', signature, 64);
|
package/src/stark.ts
CHANGED
|
@@ -94,19 +94,19 @@ function ensureBytes0x(hex: Hex): Uint8Array {
|
|
|
94
94
|
return hex instanceof Uint8Array ? Uint8Array.from(hex) : hexToBytes0x(hex);
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
function
|
|
97
|
+
function normPrivKey(privKey: Hex) {
|
|
98
98
|
return cutils.bytesToHex(ensureBytes0x(privKey)).padStart(64, '0');
|
|
99
99
|
}
|
|
100
100
|
function getPublicKey0x(privKey: Hex, isCompressed = false) {
|
|
101
|
-
return starkCurve.getPublicKey(
|
|
101
|
+
return starkCurve.getPublicKey(normPrivKey(privKey), isCompressed);
|
|
102
102
|
}
|
|
103
103
|
function getSharedSecret0x(privKeyA: Hex, pubKeyB: Hex) {
|
|
104
|
-
return starkCurve.getSharedSecret(
|
|
104
|
+
return starkCurve.getSharedSecret(normPrivKey(privKeyA), pubKeyB);
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
function sign0x(msgHash: Hex, privKey: Hex, opts?: any) {
|
|
108
108
|
if (typeof privKey === 'string') privKey = strip0x(privKey).padStart(64, '0');
|
|
109
|
-
return starkCurve.sign(ensureBytes0x(msgHash),
|
|
109
|
+
return starkCurve.sign(ensureBytes0x(msgHash), normPrivKey(privKey), opts);
|
|
110
110
|
}
|
|
111
111
|
function verify0x(signature: Hex, msgHash: Hex, pubKey: Hex) {
|
|
112
112
|
const sig = signature instanceof Signature ? signature : ensureBytes0x(signature);
|
package/stark.d.ts
CHANGED
|
@@ -42,7 +42,6 @@ declare const CURVE: Readonly<{
|
|
|
42
42
|
export declare const utils: {
|
|
43
43
|
normPrivateKeyToScalar: (key: cutils.PrivKey) => bigint;
|
|
44
44
|
isValidPrivateKey(privateKey: cutils.PrivKey): boolean;
|
|
45
|
-
hashToPrivateKey: (hash: cutils.Hex) => Uint8Array;
|
|
46
45
|
randomPrivateKey: () => Uint8Array;
|
|
47
46
|
precompute: (windowSize?: number | undefined, point?: ProjPointType<bigint> | undefined) => ProjPointType<bigint>;
|
|
48
47
|
};
|
package/stark.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stark.d.ts","sourceRoot":"","sources":["src/stark.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAW,KAAK,EAAiB,MAAM,uBAAuB,CAAC;AAKtE,aAAK,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAiB7C,eAAO,MAAM,UAAU,6CAgCrB,CAAC;AAwCH,iBAAS,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,UAAQ,cAEzD;AACD,iBAAS,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,cAErD;AAED,iBAAS,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,qDAGrD;AACD,iBAAS,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,WAG1D;AAED,QAAA,MAAQ,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAE,eAAe,+DAAE,SAAS,0DAAe,CAAC;AACzD,eAAO,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"stark.d.ts","sourceRoot":"","sources":["src/stark.ts"],"names":[],"mappings":"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"}
|
package/stark.js
CHANGED
|
@@ -95,21 +95,21 @@ function ensureBytes0x(hex) {
|
|
|
95
95
|
// is instance of Uint8Array, and its slice() creates **mutable** copy
|
|
96
96
|
return hex instanceof Uint8Array ? Uint8Array.from(hex) : hexToBytes0x(hex);
|
|
97
97
|
}
|
|
98
|
-
function
|
|
98
|
+
function normPrivKey(privKey) {
|
|
99
99
|
return cutils.bytesToHex(ensureBytes0x(privKey)).padStart(64, '0');
|
|
100
100
|
}
|
|
101
101
|
function getPublicKey0x(privKey, isCompressed = false) {
|
|
102
|
-
return exports.starkCurve.getPublicKey(
|
|
102
|
+
return exports.starkCurve.getPublicKey(normPrivKey(privKey), isCompressed);
|
|
103
103
|
}
|
|
104
104
|
exports.getPublicKey = getPublicKey0x;
|
|
105
105
|
function getSharedSecret0x(privKeyA, pubKeyB) {
|
|
106
|
-
return exports.starkCurve.getSharedSecret(
|
|
106
|
+
return exports.starkCurve.getSharedSecret(normPrivKey(privKeyA), pubKeyB);
|
|
107
107
|
}
|
|
108
108
|
exports.getSharedSecret = getSharedSecret0x;
|
|
109
109
|
function sign0x(msgHash, privKey, opts) {
|
|
110
110
|
if (typeof privKey === 'string')
|
|
111
111
|
privKey = (0, exports.strip0x)(privKey).padStart(64, '0');
|
|
112
|
-
return exports.starkCurve.sign(ensureBytes0x(msgHash),
|
|
112
|
+
return exports.starkCurve.sign(ensureBytes0x(msgHash), normPrivKey(privKey), opts);
|
|
113
113
|
}
|
|
114
114
|
exports.sign = sign0x;
|
|
115
115
|
function verify0x(signature, msgHash, pubKey) {
|
package/stark.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stark.js","sourceRoot":"","sources":["src/stark.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stark.js","sourceRoot":"","sources":["src/stark.ts"],"names":[],"mappings":"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"}
|