* feat: add shortcuts for insert_query and update_query into `Database`
example: await db.insert("table_name", base_model)
* remove where from argument
* chore: code clean-up
* extension manager
* lnbits-qrcode components
* parse date from dict
* refactor: make `settings` a fixture
* chore: remove verbose key names
* fix: time column
* fix: cast balance to `int`
* extension toggle vue3
* vue3 @input migration
* fix: payment extra and payment hash
* fix dynamic fields and ext db migration
* remove shadow on cards in dark theme
* screwed up and made more css pushes to this branch
* attempt to make chip component in settings dynamic fields
* dynamic chips
* qrscanner
* clean init admin settings
* make get_user better
* add dbversion model
* remove update_payment_status/extra/details
* traces for value and assertion errors
* refactor services
* add PaymentFiatAmount
* return Payment on api endpoints
* rename to get_user_from_account
* refactor: just refactor (#2740)
* rc5
* Fix db cache (#2741)
* [refactor] split services.py (#2742)
* refactor: spit `core.py` (#2743)
* refactor: make QR more customizable
* fix: print.html
* fix: qrcode options
* fix: white shadow on dark theme
* fix: datetime wasnt parsed in dict_to_model
* add timezone for conversion
* only parse timestamp for sqlite, postgres does it
* log internal payment success
* fix: export wallet to phone QR
* Adding a customisable border theme, like gradient (#2746)
* fixed mobile scan btn
* fix test websocket
* fix get_payments tests
* dict_to_model skip none values
* preimage none instead of defaulting to 0000...
* fixup test real invoice tests
* fixed pheonixd for wss
* fix nodemanager test settings
* fix lnbits funding
* only insert extension when they dont exist
---------
Co-authored-by: Vlad Stan <stan.v.vlad@gmail.com>
Co-authored-by: Tiago Vasconcelos <talvasconcelos@gmail.com>
Co-authored-by: Arc <ben@arc.wales>
Co-authored-by: Arc <33088785+arcbtc@users.noreply.github.com>
* feat: add boltz client standalone fundingsource
WIP.
https://docs.boltz.exchange/v/boltz-client
this fundingsource utilizing the boltz client standalone function: https://github.com/BoltzExchange/boltz-client/pull/123
this makes him act like a lightning node while submarine swapping everything on liquid network. like aqua does in its wallet.
* feat: paid_invoices_stream
* feat: proper invoice and payment status check
* feat: authenticate over insecure channel aswell
* chore: lint
* docs: add more setup instructions
* chore: add `boltz_client_cert` in frontend
* feat: populate fee_msat in get_payment_status and get_invoice_status
* fixup!
* chore: bundle
* added boltz logo
* add BoltzWallet to __all__
* chore: bump grpcio and protobuf deps and add grpcio-tools as dev dependency
* chore: update protos
* feat: pass description when creating swap
* fixup!
* chore: bundle
---------
Co-authored-by: jackstar12 <jkranawetter05@gmail.com>
Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
* feat: nwc funding source
* implement paid_invoices_stream, fix for unsettled invoices where settled_at is present but None
* cancel pending_payments_lookup_task on cleanup
* Rename subscription_timeout_task to timeout_task
* ensure preimage is not None
* Improve readability, return failed status on expiration in get_payment_status, ensure result_type is checked after error (some implementations might not set a result_type on error)
* fetch account info when possible
* workaround possible race condition on some nwc service providers, improve performance of fallback by using payment_hash from bolt11 invoice
* fundle
* make format
* fix formatting
* fix C901 `_on_message` is too complex (21 > 16)
* format
* fix lint
* format
* fix tests/wallets/test_nwc_wallets.py:80:11: C901 `run` is too complex (17 > 16)
* fix padding
* fix documentation for _verify_event method
* refactoring and fixes
* Split NWCWallet - NWCConnection
* refactor class methods into helpers
* update bundle
* format
* catch NWCError failure codes
* format and fix
* chore: bundle
* add example
* typos
---------
Co-authored-by: Riccardo Balbo <riccardo0blb@gmail.com>
Co-authored-by: benarc <ben@arc.wales>
Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
* add Breez SDK wallet
* use more description status classes
* fix: add try-except
---------
Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
Co-authored-by: dni ⚡ <office@dnilabs.com>
Co-authored-by: Vlad Stan <stan.v.vlad@gmail.com>
* Fix for phoenixd and lnurlp nostr usage
- Support description, restricted to 128 characters
- Support descriptionHash
Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
Co-authored-by: Vic <vic@example.com>
* fix: rest `pay_invoice` pending instead of failed
* fix: rpc `pay_invoice` pending instead of failed
* fix: return "failed" value for payment
* fix: handle failed status for LNbits funding source
* chore: `phoenixd` todo
* test: fix condition
* fix: wait for payment status to be updated
* fix: fail payment when explicit status provided
---------
Co-authored-by: dni ⚡ <office@dnilabs.com>
* feat: corelightning `maxfee` and custom pay command
we should use maxfee instead of calculating the ratio and pass it
through.
also make it possible to run a custom pay command
* change for cln rest aswell
* fix: test data
* test: add `status` tests
* refactor: try-catch
* test: create invoice tests
* test: add first `payinvoice` test
* test: add pay_invoice error test
* feat: allow more test options
* test: add pending tests
* fix: make check
* test: add, pending no fee
* fix: make consistent with other API calls
* test: more assertions
* test: add pending
* test: first payment status test
* test: pending status
* refactor: remove duplicate code
* refactor: rename field
* chore: code format
* chore: uniform
basically use `list` and `type` instead of `List` and `Type`
this is save to use for python3.9 and has been deprecated. also has some
performance drawbacks.
read more here: https://docs.astral.sh/ruff/rules/non-pep585-annotation/
* chore: adhere to ruff's "N" rules
WARN: reinstall failing extensions!
bunch of more consistent variable naming. inspired by this issue.
https://github.com/lnbits/lnbits/issues/2308
* fixup! chore: adhere to ruff's "N" rules
* rename to funding_source
* skip jmeter
---------
Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
* fix: pending property for PaymentStatus
* fix: invoice status
* fix: check pending status from the payment details
* refactor: make condition more explicit
update api methods
add zbd as funding source to settings and js
fix statuses
cast str into int for status method
fix outbound payment hash issue
restore create_invoice
remove print stmts
it was only used in lnpay, opennode and alby which all had it disabled anayways with a pretty old TODO, so i guess the feature is disabled for a y ear now and nobody used it, so i just removed it