UNPKG

@polkadot/util-crypto

Version:
13 lines (12 loc) 471 B
import * as sr25519 from '@scure/sr25519'; import { isU8a } from '@polkadot/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 }; }; }