613 Commits

Author SHA1 Message Date
fiatjaf
1e4e91f257 nip19: fail to decode entities with wrong length. 2024-09-16 17:35:23 -03:00
fiatjaf
515f76bd86 add a default user-agent: github.com/nbd-wtf/go-nostr.
fixes https://github.com/nbd-wtf/go-nostr/issues/147
2024-09-16 07:11:19 -03:00
fiatjaf
a54852f439 CompareEvent() for helping with slices.BinarySearch() v0.36.1 2024-09-15 12:57:51 -03:00
fiatjaf
87e696eecb nip17: include recipient "p" tag. 2024-09-15 12:57:36 -03:00
fiatjaf
db023e12e9 keyer, nip17, nip44, nip59: this time is different! 2024-09-15 11:11:49 -03:00
fiatjaf
f976296e01 more fixes and tweaks to keyer, 17, 44 and 59. 2024-09-14 23:23:53 -03:00
fiatjaf
46a0c95b96 some tweaks to 17, 44 and 59. 2024-09-14 22:47:43 -03:00
fiatjaf
0656357a60 keyer: accept truncated private keys as input and pad them. 2024-09-14 22:47:43 -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
b5f8d48f79 event.CheckID()
absurd performance increase benefit over a naïve id comparison!

goos: linux
goarch: amd64
pkg: github.com/nbd-wtf/go-nostr
cpu: AMD Ryzen 3 3200G with Radeon Vega Graphics
BenchmarkIDCheck/naïve-4          	 1478547	       802.9 ns/op	     488 B/op	      15 allocs/op
BenchmarkIDCheck/big_brain-4      	 1673341	       715.3 ns/op	     358 B/op	      12 allocs/op
2024-09-14 10:55:54 -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)
v0.36.0
2024-09-14 07:40:09 -03:00
fiatjaf
b5633b97c3 nip29: delete-group-status -> delete-group 2024-09-14 00:03:33 -03:00
fiatjaf
64c6057c08 return from subMany() on context done in one place where we weren't. 2024-09-11 21:05:34 -03:00
fiatjaf
1b7f191bc4 nip46: fix using nil relay pointer when connection fails. 2024-09-11 16:42:57 -03:00
fiatjaf
5e2e0bf458 keyring -> keyer, fix misunderstanding with NIP-59 and adjust api. 2024-09-11 11:49:53 -03:00
fiatjaf
9addd57db7 missing bit from f57d93. 2024-09-11 10:16:28 -03:00
fiatjaf
072da132f4 move nostr-sdk repository into here because why not? 2024-09-11 10:14:13 -03:00
fiatjaf
c6ea51653b make nip44 conversation key be static array. 2024-09-11 10:13:29 -03:00
fiatjaf
873453928e nip17: forgot to close this channel. 2024-09-11 10:13:29 -03:00
fiatjaf
7514629906 nip17 and nip59. 2024-09-11 10:13:29 -03:00
fiatjaf
cc038de0dd nip46: encrypt/decrypt nip44 methods on client. 2024-09-11 10:13:29 -03:00
K
c91e7b9765
using testify instead of testing.T methods. (#143) 2024-09-09 07:20:56 -03:00
fiatjaf
b2692a2584 move all the binary stuff to github.com/fiatjaf/eventstore. v0.35.0 2024-09-08 12:00:30 -03:00
fiatjaf
6ebdf9cc00 remove "pure" binary marshal/unmarshal since it was always just an exercise. 2024-09-08 11:55:34 -03:00
fiatjaf
2016f11dd1 remove nson.
it isn't worth keeping this here since it isn't being used and is unlikely to ever be.
2024-09-08 11:53:58 -03:00
kehiy
b7c79c9c9c Fix nson benchmarks 2024-09-08 11:52:37 -03:00
fiatjaf
7787a4fcf7 fix binary encoding stupid encoding bug that just guessed a slice length and if we were to go above it it would just panic.
for example: https://github.com/bitvora/wot-relay/issues/16
v0.34.15
2024-09-08 11:48:12 -03:00
fiatjaf
e175e634c8 unsafe.String() on binary decoding is not safe. 2024-09-07 10:48:25 -03:00
fiatjaf
f57d93ac78 after getting an EOSE we should stop checking since/until. 2024-09-06 19:37:34 -03:00
fiatjaf
cd145f4fcb nip19: fix decoding faulty kind from tlv. v0.34.14 2024-09-05 14:34:15 -03:00
fiatjaf
51e527680e WithNoticeHandler() just calls a function, no channel stuff anymore.
probably fixes https://t.me/nostr_protocol/145832

I think we were using this channel for legacy reasons, it feels completely unnecessary now.
2024-08-31 23:12:20 -03:00
fiatjaf
5edb54efee nip46: do not allow one faulty relay to break RPC calls to other relays. v0.34.13 2024-08-29 17:49:51 -03:00
fiatjaf
1db4da7ed3 nip29: get rid of useless constant. 2024-08-29 07:57:05 -03:00
fiatjaf
ddf28001cf nip34: fix .Branches -> .Tags for refs/tags/ v0.34.12 2024-08-28 16:08:04 -03:00
fiatjaf
0750057b13 nip34: fixes. v0.34.11 2024-08-28 10:07:05 -03:00
fiatjaf
106ca136fd nip34: repository state and some ToEvent() helpers. 2024-08-27 12:05:10 -03:00
fiatjaf
c78c5658a3 move kind constants to kinds.go 2024-08-26 17:16:28 -03:00
fiatjaf
148942cfae nip13: use slightly more efficient difficulty checking on DoWork() that makes it 17% faster v0.34.10 2024-08-21 17:07:26 -03:00
fiatjaf
75e6befdd0 nip13: move Generate() to deprecated.go 2024-08-21 16:54:02 -03:00
fiatjaf
2fc34e0de8 nip13: fix slice pointer race issue on DoWork() 2024-08-21 16:53:40 -03:00
fiatjaf
83bd196bae nip13: parallel DoWork(), deprecate Generate() v0.34.9 2024-08-20 23:04:52 -03:00
fiatjaf
2da58356b0 Revert "nip13: crazier and more fun and hopefully slightly more performant nonce encoding."
This reverts commit edbbd6df445dcd2bed8025397c44f2d03661f014.
v0.34.8
2024-08-20 17:05:49 -03:00
fiatjaf
edbbd6df44 nip13: crazier and more fun and hopefully slightly more performant nonce encoding. v0.34.7 2024-08-20 13:54:51 -03:00
fiatjaf
437cdecfb1 nip13: CommittedDifficulty() 2024-08-20 13:19:21 -03:00
fiatjaf
0e72540696 nip13: fail when pubkey is not provided -- may help some clueless people like me. v0.34.6 2024-08-20 10:31:52 -03:00
fiatjaf
18dbda437b nip13: superficial changes. 2024-08-20 09:52:35 -03:00
Yasuhiro Matsumoto
b3ca3c1b82 add KindSimpleGroupLeaveRequest 2024-08-19 16:03:27 -03:00
Yasuhiro Matsumoto
b6aca13732 ditto 2024-08-19 16:03:27 -03:00