* remove unused and update black + precommit
* makefile add ruff remove unused
* F541 fix
* complete ruff ignore
* remove unused workflow and combine linters into one
add lnbits/static to ruff ignore
save preview and linelength for later
define target version for black
* ignore upgrades for mypy
* remove flake8
* ignore F401 for __init__ files
* unused pylint comment
* unused noqa
* ignore upgrades for black
* run linting on py3.9 and py3.10
* dont assume python
* F821: undefine name
disabled and logged webhook_listener for opennode and lnpay because they are obviously not working
* E402: module level import not at top of file
* E721 fixes, only popped up for python3.9 not 3.10
* add simple caching utility
* test cache
* remove prefix, default on get
* check expiry in pop aswell
* remove unnecessary type
* improve invalidation task
increase default interval to 10 seconds - doesnt have to check that often.
instead of recreating the dict everytime mutate the existing one
* tests: hold invoice tests pending during payment
* sigh...
* ok
* hash preimage
* preimage_hash == payment_hash
* should error
* check that payment is gone
* cancel task while in-flight
* lnbits endpoing return error
* return error
* add both options
* fix list
* respond to error
* return false if payment status errors
* outgoing invoice should be deleted after one status check
* test api_payments_create error
* add hold invoices and basic test
* run request in parallel
* create_task
* dont cancel it
---------
Co-authored-by: callebtc <93376500+callebtc@users.noreply.github.com>
* 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
* better checking
* flake8 fix
* make format
* invoices scope are function for tests
* invoice back to sessionbut keep real_invoice for now
* make format
* comment
* get payment by checking id and test
* 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>
* initial backend support
* implement payments pagination on frontend
* implement search for payments api
* fix pyright issues
* sqlite support for searching
* backwards compatability
* formatting, small fixes
* small optimization
* fix sorting issue, add error handling
* GET payments test
* filter by dates, use List instead of list
* fix sqlite
* update bundle
* test old payments endpoint aswell
* refactor for easier review
* optimise test
* revert unnecessary change
---------
Co-authored-by: dni ⚡ <office@dnilabs.com>
* 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>
* remove invoices
* remove invoices tests
* remove unused tests/extensions dir
* fix issue
* formatting
* test passing locally. and i dont know why
* fix _extension_dir loading
* gitkeep extension dir
* formatting
* remove bundle from check
* do not prettier compliled css
* do not prettier compliled css
* create extension dir, if it does not exists, just to be sure
* Update lnbits/extension_manager.py
---------
Co-authored-by: calle <93376500+callebtc@users.noreply.github.com>
* 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>
* add status to statusdialog
* first commits for boltz update
* formatting
* add latest boltz-clien package
* big refactor, depending on boltz_client package, clean up, mypy issues, not tested yet
* blacking, sorting and stuff
* remove unused req_wrap helper
* remove api docs from frontend
* bug: frontend boltz limits error
* clean up buttons
* update to boltz-client 0.0.8
* fix tests to poetry version 1.3.1
* update requirements
* formatting
* recurring swap works now, need more finetuning
* add exceptions for multiple auto swaps and swapping in with active auto swap
* black
* auto reverse swap actually works :)
* remove swap status dialogs
* update to boltz_client 0.0.9
* update to boltz-client 0.1.1, and fix startup
* update requirement.txt for boltz-client
* fixup columns in table, remove unused payment.extra, change deezy label
* remove balance check for auto swap out
* update boltzc-lient to 0.1.2, fix mypy issue inside boltz package
* nitpicks calle tasks.py
* calle nitpicks crud
* calle nitpicks crud
* refactor
* fix formatting
* circular import
* black :)
Co-authored-by: callebtc <93376500+callebtc@users.noreply.github.com>