import { EventTemplate, VerifiedEvent } from './core.ts' import { finalizeEvent, getPublicKey } from './pure.ts' export interface Signer { getPublicKey(): Promise signEvent(event: EventTemplate): Promise } export class PlainKeySigner implements Signer { private secretKey: Uint8Array constructor(secretKey: Uint8Array) { this.secretKey = secretKey } async getPublicKey(): Promise { return getPublicKey(this.secretKey) } async signEvent(event: EventTemplate): Promise { return finalizeEvent(event, this.secretKey) } }