@talismn/crypto 0.0.0-pr2275-20251210101511 → 0.0.0-pr2275-20251210183812

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.
@@ -1,4 +1,4 @@
1
- import { getPublicKey } from "@scure/sr25519";
1
+ import { getPublicKey } from "micro-sr25519";
2
2
  import type { Keypair } from "../types";
3
3
  export declare const deriveSr25519: (seed: Uint8Array, derivationPath: string) => Keypair;
4
4
  export declare const getPublicKeySr25519: typeof getPublicKey;
@@ -15,7 +15,7 @@ var scaleTs = require('scale-ts');
15
15
  var bip32 = require('@scure/bip32');
16
16
  var hmac = require('@noble/hashes/hmac');
17
17
  var sha512 = require('@noble/hashes/sha512');
18
- var sr25519 = require('@scure/sr25519');
18
+ var microSr25519 = require('micro-sr25519');
19
19
  var chacha_js = require('@noble/ciphers/chacha.js');
20
20
  var utils_js = require('@noble/ciphers/utils.js');
21
21
  var mlkem = require('mlkem');
@@ -571,13 +571,10 @@ const getPublicKeySolana = secretKey => {
571
571
  const deriveSr25519 = (seed, derivationPath) => {
572
572
  const derivations = parseSubstrateDerivations(derivationPath);
573
573
  const secretKey = derivations.reduce((secretKey, [type, chainCode]) => {
574
- const deriveFn = type === "hard" ? sr25519.HDKD.secretHard : sr25519.HDKD.secretSoft;
574
+ const deriveFn = type === "hard" ? microSr25519.HDKD.secretHard : microSr25519.HDKD.secretSoft;
575
575
  const code = createChainCode(chainCode);
576
- if (type === "hard") return deriveFn(secretKey, code);
577
-
578
- // Soft derivations need fresh randomness; @scure/sr25519 expects the bytes, not a generator
579
- return deriveFn(secretKey, code, utils.randomBytes(32));
580
- }, sr25519.secretFromSeed(seed));
576
+ return deriveFn(secretKey, code, utils.randomBytes);
577
+ }, microSr25519.secretFromSeed(seed));
581
578
  const publicKey = getPublicKeySr25519(secretKey);
582
579
  return {
583
580
  type: "sr25519",
@@ -586,7 +583,7 @@ const deriveSr25519 = (seed, derivationPath) => {
586
583
  address: addressFromPublicKey(publicKey, "ss58")
587
584
  };
588
585
  };
589
- const getPublicKeySr25519 = sr25519.getPublicKey;
586
+ const getPublicKeySr25519 = microSr25519.getPublicKey;
590
587
 
591
588
  const deriveKeypair = (seed, derivationPath, curve) => {
592
589
  switch (curve) {
@@ -15,7 +15,7 @@ var scaleTs = require('scale-ts');
15
15
  var bip32 = require('@scure/bip32');
16
16
  var hmac = require('@noble/hashes/hmac');
17
17
  var sha512 = require('@noble/hashes/sha512');
18
- var sr25519 = require('@scure/sr25519');
18
+ var microSr25519 = require('micro-sr25519');
19
19
  var chacha_js = require('@noble/ciphers/chacha.js');
20
20
  var utils_js = require('@noble/ciphers/utils.js');
21
21
  var mlkem = require('mlkem');
@@ -571,13 +571,10 @@ const getPublicKeySolana = secretKey => {
571
571
  const deriveSr25519 = (seed, derivationPath) => {
572
572
  const derivations = parseSubstrateDerivations(derivationPath);
573
573
  const secretKey = derivations.reduce((secretKey, [type, chainCode]) => {
574
- const deriveFn = type === "hard" ? sr25519.HDKD.secretHard : sr25519.HDKD.secretSoft;
574
+ const deriveFn = type === "hard" ? microSr25519.HDKD.secretHard : microSr25519.HDKD.secretSoft;
575
575
  const code = createChainCode(chainCode);
576
- if (type === "hard") return deriveFn(secretKey, code);
577
-
578
- // Soft derivations need fresh randomness; @scure/sr25519 expects the bytes, not a generator
579
- return deriveFn(secretKey, code, utils.randomBytes(32));
580
- }, sr25519.secretFromSeed(seed));
576
+ return deriveFn(secretKey, code, utils.randomBytes);
577
+ }, microSr25519.secretFromSeed(seed));
581
578
  const publicKey = getPublicKeySr25519(secretKey);
582
579
  return {
583
580
  type: "sr25519",
@@ -586,7 +583,7 @@ const deriveSr25519 = (seed, derivationPath) => {
586
583
  address: addressFromPublicKey(publicKey, "ss58")
587
584
  };
588
585
  };
589
- const getPublicKeySr25519 = sr25519.getPublicKey;
586
+ const getPublicKeySr25519 = microSr25519.getPublicKey;
590
587
 
591
588
  const deriveKeypair = (seed, derivationPath, curve) => {
592
589
  switch (curve) {
@@ -15,7 +15,7 @@ import { Tuple, str, Bytes, u32 } from 'scale-ts';
15
15
  import { HDKey } from '@scure/bip32';
16
16
  import { hmac } from '@noble/hashes/hmac';
17
17
  import { sha512 } from '@noble/hashes/sha512';
18
- import { getPublicKey, HDKD, secretFromSeed } from '@scure/sr25519';
18
+ import { getPublicKey, HDKD, secretFromSeed } from 'micro-sr25519';
19
19
  import { xchacha20poly1305 } from '@noble/ciphers/chacha.js';
20
20
  import { concatBytes } from '@noble/ciphers/utils.js';
21
21
  import { MlKem768 } from 'mlkem';
@@ -569,10 +569,7 @@ const deriveSr25519 = (seed, derivationPath) => {
569
569
  const secretKey = derivations.reduce((secretKey, [type, chainCode]) => {
570
570
  const deriveFn = type === "hard" ? HDKD.secretHard : HDKD.secretSoft;
571
571
  const code = createChainCode(chainCode);
572
- if (type === "hard") return deriveFn(secretKey, code);
573
-
574
- // Soft derivations need fresh randomness; @scure/sr25519 expects the bytes, not a generator
575
- return deriveFn(secretKey, code, randomBytes(32));
572
+ return deriveFn(secretKey, code, randomBytes);
576
573
  }, secretFromSeed(seed));
577
574
  const publicKey = getPublicKeySr25519(secretKey);
578
575
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talismn/crypto",
3
- "version": "0.0.0-pr2275-20251210101511",
3
+ "version": "0.0.0-pr2275-20251210183812",
4
4
  "author": "Talisman",
5
5
  "homepage": "https://talisman.xyz",
6
6
  "license": "GPL-3.0-or-later",
@@ -27,14 +27,15 @@
27
27
  "@scure/base": "1.2.6",
28
28
  "@scure/bip32": "1.7.0",
29
29
  "@scure/bip39": "1.5.4",
30
- "@scure/sr25519": "1.0.0",
31
30
  "bech32": "2.0.0",
32
31
  "bs58check": "4.0.0",
32
+ "micro-sr25519": "0.1.3",
33
33
  "mlkem": "2.5.0",
34
34
  "scale-ts": "1.6.1"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/jest": "^29.5.14",
38
+ "@swc/jest": "^0.2.36",
38
39
  "eslint": "^8.57.1",
39
40
  "jest": "^29.7.0",
40
41
  "ts-jest": "^29.2.5",