@renegade-fi/node
Version:
Node.js library for Renegade
31 lines (24 loc) • 996 B
text/typescript
import type { SignMessageReturnType } from "viem";
import { generate_wallet_secrets } from "../../renegade-utils/index.js";
/**
* Interface representing the cryptographic secrets generated for a wallet
*/
export interface GeneratedSecrets {
/** Unique identifier for the wallet in UUID format */
wallet_id: string;
/** Cryptographic seed for the wallet's blinder CSPRNG */
blinder_seed: `0x${string}`;
/** Cryptographic seed for the wallet's share CSPRNG */
share_seed: `0x${string}`;
/** Encryption key for authenticating API requests */
symmetric_key: `0x${string}`;
/** Secret key used for matching operations */
sk_match: `0x${string}`;
}
export async function generateWalletSecrets(
signMessage: (message: string) => Promise<SignMessageReturnType>,
): Promise<GeneratedSecrets> {
const secrets = await generate_wallet_secrets(signMessage);
const parsedSecrets = JSON.parse(secrets) as GeneratedSecrets;
return parsedSecrets;
}