fiatjaf
668d6fc956
nip77: remove third-party syncing from last commit and expose stuff so it can be implemented elsewhere (nak) directly.
2025-12-01 18:08:55 -03:00
fiatjaf
15dc5b11aa
nip77: third-party negentropy syncing hack.
2025-12-01 16:38:24 -03:00
fiatjaf
55a43e46b7
use xhex everywhere.
2025-11-23 06:57:54 -03:00
fiatjaf
61b9717c5c
nip77: fix loading events from targetSource into vector.
2025-11-23 06:57:54 -03:00
fiatjaf
fd8c271dc4
nip77: only fetch ids after sync if there are ids to fetch.
2025-11-23 06:57:54 -03:00
fiatjaf
d981d34ab9
nip77: set default frame size limit to 60000 (same as strfry).
2025-11-13 16:25:29 -03:00
fiatjaf
312cc32da5
nip77: one small useless optimization.
2025-11-13 16:18:49 -03:00
fiatjaf
c20ca669cd
nip77: more interface fixes to prevent channel deadlock.
2025-11-13 16:12:10 -03:00
fiatjaf
dcb9378f09
nip77: fix test function calls.
2025-11-13 09:21:10 -03:00
fiatjaf
98dbe7b9e9
improve and make nip77 api nicer so it could be better used in nak.
2025-11-12 20:21:02 -03:00
fiatjaf
bdced49a19
nip77: fix interface so we don't have channel lockdown.
2025-11-12 15:09:09 -03:00
fiatjaf
dfd4bea78c
nip77: fix two negentropy bugs reminiscent of the binary conversation from nostrlib.
2025-11-11 23:28:56 -03:00
Jon Staab
113657314e
Use ID in nip86.IDReason
2025-09-26 09:41:25 -03:00
fiatjaf
7289da9c72
improve/refactor websocket connections hoping this will fix the undetected disconnections we're seeing.
...
this commit also remove all the sonic envelope parsing and reintroduces filters in REQ as a slice instead of as a singleton.
why? well, the sonic stuff wasn't really that fast, it was a little bit but only got fast enough once I introduced unsafe conversions between []byte and string and did weird unsafe reuse of []byte in order to save the values of tags, which would definitely cause issues in the future if the caller wasn't aware of it (and even if they were, like myself).
and the filters stuff is because we abandoned the idea of changing NIP-01 to only accept one filter per REQ.
2025-07-10 22:58:37 -03:00
fiatjaf
94d29f1230
nip77: convert to dealing with bytes instead of hex strings.
...
it was cool but this should be faster and less confusing.
2025-05-12 05:54:40 -03:00
fiatjaf
f60fc08f8d
eventstore: QueryEvents() to take a maxLimit param now so everything is clearer.
2025-05-11 09:36:59 -03:00
fiatjaf
ee2d618285
fix negentropy tests.
2025-04-20 11:19:57 -03:00
fiatjaf
a7be696243
a bunch of conversions and api tweaks on khatru and eventstore.
2025-04-17 00:15:15 -03:00
fiatjaf
f7884cea4f
wait, Querier can just return an iter like eventstore, it's ok.
2025-04-16 03:06:27 -03:00
fiatjaf
5b8954461f
it never ends.
2025-04-16 02:59:47 -03:00
fiatjaf
2b5b646a62
a big bundle of conversions and other changes.
2025-04-15 17:13:57 -03:00
fiatjaf
376834cbf9
more conversions.
2025-04-15 00:00:03 -03:00
fiatjaf
b4268d649c
a bunch of [32]byte conversions. still more needed.
2025-04-14 17:47:53 -03:00
fiatjaf
5e650f27ff
nip77: fix envelope parsing.
2025-04-08 12:22:17 -03:00
fiatjaf
cecc71cd81
fix and improve envelope stuff again, deal with messages as strings on all envelope parsing steps.
2025-03-12 00:18:11 -03:00
fiatjaf
332a1642f0
nip77: FetchIDsOnly()
2025-02-12 15:45:52 -03:00
fiatjaf
ade3996fbf
nip77: simplify direction selection.
2024-12-17 13:30:49 -03:00
Gabriel Moura
b02f0d6537
implements direction to nip77
2024-12-17 13:26:03 -03:00
fiatjaf
c5c9bba586
nip77: remove bloom filter, use a map.
2024-11-26 13:22:37 -03:00
fiatjaf
a0bf181547
remove HTML escaping from (easy)json encoder everywhere.
2024-11-11 22:55:07 -03:00
fiatjaf
7fd28f6db0
negentropy: fix the two bugs @hoytech found.
2024-09-20 22:41:49 -03:00
fiatjaf
4d63672462
negentropy: fix frameSizeLimit check (was checking against the hex).
2024-09-20 20:53:57 -03:00
fiatjaf
101031b9e8
negentropy: fix getMinimalBound() to go 2 hex chars each time instead of 1.
2024-09-20 18:05:40 -03:00
fiatjaf
0bcefc86ef
negentropy: return our version if we are a server and got the wrong version (blergh).
2024-09-20 17:47:55 -03:00
fiatjaf
9813d1776f
negentropy: fuzz testing, move accumulator to vector package.
2024-09-20 10:57:00 -03:00
fiatjaf
e9e96be95e
negentropy: fix one stupid bug and rename Initiate() to Start().
2024-09-19 15:53:04 -03:00
fiatjaf
f94199cfc0
negentropy: refactor for allowing different types of storage.
2024-09-19 11:35:16 -03:00
fiatjaf
3d58ac5ec2
negentropy: create Haves and HaveNots channels so they can be listened to immediately.
2024-09-19 11:35:16 -03:00
fiatjaf
b1dd120ec7
negentropy: slightly faster encodeVarInt()
2024-09-19 11:35:16 -03:00
fiatjaf
6910f391fe
negentropy: small refactors here and there, comments and making the code clearer.
2024-09-19 11:35:16 -03:00
fiatjaf
e1cdb71d6f
negentropy: mention that we forked from that other repo.
2024-09-17 17:23:08 -03:00
fiatjaf
4c9ab850a5
negentropy: default frameSizeLimit to basically infinite.
2024-09-16 22:10:03 -03:00
fiatjaf
7ab94cc3d9
updating nip77.go to 286040c
2024-09-14 17:08:12 -03:00
fiatjaf
495c6e6e75
negentropy: test lists equality instead of matching elements.
2024-09-14 17:06:10 -03:00
fiatjaf
286040c4ce
negentropy: do the algorithm entirely in hex.
...
plus:
- nicer iterators
- some optimizations here and there.
- something else I forgot.
2024-09-14 16:28:21 -03:00
fiatjaf
a094f3a9d2
negentropy.
...
- a way to handle custom messages from Relay (NEG-whatever etc)
- negentropy implementation (adapted from that other one)
- nip77 nostr negentropy extension
- QueryEvents method for RelayStore that returns a channel (makes negentropy syncing work more seamlessly)
2024-09-14 07:40:09 -03:00