* replace async_wrap with run_sync
formatting
remove unused fn
properly raise exception, not for timeout though
* [TEST] proper startup and shutdown (#1860)
* add proper startup / shutdown in tests
* fix event loop issues
because uvloop was installed in server.py which is not the main entry point when tests are ran.
this caused the loops referenced by the locks and queues to be a different one than the one used to run the tests
(only an issue in python 3.9)
* give openapi more time, does not matter anyway, regtest takes way longer
---------
Co-authored-by: jacksn <jkranawetter05@gmail.com>
remove uvloop
* fix test
* dont touch pyproject
* fix: install uvloop in conftest
not using uvloop at all causes tests to take way longer
---------
Co-authored-by: jacksn <jkranawetter05@gmail.com>
* 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
* black and isort for tests
* black and isort for build
* use poetry in Makefile, update pyproject.toml dependencies and add configs for black, pytest, mypy, isort there
* switching github workflow to poetry
* set mininum version to python 3.7
* fix tests
* add types-protobuf to dev packages
* fix cln regtest
* update docs
* try fix 1
* mypy fix2
* fix isort formatting workflow
* add prettier to dev docs
* multiple valid python version for pyproject
* update poetry.lock
* remove development installation, not needed anymore
* fix migration workflows
* format into one test
* fix yaml
* fix pipeline
* fix pipeline
* fix again
* fix
* rename checks
* remove venv tests
* venv test once
Co-authored-by: dni <dni.khr@gmail.com>
* check for description hash
* remove unnecessary asserts for clarity
* assume that description_hash is a hash already
* no lock
* restore bolt11.py
* /api/v1/payments with hex of description
* comment
* Adds tests for GET /wallet
* Update `httpx` to `0.23.0` and `http-core` to `0.15.0` in `venv` installation path
* Fix `secp256k1 = "==0.14.0"` and `cffi = "==1.15.0"`
* return error for wrong key
* payment check use key dependency
* more expressive error
* re-add optional key
* more tests
* more
* more granular
* more testing
* custom event_loop
* tests work
* fix lots of mypy errors
* test_public_api
* both files
* remove unused import
* tests
* tests working
* rm empty file
* minimal test
* set FAKE_WALLET_SECRET="ToTheMoon1"
* set FAKE_WALLET_SECRET="ToTheMoon1"
* trial and error
* trial and error
* test postgres
* test postgres
* test postgres
* test postgres
* test postgres
* test postgres
* test build
* skip mypy
Flask extensions are loaded in a way that makes them easily reusable by blueprints.
In this commit we are also adding `environs` to manage .env and settings:
breaking changes!
- FLASK_APP=lnbits.app
- LNBITS_ALLOWED_USERS needs to be empty now to allow all users (NOT "all")