ox 0.8.0 → 0.8.2

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 (64) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/Ed25519/package.json +6 -0
  3. package/X25519/package.json +6 -0
  4. package/_cjs/core/Bls.js +10 -0
  5. package/_cjs/core/Bls.js.map +1 -1
  6. package/_cjs/core/Ed25519.js +53 -0
  7. package/_cjs/core/Ed25519.js.map +1 -0
  8. package/_cjs/core/Keystore.js +65 -5
  9. package/_cjs/core/Keystore.js.map +1 -1
  10. package/_cjs/core/P256.js +23 -0
  11. package/_cjs/core/P256.js.map +1 -1
  12. package/_cjs/core/Secp256k1.js +20 -0
  13. package/_cjs/core/Secp256k1.js.map +1 -1
  14. package/_cjs/core/WebCryptoP256.js +31 -0
  15. package/_cjs/core/WebCryptoP256.js.map +1 -1
  16. package/_cjs/core/X25519.js +45 -0
  17. package/_cjs/core/X25519.js.map +1 -0
  18. package/_cjs/index.js +4 -2
  19. package/_cjs/index.js.map +1 -1
  20. package/_cjs/version.js +1 -1
  21. package/_esm/core/Bls.js +109 -0
  22. package/_esm/core/Bls.js.map +1 -1
  23. package/_esm/core/Ed25519.js +121 -0
  24. package/_esm/core/Ed25519.js.map +1 -0
  25. package/_esm/core/Keystore.js +107 -9
  26. package/_esm/core/Keystore.js.map +1 -1
  27. package/_esm/core/P256.js +54 -2
  28. package/_esm/core/P256.js.map +1 -1
  29. package/_esm/core/Secp256k1.js +50 -0
  30. package/_esm/core/Secp256k1.js.map +1 -1
  31. package/_esm/core/WebCryptoP256.js +72 -0
  32. package/_esm/core/WebCryptoP256.js.map +1 -1
  33. package/_esm/core/X25519.js +97 -0
  34. package/_esm/core/X25519.js.map +1 -0
  35. package/_esm/index.js +85 -4
  36. package/_esm/index.js.map +1 -1
  37. package/_esm/version.js +1 -1
  38. package/_types/core/Bls.d.ts +124 -0
  39. package/_types/core/Bls.d.ts.map +1 -1
  40. package/_types/core/Ed25519.d.ts +156 -0
  41. package/_types/core/Ed25519.d.ts.map +1 -0
  42. package/_types/core/Keystore.d.ts +66 -8
  43. package/_types/core/Keystore.d.ts.map +1 -1
  44. package/_types/core/P256.d.ts +68 -2
  45. package/_types/core/P256.d.ts.map +1 -1
  46. package/_types/core/Secp256k1.d.ts +67 -0
  47. package/_types/core/Secp256k1.d.ts.map +1 -1
  48. package/_types/core/WebCryptoP256.d.ts +76 -1
  49. package/_types/core/WebCryptoP256.d.ts.map +1 -1
  50. package/_types/core/X25519.d.ts +127 -0
  51. package/_types/core/X25519.d.ts.map +1 -0
  52. package/_types/index.d.ts +85 -4
  53. package/_types/index.d.ts.map +1 -1
  54. package/_types/version.d.ts +1 -1
  55. package/core/Bls.ts +150 -0
  56. package/core/Ed25519.ts +237 -0
  57. package/core/Keystore.ts +141 -12
  58. package/core/P256.ts +114 -2
  59. package/core/Secp256k1.ts +110 -0
  60. package/core/WebCryptoP256.ts +141 -1
  61. package/core/X25519.ts +202 -0
  62. package/index.ts +87 -4
  63. package/package.json +11 -1
  64. package/version.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # ox
2
2
 
