mirror of
https://github.com/pezkuwichain/pezkuwi-common.git
synced 2026-04-22 06:47:57 +00:00
13 lines
470 B
JavaScript
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 };
|
|
};
|
|
}
|