/* * NOSTR Core Library - NIP-006: Key Derivation from Mnemonic */ #ifndef NIP006_H #define NIP006_H #include "nip001.h" #include // Input type detection typedef enum { NOSTR_INPUT_UNKNOWN = 0, NOSTR_INPUT_NSEC_HEX, NOSTR_INPUT_NSEC_BECH32, NOSTR_INPUT_MNEMONIC } nostr_input_type_t; // Function declarations int nostr_generate_keypair(unsigned char* private_key, unsigned char* public_key); int nostr_generate_mnemonic_and_keys(char* mnemonic, size_t mnemonic_size, int account, unsigned char* private_key, unsigned char* public_key); int nostr_derive_keys_from_mnemonic(const char* mnemonic, int account, unsigned char* private_key, unsigned char* public_key); nostr_input_type_t nostr_detect_input_type(const char* input); int nostr_decode_nsec(const char* input, unsigned char* private_key); int nostr_decode_npub(const char* input, unsigned char* public_key); #endif // NIP006_H