This repository has been archived on 2023-04-09. You can view files and clone it, but cannot push or open issues or pull requests.
chainsafe-bls/src/index.ts

17 lines
688 B
TypeScript
Raw Normal View History

2022-04-13 16:59:25 +00:00
import type {IBls, Implementation} from "./interface.js";
import {getImplementation} from "./getImplementation.js";
2020-11-25 15:03:11 +00:00
export {IBls, Implementation, CoordType, PointFormat} from "./interface.js";
2020-11-29 18:54:33 +00:00
2020-11-25 16:09:44 +00:00
// TODO: Use a Proxy for example to throw an error if it's not initialized yet
2020-11-29 17:10:20 +00:00
export const bls: IBls = {} as IBls;
2020-11-30 11:43:47 +00:00
export default bls;
2020-11-25 15:03:11 +00:00
2020-11-25 16:23:53 +00:00
export async function init(impl: Implementation): Promise<void> {
// Using Object.assign instead of just bls = getImplementation()
// because otherwise the default import breaks. The reference is lost
// and the imported object is still undefined after calling init()
2020-11-30 11:29:24 +00:00
const blsImpl = await getImplementation(impl);
Object.assign(bls, blsImpl);
2020-11-25 15:03:11 +00:00
}