Extended NIP-09 deletion event handling to support both regular events and parameterized replaceable events (NIP-33). **Previous behavior:** - Only handled 'e' tags (regular event IDs) - Did not support 'a' tags for addressable/replaceable events **New behavior:** - Handles both 'e' tags (event IDs) and 'a' tags (event addresses) - Parses 'a' tag format: kind:pubkey:d-identifier - Validates deletion author matches event address pubkey (NIP-09 requirement) - Creates appropriate filters for each deletion type **Implementation:** - Added parsing for 'a' tag event addresses - Extract kind, pubkey, and d-tag from address format - Build NostrFilter with authors, kinds, and d-tag parameters - Collect all event IDs to delete from both 'e' and 'a' tags - Mark matching events as deleted in single operation This enables proper deletion of parameterized replaceable events like calendar events (kind 31922-31924), long-form content (kind 30023), and other addressable event kinds. Implements NIP-09: https://github.com/nostr-protocol/nips/blob/master/09.md Supports NIP-33: https://github.com/nostr-protocol/nips/blob/master/33.md |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| client_connection.py | ||
| client_manager.py | ||
| event.py | ||
| event_validator.py | ||
| filter.py | ||
| relay.py | ||