UNPKG

cesr

Version:

[![NPM Version](https://img.shields.io/npm/v/cesr.svg?style=flat)](https://www.npmjs.com/package/cesr) [![NPM License](https://img.shields.io/npm/l/cesr.svg?style=flat)](https://github.com/lenkan/cesr-js/blob/main/LICENSE) [![CI](https://github.com/lenkan

53 lines (52 loc) 1.88 kB
import { Matter } from "./matter.js"; import { Indexer } from "./indexer.js"; function createRaw(code) { return (raw) => { return new Matter({ code, raw }); }; } function ed25519_sig(raw, index, ondex) { if (index === undefined) { return Matter.from(Matter.Code.Ed25519_Sig, raw); } if (ondex === undefined) { if (index > 64) { return Indexer.from(Indexer.Code.Ed25519_Big_Crt_Sig, raw, index); } return Indexer.from(Indexer.Code.Ed25519_Sig, raw, index); } // TODO: Keripy also checks if index === ondex and then use Crt_Sig return Indexer.from(Indexer.Code.Ed25519_Big_Sig, raw, index, ondex); } function ed448_sig(raw, index, ondex) { if (index === undefined) { return Matter.from(Matter.Code.Ed448_Sig, raw); } if (ondex === undefined) { if (index > 64) { return Indexer.from(Indexer.Code.Ed448_Big_Crt_Sig, raw, index); } return Indexer.from(Indexer.Code.Ed448_Crt_Sig, raw, index); } if (index > 64 || ondex > 64) { return Indexer.from(Indexer.Code.Ed448_Big_Sig, raw, index, ondex); } return Indexer.from(Indexer.Code.Ed448_Sig, raw, index, ondex); } export const cesr = { crypto: { ed25519_sig: ed25519_sig, ed448_sig: ed448_sig, blake3_256: createRaw(Matter.Code.Blake3_256), blake3_512: createRaw(Matter.Code.Blake3_512), blake2b_256: createRaw(Matter.Code.Blake2b_256), blake2s_256: createRaw(Matter.Code.Blake2s_256), sha3_256: createRaw(Matter.Code.SHA3_256), sha2_256: createRaw(Matter.Code.SHA2_256), ed25519: createRaw(Matter.Code.Ed25519), ed25519N: createRaw(Matter.Code.Ed25519N), ed448: createRaw(Matter.Code.Ed448), ed448N: createRaw(Matter.Code.Ed448N), }, primitive: Matter.primitive, };