* 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>
* initial commit and still draft, ready for review
* forgot to uncomment this line
* fee estimation and blockheight
* resolve conversation with michael, to use mempool websockets instead of boltz status event
* Update lnbits/extensions/boltz/boltz.py
Co-authored-by: michael1011 <me@michael1011.at>
* add status to swaps, add sorting and data into listing
* add swap status checks, change urls to docker test setup, dynamic minimum and maximum limits
* fix docker hosts for development
* add api endpoints to _api_docs
* add wallet name and id, to list and status information
* fix status_update for reverse_swaps
* chore: format with black
* more blackformatting and refactoring create_swap()
* fix variable bug
* check if swap is already refunded
* use create_task instead of ensure_future
* add mempool and boltz urls depending on DEBUG .env
* raise exception in mempool fails
* fix onchain txs, sending funds to wrong address and add a refund address for normal swaps beforehand
* add status to swaps, add sorting and data into listing
* add swap status checks, change urls to docker test setup, dynamic minimum and maximum limits
* add wallet name and id, to list and status information
* fix status_update for reverse_swaps
* chore: format with black
* use create_task instead of ensure_future
* add mempool and boltz urls depending on DEBUG .env
* fix onchain txs, sending funds to wrong address and add a refund address for normal swaps beforehand
* black formatting
* add some logging with loguru, and remove function duplication
* cleanup readme
* updates/suggestions from calle
Co-authored-by: calle <93376500+callebtc@users.noreply.github.com>
* remove unused comments
* Update API Endpoints
Co-authored-by: calle <93376500+callebtc@users.noreply.github.com>
* un-factor get_boltz_pairs
* added a explaination for the onchain tx
* remove unused template file
* rename api endpoints
* fix isort and prettier
* more verbose logging!!
* add boltz to mock_data.zip
* new mockdata
* remove comment
* better readme
* fix mempool urls
* change /refund /check /status to post requests
* first step in tests2
* add first tests
* change refund,check,status to post requests
* next try on tests
* overall code improvements
* just testing tests
* throw http exceptions in views_api
* require admincheck for refund,check,status and added fastapi documentation for those
* added more tests
* black
* many code improvements
* adding tests
* temp fix test
* fix race condition when pay_invoice fails
* test are working
* add boltz env variables
* add startup check, bugfixes, improvements
* improve on status checking
* remove check_invoice_status
* more fixes and tests
* testing testing testing
* make tests run again inside regtest
* fix bad error :O
* fix postgres boolean bug and add swap test
* Update README.md
Update README.md
Update README.md
Update README.md
* some mypy
* blacked
* the missing commit?
* fix api_docs readme link
* better refunding error catching
fix
* check swaps now also shows pending reverse swap, ui improvements, tooltips
* add backend check for boltz limits
fixup
* many improvements, startup check for swaps working, reverse needs more testing
* little last fixes
* remove unused logic
* fastapi documentation
fixup
* formatting and remove unused tests
* fix test
* fix swapstatus model
* Update lnbits/extensions/boltz/tasks.py
Co-authored-by: calle <93376500+callebtc@users.noreply.github.com>
* Update lnbits/extensions/boltz/views_api.py
Co-authored-by: calle <93376500+callebtc@users.noreply.github.com>
* balance check msg, format
* fix mypy data override
* fix swapstatus, remove can refund column
* Update lnbits/extensions/boltz/README.md
Co-authored-by: michael1011 <me@michael1011.at>
* empty lines
* fix error message when swap is not found
* remove preimage_hash from database
* fix api_docs html
fix api_docs html
* catch boltz network exceptions better
* formatting
* check for timeout on swap at get request
Co-authored-by: michael1011 <me@michael1011.at>
Co-authored-by: fusion44 <some.fusion@gmail.com>
Co-authored-by: calle <93376500+callebtc@users.noreply.github.com>
* another testcase the fails similar to #847
* proper fix
* revert to statuscode 401 and code improvements @calle
Co-authored-by: dni <dni.khr@gmail.com>
* added test for empty post data, for issue #847
* black
* fixed the failing testcase
* Update lnbits/decorators.py
Co-authored-by: calle <93376500+callebtc@users.noreply.github.com>
Co-authored-by: dni <dni.khr@gmail.com>
Co-authored-by: calle <93376500+callebtc@users.noreply.github.com>
* new argument: unhashed_description
* accept in api
* set unhashed_description for memo case
* bolt11.py: dont be like CLN, accept the hash
* send hash to lnd in b64
* fix cln
* skip descr_hash for cln
* skip
* format
* 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