Commit graph

149 commits

Author SHA1 Message Date
jackstar12
dda6c1b3c1
websocket internal payment notifications (#1831)
* add send_payment_notification service
payment notifications are sent from multiple places with inconsistent and incomplete data
* adopt new send_payment_notification service
* add tests
2023-07-26 12:08:22 +02:00
Arc
a3aafe4b6f
Data returned from wallet websocket was not json (#1823)
* Fixed walet websocket json

* format
2023-07-19 12:14:03 +01:00
jackstar12
bc55d52ea2
Refactor get walletclass (#1776)
* move `get_wallet_class` to wallets module

* adjust imports, fix type issues

flake8
2023-06-27 16:11:00 +02:00
Arc
7e1f43933d
Adds security tools, such as a rate limiter, IP block/allow, server logs (#1606)
* added ratelimiter
* Adds server logs to admin ui
* Added IP allow/ban list
* fixed remove ips
* Split rate limit number and unit
* security tab and background tasks for killswitch
* fix test for auditor api

---------

Co-authored-by: dni  <office@dnilabs.com>
2023-06-20 11:26:33 +02:00
dni ⚡
ec623f4861
remove settings logging (security) (#1763) 2023-06-15 15:44:08 +02:00
Perlover
7c479a3ebf
Hide the superuser ID URL from logs with comment where to find superuser ID (#1749)
* Hide the superuser ID URL from logs with comment where to find admin ID
* Update admin_ui.md

---------

Co-authored-by: dni  <office@dnilabs.com>
2023-06-15 15:34:39 +02:00
Arc
c960f718f5
Adds websocket for incoming/outgoing payments with wallet balance (#1679)
* Websocket works for incoming/outgoing and includes wallet balance

* mypy

* mypy try

* Actual mypy (no try)

* format
2023-05-22 12:38:26 +01:00
dni ⚡
dd1c17f86f
FIX: internal qrcode scanning check should always check for lowercase (#1713)
fixup
2023-05-19 12:41:58 +01:00
Arc
6f2771e334
Merges extensions into one page (#1656)
* Merged extensions into one page

* Bundle files updated

* Fixed install bug

* feat: client side version compatibility check

* fix: hide `Activated/Deactivated` toggle for non-admins

* feat: translate labels to `EN`

* feat: add other language translations

* chore: update bundle for i18n

* feat: check extension version server-side

* feat: show warning message

* refactor: nicer mapping

Co-authored-by: dni  <office@dnilabs.com>

* chore: code format

* chore: extra log

* feat: check_latest_version of ext

* feat: show tooltip for new version

* chore: `make bundle`

* chore: `mypy`

* chore: code clean-up

* feat: show version in badge (spacing is fine)

* chore: make bundle

* feat: check `min_lnbits_version` and `warning` in `config.json`

* chore: code formatting

* chore: downgrade log level

* fix: extract `ExtensionsInstallSettings` as readonly

* fix: do not show installed and deactivated extensions

* chore: format

* fix: `Enable` button tooltip

* fix: set installed release after installation

* fix: hide deactivated extensions from regular users

* bundle fundle

* bundle fundle

---------

Co-authored-by: Vlad Stan <stan.v.vlad@gmail.com>
Co-authored-by: dni  <office@dnilabs.com>
2023-05-11 01:14:07 +01:00
Vlad Stan
67d8b67ee5
Create super user account if it does not exist (#1688)
* fix: temp create account for `super_user_id` if missing

* chore: remove dumb import

* refactor: move logic outside `crud`

* feat: add uuid4 conversion

* fix: require valid string in .env file

* fix: update the `settings.super_user` value in case or normalisation for UUID4

* fix: allow long super_user

* chore: code format

* fix: add UI redirect with the normalized user

* fix: normalize `super_user` up one level

* fix: should normalize user in non-ui mode also
2023-05-09 09:22:19 +01:00
callebtc
b4fce8b00b
fix internal invoice check (#1681)
* fix internal invoice check

* return error

* make format
2023-05-04 17:20:37 +02:00
dni ⚡
667de4d1f0
generate .super_user file on startup if adminui is enabled (#1651)
* generate .super_user file on startup if adminui is enabled
* only save super_user id instead of url
2023-04-25 10:25:50 +02:00
dni ⚡
0b596c00ca
reduce max string length 2023-04-17 08:29:01 +02:00
dni ⚡
5dbd9a9192
add some assert description 2023-04-04 07:35:20 +02:00
callebtc
9b7bda4e4e
finish services.py 2023-04-04 07:35:20 +02:00
Pavol Rusnak
0607cb1d6e
fix pyright lnbits/core
Co-authored-by: dni  <office@dnilabs.com>
2023-04-04 07:34:37 +02:00
dni ⚡
e59a218912
bugfix: 500 error if same wallet tries to pay an external invoice twice (#1594)
* bugfix: 500 error if same wallet tries to pay an external invoice twice

* fstring

* log the error

---------

Co-authored-by: callebtc <93376500+callebtc@users.noreply.github.com>
2023-04-03 15:34:55 +02:00
calle
58c3b05e29
fix internal payment check (#1604) 2023-04-03 15:15:34 +02:00
dni ⚡
fe9e821af5
BUG: proper exception for already paid internal invoices (#1593)
* BUG: proper exception for paid interal invoices

* test should now fail, because we pay invoice twice, and should also work in regtest

* sorting

* unpack check_internal

* introduce another crud fn for checking internal paid payment

* rename

---------

Co-authored-by: callebtc <93376500+callebtc@users.noreply.github.com>
2023-04-03 14:44:17 +02:00
dni ⚡
9127ebc621
FIX: admin topup to use payment_hash (#1588)
* FIX: admin topup to use payment_hash

* flake8
2023-03-30 14:21:01 +02:00
calle
994b203a8e
return fee in status (#1598) 2023-03-29 19:40:52 +02:00
dni ⚡
6f194fe2f8
introduce baseurl and remove force_https (#1549)
* introduce baseurl and remove force_https

* calle's suggestions
2023-02-28 13:45:43 +01:00
calle
f7e43cdd95
check for amountless invoices deeper in the call stack (#1536) 2023-02-22 13:30:45 +01:00
Pavol Rusnak
a49a654137
fix flake8 F401+F403 (module imported but unused + unable to detect undefined names) 2023-01-30 11:46:45 +00:00
Pavol Rusnak
bc36e6bc4c
fix flake8 F541 (f-string is missing placeholders) 2023-01-30 11:46:44 +00:00
Pavol Rusnak
eba7319808
fix flake8 E713 (test-for-membership) 2023-01-30 11:46:44 +00:00
Pavol Rusnak
f6bd8684d3
fix flake8 E712 (comparison-to-bool) 2023-01-30 11:46:44 +00:00
calle
52e654af86
respect https setting in admin ui link (#1416)
* respect https setting in admin ui link

* make format
2023-01-30 11:30:23 +01:00
ben
39f0000fa5 Merge remote-tracking branch 'origin/main' into extension_install_02 2023-01-26 12:39:11 +00:00
calle
f0d58a8365
Wallets: add custom invoice expiry (#1396)
* expiry for fakewallet

* expiry for lnd

* lnbits backend

* fix: eclair descriptionHash fixed and expiry added

* cln and sparko

* test expiry

* Eclair from AdminUI and bugfix for nonexistent payments

* add to settings and .env and remove lntxbot

* remove duplicate and format

* add invoice expiry

* add min max and step

* UI works now

* test should fail, sanity check, will revert

* revert, ready for merge

Co-authored-by: Tiago Vasconcelos <talvasconcelos@gmail.com>
2023-01-26 11:08:40 +01:00
Vlad Stan
9cca87f738
Merge branch 'main' into extension_install_02 2023-01-25 09:50:54 +02:00
ben
3c61f61588 removed http var 2023-01-24 10:40:51 +00:00
ben
39559cccb9 Removes https in super user link 2023-01-23 21:15:43 +00:00
Vlad Stan
0b3324cd8f refactor: create TransientSettings for settings that are not to be persisted 2023-01-20 18:10:29 +02:00
Vlad Stan
c370bd18c6 refactor: remove redundant # type: ignore 2023-01-10 09:45:12 +02:00
calle
7a406786f6
Merge pull request #1246 from prusnak/drop-binascii
use bytes.fromhex/hex builtins instead of binascii.hexlify/unhexlify
2023-01-03 10:52:28 +01:00
Pavol Rusnak
a377381942
use bytes.fromhex/hex builtins instead of binascii.hexlify/unhexlify 2022-12-29 16:46:35 +01:00
callebtc
cd11f92ed9 make format 2022-12-27 15:00:41 +01:00
callebtc
ead5ae0d82 refactor: remove unused imports 2022-12-27 14:50:42 +01:00
Vlad Stan
1d509fb9d2 fix: typo Setings -> Settings 2022-12-19 11:07:24 +02:00
Vlad Stan
1751831e57 fix: create default wallet for auto created super_user 2022-12-16 12:09:13 +02:00
Vlad Stan
d596992993 feat: .env super_user overwrites DB super_user 2022-12-16 11:22:32 +02:00
Vlad Stan
4ee68628cc fix: use super_admin from .env if present 2022-12-16 10:29:43 +02:00
dni ⚡
04f0f5b83b improve wording 2022-12-12 12:27:52 +01:00
Vlad Stan
7e2b1e65a0 fix: super-user is a special read-only value that is logged to the console 2022-12-12 10:12:35 +02:00
Vlad Stan
bed2eff7fb fix: send_admin_user_to_saas is not a settings method 2022-12-12 09:45:08 +02:00
Vlad Stan
e28dea97d8 fix: update the in-memory settings object when the DB is updated 2022-12-09 14:53:51 +02:00
Vlad Stan
99e7bf5cd0 chore: code format 2022-12-09 14:09:16 +02:00
Vlad Stan
4cd2fe7ee1
Merge branch 'main' into FinalAdminUI 2022-12-09 14:06:47 +02:00
Vlad Stan
d15782521d refactor: include admin extension into core 2022-12-08 15:41:52 +02:00