@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 "
|
|
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
|
|
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" ?
|
|
574
|
+
const deriveFn = type === "hard" ? microSr25519.HDKD.secretHard : microSr25519.HDKD.secretSoft;
|
|
575
575
|
const code = createChainCode(chainCode);
|
|
576
|
-
|
|
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 =
|
|
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
|
|
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" ?
|
|
574
|
+
const deriveFn = type === "hard" ? microSr25519.HDKD.secretHard : microSr25519.HDKD.secretSoft;
|
|
575
575
|
const code = createChainCode(chainCode);
|
|
576
|
-
|
|
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 =
|
|
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 '
|
|
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
|
-
|
|
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-
|
|
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",
|