#ifndef DIDACTYL_NOSTR_BLOCK_LIST_H
#define DIDACTYL_NOSTR_BLOCK_LIST_H

#include "config.h"
#include "cjson/cJSON.h"

int nostr_block_list_init(didactyl_config_t* cfg);
int nostr_block_list_load_from_relays(void);
void nostr_block_list_cleanup(void);

int nostr_block_list_is_pubkey_blocked(const char* pubkey_hex);
int nostr_block_list_is_event_blocked(const char* event_id_hex);
int nostr_block_list_is_hashtag_blocked(const char* hashtag);
int nostr_block_list_is_event_filtered(cJSON* event);

int nostr_block_list_add(const char* tag_key, const char* tag_value, int is_public);
int nostr_block_list_remove(const char* tag_key, const char* tag_value);
int nostr_block_list_refresh(void);

char* nostr_block_list_json(void);

#endif
