833 Commits

Author SHA1 Message Date
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
b870a78622 a test for c07528eb v0.37.0 2024-09-20 14:05:45 -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
15aa7ac31e nip17: PublishMessage() 2024-09-19 12:58:20 -03:00
fiatjaf
8327310d52 improve SimplePool authHandler, rename IncomingEvent to RelayEvent so we can use it there. 2024-09-19 12:28:42 -03:00
fiatjaf
c07528eb42 fix event kind range helpers. 2024-09-19 11:38:22 -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
kehiy
47243fdcc4 feat(event): adding more helpers. 2024-09-19 11:34:31 -03:00
Cronus
c8c295f839
NIP-96 sign payload, content field for file caption (#148)
* content in upload response for file caption as in NIP-94, optional signing of file payload in NIP-98 header

* Content in NIP-94 as well
2024-09-19 11:33:02 -03:00
1l0
0b2b69529b error aware Keyer.GetPublicKey 2024-09-19 11:13:55 -03:00
fiatjaf
e1cdb71d6f negentropy: mention that we forked from that other repo. 2024-09-17 17:23:08 -03:00
fiatjaf
243343f0c5 nip46: add nip04_encrypt and nip04_decrypt to client. v0.36.3 2024-09-17 11:25:13 -03:00
fiatjaf
9d1a6fab68 keyer: fix KeySigner and add a method for making one from scratch. 2024-09-17 08:30:15 -03:00
fiatjaf
2b04ea9bc1 sdk: do not track hints from ephemeral events. 2024-09-17 08:06:04 -03:00
fiatjaf
2c09338ecb sdk/hints: sqlite backend and tests. v0.36.2 2024-09-16 22:23:55 -03:00
fiatjaf
4c9ab850a5 negentropy: default frameSizeLimit to basically infinite. 2024-09-16 22:10:03 -03:00
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