186 Commits

Author SHA1 Message Date
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
Jon Staab
eb07f49846
Fix dropped error in web-socket-adapter (#293) 2023-04-26 21:05:58 -04:00
Ricardo Arturo Cabral Mejía
769a3f6821
chore: add support for multiple read replicas 2023-04-21 19:13:36 -04:00
Ricardo Arturo Cabral Mejía
830a782db3
chore: dont log redis pw 2023-04-21 19:13:34 -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
Adithya Vardhan
f23740073f
feat: add LNURL processor (#202)
* feat: add new lnurl processor

* fix: lnbits issues

* fix: add default settings for lnurl processor

* fix: small changes

* fix: more changes

* fix: add verify url in upsert omit

* fix: change comment

* chore: add updateInvoiceStatus

* chore: revert lnbits change

* fix: changes
2023-03-06 08:34:38 -05:00
Ricardo Arturo Cabral Mejía
0954d8426c
fix: rsv1 error (#225)
* chore: remove secret

* chore: allow lightningtipbot pubkey for zaps

* chore: add cloudflare remoteipheader

* chore: close client conn on error

* chore: terminate conn w/o subs

* chore: enable permessage-deflate

* fix: start logs
2023-02-20 21:37:55 -08:00
Ricardo Arturo Cabral Mejía
fd3294929a
fix: confirm invoice function ambiguous unit variable (#221)
* fix: dont crash when SECRET is not set

* docs: add semisol to contributors

* docs: improve readme

* docs: add payment info to readme

* docs: add zebedee_api_key to configuration.md

* fix: confirm_invoice unit var

* chore: remove unused code

* chore: improve error logging for payments

* chore: use  instead of changeme

* chore: fix typo

* chore: improve get invoice status ctrl

* fix: csp bug

* chore: remove rate limits

* chore: improve invoice page logging

* chore: prevent root with start_local

* chore: revert to redis 4.5.1
2023-02-20 09:15:45 -08:00
Semisol
2342386bb4
Add LNbits payment processor (#194)
* feat: add lnbits payment processor

* fix: add lnbits error logging and add lnbits config

* feat: use HMAC instead of IP whitelist for LNbits

also adds two utility functions and ensures the SECRET environment
variable is set.

* refactor: remove unnecessary comment

* fix(pay-to-relay/lnbits): compare by msat scaled amount

* fix: scale balance addition with invoice unit on confirm_invoice
2023-02-18 06:13:49 -08:00
Anton
7533288370
fix: don't send expiration data to buff (#207)
* fix: remove code casting string to buffer
2023-02-15 13:48:38 -05:00
Ricardo Arturo Cabral Mejía
b9a13c8868
chore: support nip-11a 2023-02-15 00:52:56 -05:00
Ricardo Arturo Cabral Mejía
bcd072efcd
fix: bug unable confirm invoice (#204)
* chore: confirm only if bolt11 is present

Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>

* fix: fix double invoice bug. thx mazin

* fix: fypo tix on default-settings

* fix: use correct dbname on knexfile

---------

Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-14 20:41:09 -08:00
Ricardo Arturo Cabral Mejía
41dcf5240c
chore: don't rate limit all endpoints (#191)
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-10 11:14:55 -08: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
Ricardo Arturo Cabral Mejía
bfcdac51b0
feat: Add health api endpoint or kind (#166)
* feat: handle GET /healthz

* chore: simplify default settings

* chore: keep client alive on message

* chore: increase ws heartbeat timeout to 2min

* chore: improve logging during startup

* fix: zebedee callback crash on expired invoice

* fix: QR code csp error

* feat: add get-invoice-status-controller

* feat: add get-invoice-status-controller factory

* chore: refactor router

* feat: get invoice status using rest api

* fix: bad import

Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>

---------

Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-03 23:02:01 -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
Denzell Ford
1475d65b41 feat: added uri string for redis and postgres 2023-02-02 13:04:06 -05: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
Andre Neves
54684a76f3 feat: adding powered by ZBD badge if its enabled payment processor 2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
cef12fd0be chore: handle pings 2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
64432e6433 chore: improve logging 2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
2a33d748e4 chore: inc. pong timeout 2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
48ca4fd9bf chore: less verbose invalid msgs 2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
abd83386e2 chore: patch receiver.write 2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
e89ec19604 chore: disable aborting queries 2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
9021aa6b11 fix: since to be in seconds
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
af217fb798 chore: update logging
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
9d1a027c0d fix: error on heartbeat
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
8a6ed70e48 chore: improve mirror logging
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
cd4c60a139 feat: implement static mirroring
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
7778cd169b fix: rate limiter err
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
a505659d67 chore: log conn pool every min
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
199fa55ea3 chore: reduce logging
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
ad7ab69d36 fix: patch knex
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
b0adba6abc fix: patch
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-02 00:19:26 -05:00
Ricardo Arturo Cabral Mejía
280e24f75c fix: crash when payments are disabled
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
9c010e7865 fix: lots of bugs
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
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
Anton Livaja
f9c7dbf9dd fix: typo 2023-02-02 00:19:26 -05:00
Anton Livaja
2d4f06b72c chore: use console.warn instead of debug 2023-02-02 00:19:26 -05:00
Anton Livaja
ceb9b92a7d chore: use join instead of interpolation
Co-authored-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-02 00:19:26 -05:00
Anton Livaja
5f25fb08e7 chore: use join instead of interpolation
Co-authored-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
2023-02-02 00:19:26 -05:00
Anton Livaja
4ddad6a819 chore: update tests 2023-02-02 00:19:26 -05:00
Anton Livaja
24692955f9 fix: refactor to use process.cwd() 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