libs5/src/ed25519.ts

23 lines
526 B
TypeScript
Raw Normal View History

2023-08-30 18:37:51 +00:00
import { ed25519 } from "@noble/curves/ed25519";
import { concatBytes } from "@noble/curves/abstract/utils";
import { CID_HASH_TYPES } from "./constants.js";
2023-08-30 18:37:51 +00:00
export default class KeyPairEd25519 {
private _bytes: Uint8Array;
constructor(bytes: Uint8Array) {
this._bytes = bytes;
}
public get publicKey(): Uint8Array {
return concatBytes(
Uint8Array.from([CID_HASH_TYPES.ED25519]),
2023-08-30 18:37:51 +00:00
ed25519.getPublicKey(this._bytes),
);
}
public extractBytes(): Uint8Array {
return this._bytes;
}
}