28 Commits

Author SHA1 Message Date
b29ad5bd07 fix nasty names 2025-06-19 20:07:55 +01:00
3b0fd72290 Add codecs for encoding and decoding unsigned integers
Introduced Uint16, Uint24, Uint32, Uint40, and Uint64 codecs with support for encoding/decoding in BigEndian format. Each codec includes range validation, getter/setter methods, and comprehensive unit tests to ensure correctness and reliability.
2025-06-19 20:05:15 +01:00
eb0ba87ce6 Refactor database filters and enhance query handling
Updated several database queries to support limits, improve efficiency, and add better range handling. Introduced new tests for filter functionality, corrected bugs, and added logging for debugging purposes.
2025-06-17 13:47:51 +01:00
321a1b47bb "Refactor filtering and indexing logic for event queries"
The filtering logic has been streamlined, adding enhanced query support for filters involving tags, authors, kinds, and their combinations. Introduced new utility methods for deduplication, intersection, and sorting to improve efficiency in handling event serials. Adjusted indexing structures and encoding for better modularity and readability.
2025-06-15 11:18:18 +01:00
d5ae20ba94 Refactor timestamp handling to use integers directly.
Replaced `FromInt64` with `FromInt` to simplify timestamp operations. Updated related methods, tests, and logic to consistently handle timestamps as integers, improving code clarity and reducing unnecessary conversions.
2025-06-14 09:08:20 +01:00
6a7ddb8aea Refactor and reorganize prefix index definitions
Removed redundant comments and restructured index definitions for improved clarity and maintainability. Added categorization and detailed documentation to better describe the purpose and usage of search indexes and metadata keys.
2025-06-14 08:40:23 +01:00
e12fb03b03 partly completed filter search
since/until/kinds/authors combinations done
2025-06-12 11:32:44 +01:00
966f58f4c7 nicer names for filter(s) and small cleanups 2025-06-10 22:26:56 +01:00
789c7913e7 allow non-hex e and p tags
mostly because some clients use p tags in follow lists for whatever reason. follow lists are generally fetched by pubkey+kind so the missing index because it's not a pubkey is really nbd, and pubkey tag searches will also work with the kind.
2025-06-10 22:10:33 +01:00
faf3ebfdba use varints for indexes 2025-06-10 21:31:24 +01:00
bff08415e0 fix tests 2025-06-10 20:42:53 +01:00
4408fd3cb7 store and find events by id 2025-06-10 14:31:37 +01:00
6ffc5b1de0 test index generation 2025-06-08 07:25:42 +01:00
8ac12ccf1d fix all tests 2025-06-05 22:35:56 +01:00
dbfb4b7f8d tested all index codec 2025-06-05 22:35:02 +01:00
08b850e0ea implement key read/writers using io.Read/io.Write 2025-06-02 21:20:32 +01:00
9d0391c43d drafted key readers and writers 2025-05-31 23:23:40 +01:00
f5a0d49aff extract data from index keys 2025-05-31 21:53:20 +01:00
b0cbcf6fec index prefix definitions and docs 2025-05-31 18:03:05 +01:00
1954a9a5a3 design for database index - add fullindex 2025-05-31 04:58:56 +01:00
034cbe17c9 design for database index 2025-05-31 04:51:36 +01:00
7ebea3e594 binary event encoding 2025-05-31 00:32:41 +01:00
73c8679a7c update dependencies 2025-05-30 22:10:08 +01:00
b383fadf47 rip off go-nostr for filters and all necessaries 2025-05-30 21:19:47 +01:00
d14da6788f fix non-generation of btcec keys in signer 2025-05-30 20:14:59 +01:00
39bf42708d add fast vanity generator and needed bits vainstr-v1.0.0 2025-05-30 18:55:54 +01:00
b63cd61457 events, signing, verifying 2025-05-30 17:57:39 +01:00
47bd29c607 initial commit 2025-05-28 19:36:53 +01:00