Files
pezkuwi-common/packages/util-crypto/sr25519/derive.js
T

13 lines
470 B
JavaScript

import * as sr25519 from '@scure/sr25519';
import { isU8a } from '@pezkuwi/util';
export function createDeriveFn(derive) {
return (keypair, chainCode) => {
if (!isU8a(chainCode) || chainCode.length !== 32) {
throw new Error('Invalid chainCode passed to derive');
}
const secretKey = derive(keypair.secretKey, chainCode);
const publicKey = sr25519.getPublicKey(secretKey);
return { publicKey, secretKey };
};
}