* WIP settle different units externally
* mint melt externally different units
* deprecated route return only sat
* comment
---------
Co-authored-by: callebtc <93376500+callebtc@users.noreply.github.com>
* wait for uvicorn server to bind before running tests
Previously we had a simple `time.sleep(1)` call after `server.start()`
which was present to give the Mint's HTTP server time to spin up during
test runs. This meant that if the server took longer than 1s to start
on a dev's machine for any reason (even intermittently) then tests would
fail due to connection errors.
The fix is to use a simple repeated polling check which allows
the test runner to start only once the server is confirmed listening.
* fix linter errors
* prevent infinite loop
* specifically except httpx.ConnectError
Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
---------
Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
* wallet: add fees to outputs for melt that requires a split
* add test that requires a swap
* verify test fails, will revert
* revert true
* hopefully fix the tests
* fix default fee selection
* cleanup and renamings
* cleanup coinselect function, estimate fees
* fix test
* add comments
* weird error
* `PaymentResult`
* ledger: rely on PaymentResult instead of paid flag. Double check for payments marked pending.
* `None` is `PENDING`
* make format
* reflected changes API tests where `PaymentStatus` is used + reflected changes in lnbits
* reflect changes in blink backend and tests
* fix lnbits get_payment_status
* remove paid flag
* fix mypy
* remove more paid flags
* fix strike mypy
* green
* shorten all state checks
* fix
* fix some tests
* gimme ✅
* fix............
* fix lnbits
* fix error
* lightning refactor
* add more regtest tests
* add tests for pending state and failure
* shorten checks
* use match case for startup check - and remember modified checking_id from pay_invoice
* fix strike pending return
* new tests?
* refactor startup routine into get_melt_quote
* test with purge
* refactor blink
* cleanup responses
* blink: return checking_id on failure
* fix lndgrpc try except
* add more testing for melt branches
* speed things up a bit
* remove comments
* remove comments
* block pending melt quotes
* remove comments
---------
Co-authored-by: lollerfirst <lollerfirst@gmail.com>
* NUT-04: add description
* skip test for deprecated api
* fix for lndgrpc
* add test for cli
* add two random tests
* add max length to request model validator
* skip cli test with description for deprecated api
* add cli test for invoice command
* default value to None
* `_set_proofs_pending` performs DB related "proofs are spendable" check inside the lock.
* move _verify_spent_proofs_and_set_pending to write.py
* edit logging
---------
Co-authored-by: callebtc <93376500+callebtc@users.noreply.github.com>
* Wallet: add flag --force-swap to send command
* Reame split to swap across codebase
* rename remaining splits to swap
* fix restore index with multiple keysets
* fix wallet api restore
* Mint: fix loading b64 keysets and Wallet: option to set b64 inactive
* typo
* readd include fees flag (unused)
* fix test to respect new default False flag
* fix default flag for regtest
* catch error if receive -a doesnt work with a certain mint
* receive pending tokens from multiple mints
* receive pending from all mints and catch exceptions
* wip: handle tokenv4 if the keyset is base64
* wip
* Tokens now dataclasses
* Deserialize DLEQ from string
* add tokenv3/v4 base64 keyset ID tests
* fix cli