* startup: do not rollback unknown melt quote states
* fix: provide overpaid fees on startup
* fix: check if outputs in db
* fix test: expect melt quote pending if payment state is unknown
* fix up comment
* 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>
* `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>
* 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
* clean up db
* db: table lock
* db.table_with_schema
* fix encrypt.py
* postgres nowait
* add timeout to lock
* melt quote state in db
* kinda working
* kinda working with postgres
* remove dispose
* getting there
* porperly clean up db for tests
* faster tests
* configure connection pooling
* try github with connection pool
* invoice dispatcher does not lock db
* fakewallet: pay_if_regtest waits
* pay fakewallet invoices
* add more
* faster
* slower
* pay_if_regtest async
* do not lock the invoice dispatcher
* test: do I get disk I/O errors if we disable the invoice_callback_dispatcher?
* fix fake so it workss without a callback dispatchert
* test on github
* readd tasks
* refactor
* increase time for lock invoice disatcher
* try avoiding a race
* remove task
* github actions: test regtest with postgres
* mint per module
* no connection pool for testing
* enable pool
* do not resend paid event
* reuse connection
* close db connections
* sessions
* enable debug
* dispose engine
* disable connection pool for tests
* enable connection pool for postgres only
* clean up shutdown routine
* remove wait for lightning fakewallet lightning invoice
* cancel invoice listener tasks on shutdown
* fakewallet conftest: decrease outgoing delay
* delay payment and set postgres only if needed
* disable fail fast for regtest
* clean up regtest.yml
* change order of tests_db.py
* row-specific mint_quote locking
* refactor
* fix lock statement
* refactor swap
* refactor
* remove psycopg2
* add connection string example to .env.example
* remove unnecessary pay
* shorter sleep in test_wallet_subscription_swap
* add websockets for quote updates
* add test (not working)
* wip: emit events to everyone
* wip: emit events to everyone
* wip, lots of things broken but invoice callback works
* wip
* add wip files
* tests almost passing
* add task
* refactor nut constants
* startup fix
* works with old mints
* wip cli
* fix mypy
* remove automatic invoice test now with websockets
* remove comment
* better logging
* send back response
* add rate limiter to websocket
* add rate limiter to subscriptions
* refactor websocket ratelimit
* websocket tests
* subscription kinds
* doesnt start
* remove circular import
* update
* fix mypy
* move test file in test because it fails if it runs later... dunno why
* adjust websocket NUT-06 settings
* local import and small fix
* disable websockets in CLI if "no_check" is selected
* move subscription test to where it was
* check proof state with callback, add tests
* tests: run mint fixture per module instead of per session
* subscription command name fix
* test per session again
* update test race conditions
* fix tests
* clean up
* tmp
* fix db issues and remove cached secrets
* fix tests
* blindly try pipeline
* remove comments
* comments
* amount in melt request
* apply fee limit
* more error handling
* wip: signal flag in /info
* clean up multinut
* decode mypy error lndrest
* fix test
* fix tests
* signal feature and blindmessages_deprecated
* setting
* fix blindedsignature method
* fix tests
* mint info file
* test mpp with lnd regtest
* nuts optionsl mint
info
* try to enable mpp with lnd
* test mpp with third payment
* wip works with fakewallet
* startup refactor
* add tests
* regtest tests for pending melts
* wip CLN
* remove db migration
* remove foreign key relation to keyset id
* fix: get_promise from db and restore DLEQs
* test: check for keyset not found error
* fix migrations
* lower-case all db column names
* add more tests for regtest
* simlate failure for lightning
* test wallet spent state with hodl invoices
* retry
* regtest with postgres
* retry postgres
* add sleeps
* longer sleep on github
* more sleep for github sigh
* increase sleep ffs
* add sleep loop
* try something
* do not pay with wallet but with ledger
* fix lnbits pending state
* fix pipeline to use fake admin from docker