nostr-nsec-seedphrase
Version:
A comprehensive TypeScript library for Nostr key management with BIP39 seed phrases, supporting both ESM and CommonJS. Implements NIP-01, NIP-06, NIP-19, and NIP-26 with key generation, event signing, bech32 encoding/decoding, and secure cryptographic ope
79 lines (78 loc) • 1.77 kB
JavaScript
/**
* @module constants
* @description Constants used throughout the library
*/
/**
* Standard Nostr message types as defined in NIP-01
* @see https://github.com/nostr-protocol/nips/blob/master/01.md
*/
export const NOSTR_MESSAGE_TYPE = {
EVENT: 'EVENT',
REQ: 'REQ',
CLOSE: 'CLOSE',
NOTICE: 'NOTICE',
EOSE: 'EOSE',
OK: 'OK',
AUTH: 'AUTH',
ERROR: 'ERROR'
};
/**
* Standard Nostr event kinds as defined in various NIPs
* @see https://github.com/nostr-protocol/nips
*/
export const NOSTR_EVENT_KIND = {
SET_METADATA: 0,
TEXT_NOTE: 1,
RECOMMEND_SERVER: 2,
CONTACT_LIST: 3,
ENCRYPTED_DIRECT_MESSAGE: 4,
DELETE: 5,
REPOST: 6,
REACTION: 7,
BADGE_AWARD: 8,
CHANNEL_CREATE: 40,
CHANNEL_METADATA: 41,
CHANNEL_MESSAGE: 42,
CHANNEL_HIDE_MESSAGE: 43,
CHANNEL_MUTE_USER: 44,
CHANNEL_RESERVED_FIRST: 40,
CHANNEL_RESERVED_LAST: 49,
REPLACEABLE_FIRST: 10000,
REPLACEABLE_LAST: 19999,
EPHEMERAL_FIRST: 20000,
EPHEMERAL_LAST: 29999,
PARAMETERIZED_REPLACEABLE_FIRST: 30000,
PARAMETERIZED_REPLACEABLE_LAST: 39999
};
/**
* Standard Nostr tag types
*/
export const NOSTR_TAG = {
EVENT: 'e',
PUBKEY: 'p',
REFERENCE: 'a',
DELEGATION: 'delegation',
DEDUPLICATION: 'd',
EXPIRATION: 'expiration',
KIND: 'k',
RELAY: 'relay'
};
/**
* Protocol-related constants
*/
export const Protocol = {
DEFAULT_RELAY_URL: 'wss://relay.nostr.info',
RECONNECT_DELAY: 1000,
MAX_RECONNECT_DELAY: 30000,
PING_INTERVAL: 30000,
SUBSCRIPTION_TIMEOUT: 10000,
};
/**
* Default values
*/
export const Defaults = {
KIND: NOSTR_EVENT_KIND.TEXT_NOTE,
CREATED_AT: () => Math.floor(Date.now() / 1000),
TAGS: [],
CONTENT: '',
};