101 Commits

Author SHA1 Message Date
Ricardo Arturo Cabral Mejía
6760ab0e10
feat!: remove nip-26 delegation support (#350)
BREAKING CHANGE: NIP-26 support has been removed. Delegated events will not be handled differently.
2024-01-12 13:12:04 -08:00
Ricardo Arturo Cabral Mejía
030bbb33b8
fix: deleting parameterized replaceable event before event (#354) 2024-01-11 21:54:47 -08:00
Ricardo Arturo Cabral Mejía
acdb08091a
chore: fix intg tests not closing 2024-01-11 20:34:44 -05:00
Kirino Minato
9bf0262cfc
feat(event_tags): Add event_tags table and migration script (#349) 2024-01-08 01:46:58 -05:00
mattn
3b5b1fc85f
fix: typos (#334) 2023-09-09 13:42:22 -04:00
Ricardo Arturo Cabral Mejía
d1d4cb9e25
fix: strange behavior with nip 33 parameterized replacable events and nip 40 expiration tag (#316)
* fix: fix content-type on GetInvoiceStatusController

* test: fix flaky tests

* test: remove cache client from intg tests

* chore: lint fix

* test: add intg tests for nip-33 events w/ expiration tag
2023-06-19 15:56:51 -07:00
Ricardo Arturo Cabral Mejía
7331f9560f
fix: generic tag queries not accepting uppercase letters (#312) 2023-05-19 12:23:27 -07:00
Ricardo Arturo Cabral Mejía
52aac39875
feat: implement nodeless payments processor (#305)
* chore: hide powered by zebedee if payment processor is not

* chore: add nodeless as payments processor to settings

* fix: bad content type on zebedee callback req handler

* chore(release): 1.23.0 [skip ci]

# [1.23.0](https://github.com/Cameri/nostream/compare/v1.22.6...v1.23.0) (2023-05-12)

### Bug Fixes

* add SECRET as env variable ([#298](https://github.com/Cameri/nostream/issues/298)) ([58a1254](58a12546f0))
* invoice auto marked as paid ([be6d6f1](be6d6f1454))
* issues with invoices ([#271](https://github.com/Cameri/nostream/issues/271)) ([e1561e7](e1561e78fd))

### Features

* add LNURL processor ([#202](https://github.com/Cameri/nostream/issues/202)) ([f237400](f23740073f))
* allow lightning zap receipts on paid relays ([#303](https://github.com/Cameri/nostream/issues/303)) ([14bc96f](14bc96f516))

* feat: implement nodeless payments processor

* docs: add accepting payments section

* chore: validate nodeless webhook secret

* chore: hide powered-by-zebedee for non-zebedee processors

---------

Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net>
2023-05-15 08:07:28 -07:00
Ricardo Arturo Cabral Mejía
14bc96f516
feat: allow lightning zap receipts on paid relays (#303)
* chore: add event_kinds whitelist for fee schedules

* chore: fix identation in default-settings.yml

* chore: waive admission fee for specific event kinds

* docs: add payment settings to CONFIGURATION.md

* docs: improve read replica docs
2023-05-12 19:52:29 -04:00
Ricardo Arturo Cabral Mejía
e6ca10a0ce
chore: remove tag id and value max len 2023-05-05 10:45:01 -04:00
Ricardo Arturo Cabral Mejía
e1561e78fd
fix: issues with invoices (#271)
* fix: issues with invoices

* chore: add invoice event tag

* chore: add sub limits

* chore: cleanup invoices page

* chore: use mergeDeepLeft when updating invoice

* chore: ignore whitelisted pubkey for adminssion fee

* chore: use secp256k1 bytesToHex

* fix: insecure derivation from secret

* fix: tests

* chore: consistent returns

* test: fix intg tests

* fix: intg tests

* chore: set SECRET for intg tests
2023-04-07 09:48:28 -07:00
Anton
7a4667c27f
fix: SettingsStatic class default to yaml file (#158)
* fix: default to yaml file

* fix: intg tests failing

* fix: disable watch settings on tests

* style: lix fint

---------

Co-authored-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-04 21:09:34 -08:00
Ricardo Arturo Cabral Mejía
a7169b3569
feat: support nip-111 (#168)
* feat: support nip-111

* test: update schemas
2023-02-04 10:55:53 -08:00
Anton
2bbe798760
feat: NIP-40 (#148)
* feat: add method for checking if event is expired

* fix: tag length check

* feat: add method for expiration check

* feat: refactor event expiration

* fix: remove stale comment

* fix: remove unused method

* fix: upsert/insert tests

* fix: failing tests

* feat: add tests for event expiration

* feat: update test

* feat: add nip 40 to supportedNips

* chore: add expires_at column to events table

* chore: use uint for expires_at

---------

Co-authored-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-03 16:10:49 -08:00
Ricardo Arturo Cabral Mejía
45b08d8a21 chore: add RELAY_PRIVATE_KEY env var
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
4ec6f20cc9 fix: nip-11 doc and tests
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
f9c53eeeb8 feat: massive update
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
9e48b09bc6 test: disable event rate limits
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
f5782473eb fix: invalid type for extname()
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
d312de95e7 chore: mount resources on intg tests
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
a9b03b27d7 fix: use knex 2.4.0 everywhere 2023-02-02 00:19:26 -05:00
Anton Livaja
72f4338bfd chore: remove unnecessary test case 2023-02-02 00:19:26 -05:00
Anton Livaja
4ddad6a819 chore: update tests 2023-02-02 00:19:26 -05:00
Anton Livaja
5a8107f73c feat(utils): refactor settings to use yaml 2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
2618a4d2dc feat: add pay-to-relay 2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
09039791f1
feat: support db read replicas
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-01-25 00:13:01 -05:00
Ricardo Arturo Cabral Mejía
297a07e281 fix: deleted_at not saved in UTC tz
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-01-16 01:31:01 -05:00
Ricardo Arturo Cabral Mejía
dbf8a7f345 fix: integration tests 2023-01-16 01:31:01 -05:00
Ricardo Arturo Cabral Mejía
1db3343ef8 fix: integration tests
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-01-16 01:31:01 -05:00
Ricardo Arturo Cabral Mejía
3fa30724d7 test: nip-09 deleted events
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-01-16 01:31:01 -05:00
Juan Angel
42e55303a9 test: implemented unit tests 2023-01-14 13:47:20 +01:00
Ricardo Arturo Cabral Mejía
fe9ad92b44 fix: reject sub with unsafe ints in since/until
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2022-12-29 11:38:23 -05:00
Ricardo Arturo Cabral Mejía
efd4c00a8e chore: allow filter with limit zero
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2022-12-29 01:10:05 -05:00
Ricardo Arturo Cabral Mejía
845dedc451 feat: support pubkey/ip whitelisting for event rate limits 2022-12-27 13:32:56 -08:00
Ricardo Arturo Cabral Mejía
41ae842d7a feat: upsert kind 41 events 2022-12-26 01:47:01 -05:00
Ricardo Arturo Cabral Mejía
cf44523188 chore: rename project to nostream 2022-12-24 15:56:52 -05:00
Ricardo Arturo Cabral Mejía
476757fc46 fix: mount coverage config on container 2022-12-21 01:42:43 -05:00
Ricardo Arturo Cabral Mejía
f425da08b6 test: fix tests 2022-12-21 01:42:43 -05:00
Ricardo Arturo Cabral Mejía
f3097983a0 fix: type errors 2022-12-21 01:42:43 -05:00
Ricardo Arturo Cabral Mejía
f3c801e503 fix: integration tests 2022-12-21 01:42:43 -05:00
Ricardo Arturo Cabral Mejía
cce2df0c2a test: remove get default settings 2022-12-21 01:42:43 -05:00
Ricardo Arturo Cabral Mejía
433b7f8707 feat: ignore dupe subscriptions 2022-12-21 01:42:43 -05:00
Ricardo Arturo Cabral Mejía
50de2c167a chore: relax filter limits
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2022-12-15 12:08:05 -05:00
Ricardo Arturo Cabral Mejía
85ac61cc93 chore: remove schema limits for tag/content
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2022-11-22 19:36:42 -05:00
Ricardo Arturo Cabral Mejía
9364412677 feat: reject events with long content field
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2022-11-20 10:40:39 -05:00
Ricardo Arturo Cabral Mejía
2089c9fd61 feat: add content.maxLength setting
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2022-11-20 10:40:39 -05:00
Ricardo Arturo Cabral Mejía
b36b62520e test: message/event rate limiting 2022-11-15 21:17:20 -05:00
Ricardo Arturo Cabral Mejía
a46fcc64ce feat: add msg/event rate limit to settings 2022-11-15 21:17:20 -05:00
Ricardo Arturo Cabral Mejía
59c6f806cb chore: add redis to docker compose files 2022-11-15 21:17:20 -05:00
Ricardo Arturo Cabral Mejía
4dc2405317
fix: use utf8 instead of utf-8 for ws messages 2022-11-12 07:17:56 -05:00