15 lines
579 B
TypeScript
15 lines
579 B
TypeScript
import { binToHex, sha256, utf8ToBin, stringify } from '@bitauth/libauth';
|
|
import type { XOTemplate } from '@xo-cash/types';
|
|
|
|
/**
|
|
* Generates a deterministic template identifier by hashing the template.
|
|
*
|
|
* @param template - The template to generate an identifier for.
|
|
* @returns The template identifier for the template.
|
|
*/
|
|
export const generateTemplateIdentifier = (template: XOTemplate): string => {
|
|
// TODO: Finalize on the stringify method and ensure unique identifier generation is sufficient.
|
|
|
|
return binToHex(sha256.hash(utf8ToBin(stringify(template))));
|
|
};
|