#ifndef NOSTR_CORE_H
#define NOSTR_CORE_H

/**
 * NOSTR Core Library - Unified Header File
 * 
 * This file provides a single include point for all NOSTR Core functionality.
 * Include this file to access all available NIPs and core functions.
 */

#ifdef __cplusplus
extern "C" {
#endif

// Core common definitions and utilities
#include "nostr_common.h"
#include "utils.h"

// NIP implementations
#include "nip001.h"  // Basic Protocol
#include "nip004.h"  // Encryption (legacy)
#include "nip005.h"  // DNS-based identifiers
#include "nip006.h"  // Key derivation from mnemonic
#include "nip011.h"  // Relay information document
#include "nip013.h"  // Proof of Work
#include "nip019.h"  // Bech32 encoding (nsec/npub)
#include "nip044.h"  // Encryption (modern)

// Relay communication functions are defined in nostr_common.h
// WebSocket functions are defined in nostr_common.h

#ifdef __cplusplus
}
#endif

#endif /* NOSTR_CORE_H */
