airtune-nostr-tools-development
Version:
Tools for making a Nostr client.
52 lines (51 loc) • 1.82 kB
TypeScript
/** @deprecated Use numbers instead. */
export declare enum Kind {
Metadata = 0,
Text = 1,
RecommendRelay = 2,
Contacts = 3,
EncryptedDirectMessage = 4,
EventDeletion = 5,
Repost = 6,
Reaction = 7,
BadgeAward = 8,
ChannelCreation = 40,
ChannelMetadata = 41,
ChannelMessage = 42,
ChannelHideMessage = 43,
ChannelMuteUser = 44,
Blank = 255,
Report = 1984,
ZapRequest = 9734,
Zap = 9735,
RelayList = 10002,
ClientAuth = 22242,
HttpAuth = 27235,
ProfileBadge = 30008,
BadgeDefinition = 30009,
Article = 30023
}
export declare type EventTemplate<K extends number = number> = {
kind: K;
tags: string[][];
content: string;
created_at: number;
};
export declare type UnsignedEvent<K extends number = number> = EventTemplate<K> & {
pubkey: string;
};
export declare type Event<K extends number = number> = UnsignedEvent<K> & {
id: string;
sig: string;
};
export declare function getBlankEvent(): EventTemplate<Kind.Blank>;
export declare function getBlankEvent<K extends number>(kind: K): EventTemplate<K>;
export declare function finishEvent<K extends number = number>(t: EventTemplate<K>, privateKey: string): Event<K>;
export declare function serializeEvent(evt: UnsignedEvent<number>): string;
export declare function getEventHash(event: UnsignedEvent<number>): string;
export declare function validateEvent<T>(event: T): event is T & UnsignedEvent<number>;
export declare function verifySignature(event: Event<number>): boolean;
/** @deprecated Use `getSignature` instead. */
export declare function signEvent(event: UnsignedEvent<number>, key: string): string;
/** Calculate the signature for an event. */
export declare function getSignature(event: UnsignedEvent<number>, key: string): string;