@renegade-fi/core
Version:
VanillaJS library for Renegade
21 lines • 1.01 kB
JavaScript
import invariant from 'tiny-invariant';
export function getPkRoot(config, parameters = { nonce: BigInt(0) }) {
const { utils, state: { seed }, } = config;
const { nonce } = parameters;
invariant(seed, 'Seed is required');
invariant(nonce, 'Nonce is required');
return `0x${utils.get_pk_root(seed, nonce)}`;
}
export function getPkRootScalars(config, parameters = {}) {
const { utils, renegadeKeyType } = config;
const { nonce } = parameters;
const seed = renegadeKeyType === 'internal' ? config.state.seed : undefined;
const publicKey = renegadeKeyType === 'external' ? config.publicKey : undefined;
if (renegadeKeyType === 'internal') {
invariant(seed !== undefined, 'Seed is required for internal key type');
invariant(nonce !== undefined, 'Nonce is required for internal key type');
}
const scalars = utils.get_pk_root_scalars(seed, nonce, publicKey);
return scalars.map((s) => BigInt(s)).slice(0, 4);
}
//# sourceMappingURL=getPkRoot.js.map