import * as sr25519 from '@pezkuwi/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 };
    };
}