3
+ ## 0.8.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [`9fd0bf0`](https://github.com/wevm/ox/commit/9fd0bf0460694709566805bc29f50cad25816620) Thanks [@jxom](https://github.com/jxom)! - Added [ECDH (Elliptic Curve Diffie-Hellman)](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/deriveKey#ecdh) shared secrets to `P256`, `Secp256k1`, and `WebCryptoP256` modules. This enables secure key agreement between parties using elliptic curve cryptography for both secp256k1 and secp256r1 (P256) curves, with support for both `@noble/curves` (for `P256` and `Secp256k1`) implementation and Web Crypto APIs (`WebCryptoP256`).
8
+
9
+ - `P256.getSharedSecret`
10
+ - `Secp256k1.getSharedSecret`
11
+ - `WebCryptoP256.getSharedSecret`
12
+
13
+ - [`9fd0bf0`](https://github.com/wevm/ox/commit/9fd0bf0460694709566805bc29f50cad25816620) Thanks [@jxom](https://github.com/jxom)! - Added `createKeyPair` helper functions for `Bls`, `P256`, and `Secp256k1` modules. These functions provide a convenient way to generate complete key pairs (private key + public key) in a single operation, simplifying key generation workflows and reducing the need for separate `randomPrivateKey` and `getPublicKey` calls.
14
+
15
+ - [`9fd0bf0`](https://github.com/wevm/ox/commit/9fd0bf0460694709566805bc29f50cad25816620) Thanks [@jxom](https://github.com/jxom)! - Added `Ed25519` and `X25519` modules. The `Ed25519` module provides functionality for creating key pairs, signing messages, and verifying signatures using the Ed25519 signature scheme. The `X25519` module enables Elliptic Curve Diffie-Hellman (ECDH) key agreement operations for secure shared secret derivation.
16
+
17
+ ## 0.8.1
18
+
19
+ ### Patch Changes
20
+
21
+ - [`74e47c5`](https://github.com/wevm/ox/commit/74e47c5df471a48f4fb389f0684ca52f841fbc11) Thanks [@jxom](https://github.com/jxom)! - Added `Keystore.toKey` and `Keystore.toKeyAsync` to derive a key from a JSON Keystore using a password.
22
+
3
23
  ## 0.8.0
4
24
 
5
25
  ### Minor Changes
@@ -0,0 +1,6 @@
1
+ {
2
+ "type": "module",
3
+ "types": "../_types/core/Ed25519.d.ts",
4
+ "main": "../_cjs/core/Ed25519.js",
5
+ "module": "../_esm/core/Ed25519.js"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "type": "module",
3
+ "types": "../_types/core/X25519.d.ts",
4
+ "main": "../_cjs/core/X25519.js",
5
+ "module": "../_esm/core/X25519.js"
6
+ }
package/_cjs/core/Bls.js CHANGED
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.noble = void 0;
4
4
  exports.aggregate = aggregate;
5
+ exports.createKeyPair = createKeyPair;
5
6
  exports.getPublicKey = getPublicKey;
6
7
  exports.randomPrivateKey = randomPrivateKey;
7
8
  exports.sign = sign;
@@ -19,6 +20,15 @@ function aggregate(points) {
19
20
  z: point.pz,
20
21
  };
21
22
  }
23
+ function createKeyPair(options = {}) {
24
+ const { as = 'Hex', size = 'short-key:long-sig' } = options;
25
+ const privateKey = randomPrivateKey({ as });
26
+ const publicKey = getPublicKey({ privateKey, size });
27
+ return {
28
+ privateKey: privateKey,
29
+ publicKey: publicKey,
30
+ };
31
+ }
22
32
  function getPublicKey(options) {
23
33
  const { privateKey, size = 'short-key:long-sig' } = options;
24
34
  const group = size === 'short-key:long-sig' ? bls12_381_1.bls12_381.G1 : bls12_381_1.bls12_381.G2;
@@ -1 +1 @@
1
- {"version":3,"file":"Bls.js","sourceRoot":"","sources":["../../core/Bls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Bls.js","sourceRoot":"","sources":["../../core/Bls.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.noble = void 0;
4
+ exports.createKeyPair = createKeyPair;
5
+ exports.getPublicKey = getPublicKey;
6
+ exports.randomPrivateKey = randomPrivateKey;
7
+ exports.sign = sign;
8
+ exports.verify = verify;
9
+ const ed25519_1 = require("@noble/curves/ed25519");
10
+ const Bytes = require("./Bytes.js");
11
+ const Hex = require("./Hex.js");
12
+ exports.noble = ed25519_1.ed25519;
13
+ function createKeyPair(options = {}) {
14
+ const { as = 'Hex' } = options;
15
+ const privateKey = randomPrivateKey({ as });
16
+ const publicKey = getPublicKey({ privateKey, as });
17
+ return {
18
+ privateKey: privateKey,
19
+ publicKey: publicKey,
20
+ };
21
+ }
22
+ function getPublicKey(options) {
23
+ const { as = 'Hex', privateKey } = options;
24
+ const privateKeyBytes = Bytes.from(privateKey);
25
+ const publicKeyBytes = ed25519_1.ed25519.getPublicKey(privateKeyBytes);
26
+ if (as === 'Hex')
27
+ return Hex.fromBytes(publicKeyBytes);
28
+ return publicKeyBytes;
29
+ }
30
+ function randomPrivateKey(options = {}) {
31
+ const { as = 'Hex' } = options;
32
+ const bytes = ed25519_1.ed25519.utils.randomPrivateKey();
33
+ if (as === 'Hex')
34
+ return Hex.fromBytes(bytes);
35
+ return bytes;
36
+ }
37
+ function sign(options) {
38
+ const { as = 'Hex', payload, privateKey } = options;
39
+ const payloadBytes = Bytes.from(payload);
40
+ const privateKeyBytes = Bytes.from(privateKey);
41
+ const signatureBytes = ed25519_1.ed25519.sign(payloadBytes, privateKeyBytes);
42
+ if (as === 'Hex')
43
+ return Hex.fromBytes(signatureBytes);
44
+ return signatureBytes;
45
+ }
46
+ function verify(options) {
47
+ const { payload, publicKey, signature } = options;
48
+ const payloadBytes = Bytes.from(payload);
49
+ const publicKeyBytes = Bytes.from(publicKey);
50
+ const signatureBytes = Bytes.from(signature);
51
+ return ed25519_1.ed25519.verify(signatureBytes, payloadBytes, publicKeyBytes);
52
+ }
53
+ //# sourceMappingURL=Ed25519.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Ed25519.js","sourceRoot":"","sources":["../../core/Ed25519.ts"],"names":[],"mappings":";;;AAqBA,sCAWC;AAwCD,oCAQC;AAsCD,4CAOC;AAkCD,oBASC;AAiDD,wBAMC;AA/ND,mDAA+C;AAC/C,oCAAmC;AAEnC,gCAA+B;AAGlB,QAAA,KAAK,GAAG,iBAAO,CAAA;AAe5B,SAAgB,aAAa,CAC3B,UAAqC,EAAE;IAEvC,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;IAC9B,MAAM,UAAU,GAAG,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAC3C,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAA;IAElD,OAAO;QACL,UAAU,EAAE,UAAmB;QAC/B,SAAS,EAAE,SAAkB;KAC9B,CAAA;AACH,CAAC;AAwCD,SAAgB,YAAY,CAC1B,OAAiC;IAEjC,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAC1C,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC9C,MAAM,cAAc,GAAG,iBAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;IAC5D,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,GAAG,CAAC,SAAS,CAAC,cAAc,CAAU,CAAA;IAC/D,OAAO,cAAuB,CAAA;AAChC,CAAC;AAsCD,SAAgB,gBAAgB,CAC9B,UAAwC,EAAE;IAE1C,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;IAC9B,MAAM,KAAK,GAAG,iBAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAA;IAC9C,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,CAAU,CAAA;IACtD,OAAO,KAAc,CAAA;AACvB,CAAC;AAkCD,SAAgB,IAAI,CAClB,OAAyB;IAEzB,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IACnD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACxC,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC9C,MAAM,cAAc,GAAG,iBAAO,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA;IAClE,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,GAAG,CAAC,SAAS,CAAC,cAAc,CAAU,CAAA;IAC/D,OAAO,cAAuB,CAAA;AAChC,CAAC;AAiDD,SAAgB,MAAM,CAAC,OAAuB;IAC5C,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;IACjD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACxC,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC5C,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC5C,OAAO,iBAAO,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA;AACrE,CAAC"}
@@ -6,13 +6,15 @@ exports.pbkdf2 = pbkdf2;
6
6
  exports.pbkdf2Async = pbkdf2Async;
7
7
  exports.scrypt = scrypt;
8
8
  exports.scryptAsync = scryptAsync;
9
+ exports.toKey = toKey;
10
+ exports.toKeyAsync = toKeyAsync;
9
11
  const aes_1 = require("@noble/ciphers/aes");
10
12
  const pbkdf2_1 = require("@noble/hashes/pbkdf2");
11
13
  const scrypt_1 = require("@noble/hashes/scrypt");
12
14
  const sha2_1 = require("@noble/hashes/sha2");
13
15
  const Bytes = require("./Bytes.js");
14
16
  const Hash = require("./Hash.js");
15
- async function decrypt(keystore, key, options = {}) {
17
+ function decrypt(keystore, key, options = {}) {
16
18
  const { as = 'Hex' } = options;
17
19
  const key_ = Bytes.from(typeof key === 'function' ? key() : key);
18
20
  const encKey = Bytes.slice(key_, 0, 16);
@@ -26,7 +28,7 @@ async function decrypt(keystore, key, options = {}) {
26
28
  return Bytes.toHex(data);
27
29
  return data;
28
30
  }
29
- async function encrypt(privateKey, key, options) {
31
+ function encrypt(privateKey, key, options) {
30
32
  const { id = crypto.randomUUID(), kdf, kdfparams, iv } = options;
31
33
  const key_ = Bytes.from(typeof key === 'function' ? key() : key);
32
34
  const value_ = Bytes.from(privateKey);
@@ -81,9 +83,7 @@ async function pbkdf2Async(options) {
81
83
  });
82
84
  }
83
85
  function scrypt(options) {
84
- const { iv, n = 262_144, password } = options;
85
- const p = 8;
86
- const r = 1;
86
+ const { iv, n = 262_144, password, p = 8, r = 1 } = options;
87
87
  const salt = options.salt ? Bytes.from(options.salt) : Bytes.random(32);
88
88
  const key = Bytes.toHex((0, scrypt_1.scrypt)(password, salt, { N: n, dkLen: 32, r, p }));
89
89
  return defineKey(() => key, {
@@ -116,6 +116,66 @@ async function scryptAsync(options) {
116
116
  kdf: 'scrypt',
117
117
  });
118
118
  }
119
+ function toKey(keystore, options) {
120
+ const { crypto } = keystore;
121
+ const { password } = options;
122
+ const { cipherparams, kdf, kdfparams } = crypto;
123
+ const { iv } = cipherparams;
124
+ const { c, n, p, r, salt } = kdfparams;
125
+ const [key] = (() => {
126
+ switch (kdf) {
127
+ case 'scrypt':
128
+ return scrypt({
129
+ iv: Bytes.from(`0x${iv}`),
130
+ n,
131
+ p,
132
+ r,
133
+ salt: Bytes.from(`0x${salt}`),
134
+ password,
135
+ });
136
+ case 'pbkdf2':
137
+ return pbkdf2({
138
+ iv: Bytes.from(`0x${iv}`),
139
+ iterations: c,
140
+ password,
141
+ salt: Bytes.from(`0x${salt}`),
142
+ });
143
+ default:
144
+ throw new Error('unsupported kdf');
145
+ }
146
+ })();
147
+ return key;
148
+ }
149
+ async function toKeyAsync(keystore, options) {
150
+ const { crypto } = keystore;
151
+ const { password } = options;
152
+ const { cipherparams, kdf, kdfparams } = crypto;
153
+ const { iv } = cipherparams;
154
+ const { c, n, p, r, salt } = kdfparams;
155
+ const [key] = await (async () => {
156
+ switch (kdf) {
157
+ case 'scrypt':
158
+ return await scryptAsync({
159
+ iv: Bytes.from(`0x${iv}`),
160
+ n,
161
+ p,
162
+ r,
163
+ salt: Bytes.from(`0x${salt}`),
164
+ password,
165
+ });
166
+ case 'pbkdf2':
167
+ return await pbkdf2({
168
+ iv: Bytes.from(`0x${iv}`),
169
+ iterations: c,
170
+ password,
171
+ salt: Bytes.from(`0x${salt}`),
172
+ });
173
+ default:
174
+ throw new Error('unsupported kdf');
175
+ }
176
+ })();
177
+ return key;
178
+ }
119
179
  function defineKey(key, options) {
120
180
  const iv = options.iv ? Bytes.from(options.iv) : Bytes.random(16);
121
181
  return [key, { ...options, iv }];
@@ -1 +1 @@
1
- {"version":3,"file":"Keystore.js","sourceRoot":"","sources":["../../core/Keystore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Keystore.js","sourceRoot":"","sources":["../../core/Keystore.ts"],"names":[],"mappings":"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"}
package/_cjs/core/P256.js CHANGED
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.noble = void 0;
4
+ exports.createKeyPair = createKeyPair;
4
5
  exports.getPublicKey = getPublicKey;
6
+ exports.getSharedSecret = getSharedSecret;
5
7
  exports.randomPrivateKey = randomPrivateKey;
6
8
  exports.recoverPublicKey = recoverPublicKey;
7
9
  exports.sign = sign;
@@ -12,6 +14,15 @@ const Hex = require("./Hex.js");
12
14
  const PublicKey = require("./PublicKey.js");
13
15
  const Entropy = require("./internal/entropy.js");
14
16
  exports.noble = p256_1.secp256r1;
17
+ function createKeyPair(options = {}) {
18
+ const { as = 'Hex' } = options;
19
+ const privateKey = randomPrivateKey({ as });
20
+ const publicKey = getPublicKey({ privateKey });
21
+ return {
22
+ privateKey: privateKey,
23
+ publicKey,
24
+ };
25
+ }
15
26
  function getPublicKey(options) {
16
27
  const { privateKey } = options;
17
28
  const point = p256_1.secp256r1.ProjectivePoint.fromPrivateKey(typeof privateKey === 'string'
@@ -19,6 +30,18 @@ function getPublicKey(options) {
19
30
  : Hex.fromBytes(privateKey).slice(2));
20
31
  return PublicKey.from(point);
21
32
  }
33
+ function getSharedSecret(options) {
34
+ const { as = 'Hex', privateKey, publicKey } = options;
35
+ const point = p256_1.secp256r1.ProjectivePoint.fromHex(PublicKey.toHex(publicKey).slice(2));
36
+ const privateKeyHex = typeof privateKey === 'string'
37
+ ? privateKey.slice(2)
38
+ : Hex.fromBytes(privateKey).slice(2);
39
+ const sharedPoint = point.multiply(p256_1.secp256r1.utils.normPrivateKeyToScalar(privateKeyHex));
40
+ const sharedSecret = sharedPoint.toRawBytes(true);
41
+ if (as === 'Hex')
42
+ return Hex.fromBytes(sharedSecret);
43
+ return sharedSecret;
44
+ }
22
45
  function randomPrivateKey(options = {}) {
23
46
  const { as = 'Hex' } = options;
24
47
  const bytes = p256_1.secp256r1.utils.randomPrivateKey();
@@ -1 +1 @@
1
- {"version":3,"file":"P256.js","sourceRoot":"","sources":["../../core/P256.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"P256.js","sourceRoot":"","sources":["../../core/P256.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.noble = void 0;
4
+ exports.createKeyPair = createKeyPair;
4
5
  exports.getPublicKey = getPublicKey;
6
+ exports.getSharedSecret = getSharedSecret;
5
7
  exports.randomPrivateKey = randomPrivateKey;
6
8
  exports.recoverAddress = recoverAddress;
7
9
  exports.recoverPublicKey = recoverPublicKey;
@@ -14,11 +16,29 @@ const Hex = require("./Hex.js");
14
16
  const PublicKey = require("./PublicKey.js");
15
17
  const Entropy = require("./internal/entropy.js");
16
18
  exports.noble = secp256k1_1.secp256k1;
19
+ function createKeyPair(options = {}) {
20
+ const { as = 'Hex' } = options;
21
+ const privateKey = randomPrivateKey({ as });
22
+ const publicKey = getPublicKey({ privateKey });
23
+ return {
24
+ privateKey: privateKey,
25
+ publicKey,
26
+ };
27
+ }
17
28
  function getPublicKey(options) {
18
29
  const { privateKey } = options;
19
30
  const point = secp256k1_1.secp256k1.ProjectivePoint.fromPrivateKey(Hex.from(privateKey).slice(2));
20
31
  return PublicKey.from(point);
21
32
  }
33
+ function getSharedSecret(options) {
34
+ const { as = 'Hex', privateKey, publicKey } = options;
35
+ const point = secp256k1_1.secp256k1.ProjectivePoint.fromHex(PublicKey.toHex(publicKey).slice(2));
36
+ const sharedPoint = point.multiply(secp256k1_1.secp256k1.utils.normPrivateKeyToScalar(Hex.from(privateKey).slice(2)));
37
+ const sharedSecret = sharedPoint.toRawBytes(true);
38
+ if (as === 'Hex')
39
+ return Hex.fromBytes(sharedSecret);
40
+ return sharedSecret;
41
+ }
22
42
  function randomPrivateKey(options = {}) {
23
43
  const { as = 'Hex' } = options;
24
44
  const bytes = secp256k1_1.secp256k1.utils.randomPrivateKey();
@@ -1 +1 @@
1
- {"version":3,"file":"Secp256k1.js","sourceRoot":"","sources":["../../core/Secp256k1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Secp256k1.js","sourceRoot":"","sources":["../../core/Secp256k1.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createKeyPair = createKeyPair;
4
+ exports.createKeyPairECDH = createKeyPairECDH;
5
+ exports.getSharedSecret = getSharedSecret;
4
6
  exports.sign = sign;
5
7
  exports.verify = verify;
6
8
  const p256_1 = require("@noble/curves/p256");
7
9
  const Bytes = require("./Bytes.js");
10
+ const Hex = require("./Hex.js");
8
11
  const PublicKey = require("./PublicKey.js");
9
12
  async function createKeyPair(options = {}) {
10
13
  const { extractable = false } = options;
@@ -19,6 +22,34 @@ async function createKeyPair(options = {}) {
19
22
  publicKey,
20
23
  };
21
24
  }
25
+ async function createKeyPairECDH(options = {}) {
26
+ const { extractable = false } = options;
27
+ const keypair = await globalThis.crypto.subtle.generateKey({
28
+ name: 'ECDH',
29
+ namedCurve: 'P-256',
30
+ }, extractable, ['deriveKey', 'deriveBits']);
31
+ const publicKey_raw = await globalThis.crypto.subtle.exportKey('raw', keypair.publicKey);
32
+ const publicKey = PublicKey.from(new Uint8Array(publicKey_raw));
33
+ return {
34
+ privateKey: keypair.privateKey,
35
+ publicKey,
36
+ };
37
+ }
38
+ async function getSharedSecret(options) {
39
+ const { as = 'Hex', privateKey, publicKey } = options;
40
+ if (privateKey.algorithm.name === 'ECDSA') {
41
+ throw new Error('privateKey is not compatible with ECDH. please use `createKeyPairECDH` to create an ECDH key.');
42
+ }
43
+ const publicKeyCrypto = await globalThis.crypto.subtle.importKey('raw', PublicKey.toBytes(publicKey), { name: 'ECDH', namedCurve: 'P-256' }, false, []);
44
+ const sharedSecretBuffer = await globalThis.crypto.subtle.deriveBits({
45
+ name: 'ECDH',
46
+ public: publicKeyCrypto,
47
+ }, privateKey, 256);
48
+ const sharedSecret = new Uint8Array(sharedSecretBuffer);
49
+ if (as === 'Hex')
50
+ return Hex.fromBytes(sharedSecret);
51
+ return sharedSecret;
52
+ }
22
53
  async function sign(options) {
23
54
  const { payload, privateKey } = options;
24
55
  const signature = await globalThis.crypto.subtle.sign({
@@ -1 +1 @@
1
- {"version":3,"file":"WebCryptoP256.js","sourceRoot":"","sources":["../../core/WebCryptoP256.ts"],"names":[],"mappings":";;AAiCA,sCAqBC;AAsCD,oBAiBC;AAmCD,wBAoBC;AApKD,6CAAyC;AACzC,oCAAmC;AAGnC,4CAA2C;AA6BpC,KAAK,UAAU,aAAa,CACjC,UAAiC,EAAE;IAEnC,MAAM,EAAE,WAAW,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;IACvC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CACxD;QACE,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,OAAO;KACpB,EACD,WAAW,EACX,CAAC,MAAM,EAAE,QAAQ,CAAC,CACnB,CAAA;IACD,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAC5D,KAAK,EACL,OAAO,CAAC,SAAS,CAClB,CAAA;IACD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC,CAAA;IAC/D,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS;KACV,CAAA;AACH,CAAC;AAsCM,KAAK,UAAU,IAAI,CACxB,OAAqB;IAErB,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IACvC,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CACnD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,SAAS;KAChB,EACD,UAAU,EACV,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CACpB,CAAA;IACD,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;IAClE,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IAC7D,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IAC5D,IAAI,CAAC,GAAG,WAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE;QAAE,CAAC,GAAG,WAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA;IAC/C,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;AACjB,CAAC;AAmCM,KAAK,UAAU,MAAM,CAAC,OAAuB;IAClD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;IAEtC,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CACxD,KAAK,EACL,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EACpC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,EACtC,IAAI,EACJ,CAAC,QAAQ,CAAC,CACX,CAAA;IAED,OAAO,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAC1C;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,SAAS;KAChB,EACD,SAAS,EACT,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC1E,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CACpB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"WebCryptoP256.js","sourceRoot":"","sources":["../../core/WebCryptoP256.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.noble = void 0;
4
+ exports.createKeyPair = createKeyPair;
5
+ exports.getPublicKey = getPublicKey;
6
+ exports.getSharedSecret = getSharedSecret;
7
+ exports.randomPrivateKey = randomPrivateKey;
8
+ const ed25519_1 = require("@noble/curves/ed25519");
9
+ const Bytes = require("./Bytes.js");
10
+ const Hex = require("./Hex.js");
11
+ exports.noble = ed25519_1.x25519;
12
+ function createKeyPair(options = {}) {
13
+ const { as = 'Hex' } = options;
14
+ const privateKey = randomPrivateKey({ as });
15
+ const publicKey = getPublicKey({ privateKey, as });
16
+ return {
17
+ privateKey: privateKey,
18
+ publicKey: publicKey,
19
+ };
20
+ }
21
+ function getPublicKey(options) {
22
+ const { as = 'Hex', privateKey } = options;
23
+ const privateKeyBytes = Bytes.from(privateKey);
24
+ const publicKeyBytes = ed25519_1.x25519.getPublicKey(privateKeyBytes);
25
+ if (as === 'Hex')
26
+ return Hex.fromBytes(publicKeyBytes);
27
+ return publicKeyBytes;
28
+ }
29
+ function getSharedSecret(options) {
30
+ const { as = 'Hex', privateKey, publicKey } = options;
31
+ const privateKeyBytes = Bytes.from(privateKey);
32
+ const publicKeyBytes = Bytes.from(publicKey);
33
+ const sharedSecretBytes = ed25519_1.x25519.getSharedSecret(privateKeyBytes, publicKeyBytes);
34
+ if (as === 'Hex')
35
+ return Hex.fromBytes(sharedSecretBytes);
36
+ return sharedSecretBytes;
37
+ }
38
+ function randomPrivateKey(options = {}) {
39
+ const { as = 'Hex' } = options;
40
+ const bytes = ed25519_1.x25519.utils.randomPrivateKey();
41
+ if (as === 'Hex')
42
+ return Hex.fromBytes(bytes);
43
+ return bytes;
44
+ }
45
+ //# sourceMappingURL=X25519.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"X25519.js","sourceRoot":"","sources":["../../core/X25519.ts"],"names":[],"mappings":";;;AAqBA,sCAWC;AAwCD,oCAQC;AA4CD,0CAYC;AA0CD,4CAOC;AAzLD,mDAA8C;AAC9C,oCAAmC;AAEnC,gCAA+B;AAGlB,QAAA,KAAK,GAAG,gBAAM,CAAA;AAe3B,SAAgB,aAAa,CAC3B,UAAqC,EAAE;IAEvC,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;IAC9B,MAAM,UAAU,GAAG,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAC3C,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAA;IAElD,OAAO;QACL,UAAU,EAAE,UAAmB;QAC/B,SAAS,EAAE,SAAkB;KAC9B,CAAA;AACH,CAAC;AAwCD,SAAgB,YAAY,CAC1B,OAAiC;IAEjC,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAC1C,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC9C,MAAM,cAAc,GAAG,gBAAM,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;IAC3D,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,GAAG,CAAC,SAAS,CAAC,cAAc,CAAU,CAAA;IAC/D,OAAO,cAAuB,CAAA;AAChC,CAAC;AA4CD,SAAgB,eAAe,CAC7B,OAAoC;IAEpC,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;IACrD,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC9C,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC5C,MAAM,iBAAiB,GAAG,gBAAM,CAAC,eAAe,CAC9C,eAAe,EACf,cAAc,CACf,CAAA;IACD,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAU,CAAA;IAClE,OAAO,iBAA0B,CAAA;AACnC,CAAC;AA0CD,SAAgB,gBAAgB,CAC9B,UAAwC,EAAE;IAE1C,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;IAC9B,MAAM,KAAK,GAAG,gBAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAA;IAC7C,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,CAAU,CAAA;IACtD,OAAO,KAAc,CAAA;AACvB,CAAC"}
package/_cjs/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StateOverrides = exports.Solidity = exports.Siwe = exports.Signature = exports.P256 = exports.Secp256k1 = exports.RpcTransport = exports.RpcResponse = exports.RpcRequest = exports.RpcSchema = exports.Rlp = exports.PublicKey = exports.Provider = exports.PersonalMessage = exports.Mnemonic = exports.Log = exports.Kzg = exports.Keystore = exports.Json = exports.Fee = exports.Hex = exports.HdKey = exports.Hash = exports.Filter = exports.Errors = exports.Ens = exports.ContractAddress = exports.Caches = exports.Bytes = exports.BlsPoint = exports.Bls = exports.Bloom = exports.BlockOverrides = exports.Block = exports.Blobs = exports.BinaryStateTree = exports.Base64 = exports.Base58 = exports.Authorization = exports.AesGcm = exports.Address = exports.AccountProof = exports.AccessList = exports.AbiParameters = exports.AbiItem = exports.AbiFunction = exports.AbiEvent = exports.AbiError = exports.AbiConstructor = exports.Abi = void 0;
4
- exports.Withdrawal = exports.WebCryptoP256 = exports.WebAuthnP256 = exports.Value = exports.ValidatorData = exports.TypedData = exports.TransactionRequest = exports.TransactionReceipt = exports.TransactionEnvelopeEip7702 = exports.TransactionEnvelopeEip4844 = exports.TransactionEnvelopeEip2930 = exports.TransactionEnvelopeEip1559 = exports.TransactionEnvelopeLegacy = exports.TransactionEnvelope = exports.Transaction = void 0;
3
+ exports.Solidity = exports.Siwe = exports.Signature = exports.P256 = exports.Secp256k1 = exports.RpcTransport = exports.RpcResponse = exports.RpcRequest = exports.RpcSchema = exports.Rlp = exports.PublicKey = exports.Provider = exports.PersonalMessage = exports.Mnemonic = exports.Log = exports.Kzg = exports.Keystore = exports.Json = exports.Fee = exports.Hex = exports.HdKey = exports.Hash = exports.Filter = exports.Errors = exports.Ens = exports.Ed25519 = exports.ContractAddress = exports.Caches = exports.Bytes = exports.BlsPoint = exports.Bls = exports.Bloom = exports.BlockOverrides = exports.Block = exports.Blobs = exports.BinaryStateTree = exports.Base64 = exports.Base58 = exports.Authorization = exports.AesGcm = exports.Address = exports.AccountProof = exports.AccessList = exports.AbiParameters = exports.AbiItem = exports.AbiFunction = exports.AbiEvent = exports.AbiError = exports.AbiConstructor = exports.Abi = void 0;
4
+ exports.X25519 = exports.Withdrawal = exports.WebCryptoP256 = exports.WebAuthnP256 = exports.Value = exports.ValidatorData = exports.TypedData = exports.TransactionRequest = exports.TransactionReceipt = exports.TransactionEnvelopeEip7702 = exports.TransactionEnvelopeEip4844 = exports.TransactionEnvelopeEip2930 = exports.TransactionEnvelopeEip1559 = exports.TransactionEnvelopeLegacy = exports.TransactionEnvelope = exports.Transaction = exports.StateOverrides = void 0;
5
5
  exports.Abi = require("./core/Abi.js");
6
6
  exports.AbiConstructor = require("./core/AbiConstructor.js");
7
7
  exports.AbiError = require("./core/AbiError.js");
@@ -26,6 +26,7 @@ exports.BlsPoint = require("./core/BlsPoint.js");
26
26
  exports.Bytes = require("./core/Bytes.js");
27
27
  exports.Caches = require("./core/Caches.js");
28
28
  exports.ContractAddress = require("./core/ContractAddress.js");
29
+ exports.Ed25519 = require("./core/Ed25519.js");
29
30
  exports.Ens = require("./core/Ens.js");
30
31
  exports.Errors = require("./core/Errors.js");
31
32
  exports.Filter = require("./core/Filter.js");
@@ -67,4 +68,5 @@ exports.Value = require("./core/Value.js");
67
68
  exports.WebAuthnP256 = require("./core/WebAuthnP256.js");
68
69
  exports.WebCryptoP256 = require("./core/WebCryptoP256.js");
69
70
  exports.Withdrawal = require("./core/Withdrawal.js");
71
+ exports.X25519 = require("./core/X25519.js");
70
72
  //# sourceMappingURL=index.js.map
package/_cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;AAuHA,uCAAoC;AA4EpC,6DAA0D;AAwE1D,iDAA8C;AAmH9C,iDAA8C;AA8F9C,uDAAoD;AA8EpD,+CAA4C;AAwG5C,2DAAwD;AAOxD,qDAAkD;AAOlD,yDAAsD;AAuDtD,+CAA4C;AAqC5C,6CAA0C;AA0E1C,2DAAwD;AAuDxD,6CAA0C;AAsD1C,6CAA0C;AAO1C,+DAA4D;AAO5D,2CAAwC;AAgCxC,2CAAwC;AAOxC,6DAA0D;AAO1D,2CAAwC;AAoHxC,uCAAoC;AA6CpC,iDAA8C;AAgI9C,2CAAwC;AAExC,6CAA0C;AAsC1C,+DAA4D;AA+B5D,uCAAoC;AAEpC,6CAA0C;AAO1C,6CAA0C;AAe1C,yCAAsC;AActC,2CAAwC;AAmHxC,uCAAoC;AAKpC,uCAAoC;AAkCpC,yCAAsC;AAgDtC,iDAA8C;AAS9C,uCAAoC;AA2DpC,uCAAoC;AA6DpC,iDAA8C;AAoB9C,+DAA4D;AAqF5D,iDAA8C;AAyC9C,mDAAgD;AAoBhD,uCAAoC;AAOpC,mDAAgD;AAmChD,qDAAkD;AAmFlD,uDAAoD;AA0BpD,yDAAsD;AAyEtD,mDAAgD;AAyEhD,yCAAsC;AAmCtC,mDAAgD;AAqGhD,yCAAsC;AAEtC,iDAA8C;AAO9C,6DAA0D;AAuC1D,uDAAoD;AAgBpD,uEAAoE;AA2JpE,mFAAgF;AAuKhF,qFAAkF;AA+JlF,qFAAkF;AAwLlF,qFAAkF;AAqIlF,qFAAkF;AA6ClF,qEAAkE;AAyBlE,qEAAkE;AAkDlE,mDAAgD;AAOhD,2DAAwD;AAsBxD,2CAAwC;AAkFxC,yDAAsD;AAiEtD,2DAAwD;AAOxD,qDAAkD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;AAuHA,uCAAoC;AA4EpC,6DAA0D;AAwE1D,iDAA8C;AAmH9C,iDAA8C;AA8F9C,uDAAoD;AA8EpD,+CAA4C;AAwG5C,2DAAwD;AAOxD,qDAAkD;AAOlD,yDAAsD;AAuDtD,+CAA4C;AAqC5C,6CAA0C;AA0E1C,2DAAwD;AAuDxD,6CAA0C;AAsD1C,6CAA0C;AAO1C,+DAA4D;AAO5D,2CAAwC;AAgCxC,2CAAwC;AAOxC,6DAA0D;AAO1D,2CAAwC;AAoHxC,uCAAoC;AA6CpC,iDAA8C;AAgI9C,2CAAwC;AAExC,6CAA0C;AAsC1C,+DAA4D;AAgC5D,+CAA4C;AA+B5C,uCAAoC;AAEpC,6CAA0C;AAO1C,6CAA0C;AAe1C,yCAAsC;AActC,2CAAwC;AAmHxC,uCAAoC;AAKpC,uCAAoC;AAkCpC,yCAAsC;AAgEtC,iDAA8C;AAS9C,uCAAoC;AA2DpC,uCAAoC;AA6DpC,iDAA8C;AAoB9C,+DAA4D;AAqF5D,iDAA8C;AAyC9C,mDAAgD;AAoBhD,uCAAoC;AAOpC,mDAAgD;AAmChD,qDAAkD;AAmFlD,uDAAoD;AA0BpD,yDAAsD;AAyEtD,mDAAgD;AAyEhD,yCAAsC;AAmCtC,mDAAgD;AAqGhD,yCAAsC;AAEtC,iDAA8C;AAO9C,6DAA0D;AAuC1D,uDAAoD;AAgBpD,uEAAoE;AA2JpE,mFAAgF;AAuKhF,qFAAkF;AA+JlF,qFAAkF;AAwLlF,qFAAkF;AAqIlF,qFAAkF;AA6ClF,qEAAkE;AAyBlE,qEAAkE;AAkDlE,mDAAgD;AAOhD,2DAAwD;AAsBxD,2CAAwC;AAkFxC,yDAAsD;AAiEtD,2DAAwD;AAOxD,qDAAkD;AAmClD,6CAA0C"}
package/_cjs/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = '0.8.0';
4
+ exports.version = '0.8.2';
5
5
  //# sourceMappingURL=version.js.map