William Casarin
d8e7b4707e
nostrdb: nip19: add kind to naddr & nevent
...
Add support for type KIND for bech32-encoded entities naddr and nevent
as specified in NIP-19.
Co-authored-by: kernelkind <kernelkind@gmail.com >
Signed-off-by: William Casarin <jb55@jb55.com >
2025-08-11 16:40:01 -07:00
William Casarin
3186b0e1d3
nostrdb: fix windows build
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-08-11 16:40:00 -07:00
William Casarin
2d02a17af6
nostrdb: fix bech32 parsing and add test
...
was off by one
Signed-off-by: William Casarin <jb55@jb55.com >
2025-08-11 16:40:00 -07:00
William Casarin
bca3716e33
nostrdb: fix note content parsing bug with damus.io urls
...
Changelog-Fixed: Fixed bug where non-bech32 damus io urls would cause corruption
Signed-off-by: William Casarin <jb55@jb55.com >
2025-08-11 16:40:00 -07:00
William Casarin
b8bef86ea1
nostrdb: port kernelkind's to the new bech32 parser
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-08-11 16:40:00 -07:00
William Casarin
dfa145dd4a
nostrdb/parser: fix bech32 block decoding
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-08-11 16:39:43 -07:00
William Casarin
034f2cc02f
nostrdb/blocks: add note block iterator
...
This adds an api that walks along and pulls compact note block data out of
nostrdb.
Signed-off-by: William Casarin <jb55@jb55.com >
2025-08-11 16:39:43 -07:00
William Casarin
c3b06d281e
nostrdb/bech32: add some initial tests
...
since we modified this recently, let's add some tests to make sure
we didn't break anything
Signed-off-by: William Casarin <jb55@jb55.com >
2025-08-11 16:39:43 -07:00
William Casarin
1b09e9458c
nostrdb/nostr_bech32: parse in one pass
...
since we will be decoding these in realtime, let's make sure we can
decode them in O(1)
Signed-off-by: William Casarin <jb55@jb55.com >
2025-08-11 16:39:43 -07:00
William Casarin
aa5809d792
nostrdb/nostr_bech32: only parse up to raw bech32 buffers
...
We will be storing raw nostr bech32 buffers directly into nostrdb, so
adapt our bech32 code to reflect this.
When doing our content parsing pass, we will only look for strings and we
won't allocate any intermediate buffers. Only when we write this string
block to nostrdb will we actually allocate in our nostrdb output buffer
(no mallocs!)
Signed-off-by: William Casarin <jb55@jb55.com >
2025-08-11 16:39:43 -07:00
William Casarin
30ba0d72cc
nostrdb/bech32: retab
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-08-11 16:39:43 -07:00
William Casarin
1ffbd80c67
nostrdb: move everything to src
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-08-11 16:39:43 -07:00