Vlad Stan
bfda0b62da
test: add unit tests for wallets (funding sources) ( #2363 )
...
* test: initial commit
* feat: allow external label for `create_invoice` (useful for testing)
* chore: code format
* fix: ignore temp coverage files
* feat: add properties to the Status classes for a better readability
* fix: add extra validation for data
* fix: comment out bad `status.pending` (to be fixed in core)
* fix: 404 tests
* test: first draft of generic rest wallet tests
* test: migrate two more tests
* feat: add response type
* feat: test exceptions
* test: extract first `create_invoice` test
* chore: reminder
* add: error test
* chore: code format
* chore: experiment
* feat: adapt parsing
* refactor: data structure
* fix: some tests
* refactor: extract methods
* fix: make response uniform
* fix: test data
* chore: clean-up
* fix: uniform responses
* fix: user agent
* fix: user agent
* fix: user-agent again
* test: add `with error` test
* feat: customize test name
* fix: better exception handling for `status`
* fix: add `try-catch` for `raise_for_status`
* test: with no mocks
* chore: clean-up generalized tests
* chore: code format
* chore: code format
* chore: remove extracted tests
* test: add `create_invoice`: error test
* add: test for `create_invoice` with http 404
* test: extract `test_pay_invoice_ok`
* test: extract `test_pay_invoice_error_response`
* test: extract `test_pay_invoice_http_404`
* test: add "missing data"
* test: add `bad-json`
* test: add `no mocks` for `create_invoice`
* test: add `no mocks` for `pay_invoice`
* test: add `bad json` tests
* chore: re-order tests
* fix: response type
* test: add `missing data` test for `pay_imvoice`
* chore: re-order tests
* test: add `success` test for `get_invoice_status `
* feat: update test structure
* test: new status
* test: add more test
* fix: error handling
* chore: code clean-up
* test: add success test for `get_payment_status `
* test: add `pending` tests for `check_payment_status`
* chore: remove extracted tests
* test: add more tests
* test: add `no mocks` test
* fix: funding source loading
* refactor: extract `rest_wallet_fixtures_from_json` function
* chore: update comment
* feat: cover `cleanup` call also
* chore: code format
* refactor: start to extract data model
* refactor: extract mock class
* fix: typings
* refactor: improve typings
* chore: add some documentation
* chore: final clean-up
* chore: rename file
* chore: `poetry add --dev pytest_httpserver` (after rebase)
2024-04-08 12:18:21 +03:00
Arc
7783f34998
bug: wrong pending status ( #2352 )
2024-03-24 13:58:15 +01:00
Vlad Stan
d44339b018
fix: pending property for PaymentStatus ( #2324 )
...
* fix: pending property for PaymentStatus
* fix: invoice status
* fix: check pending status from the payment details
* refactor: make condition more explicit
2024-03-14 14:38:10 +02:00
Vlad Stan
352fd23c0b
refactor: dev-friendly payment status name ( #2322 )
...
* refactor: dev-friendly payment status name
* refactor: change `PaymentStatus(True, ...)` to `PaymentSuccessStatus(...)`
2024-03-13 16:17:33 +01:00
Pavol Rusnak
8eabf53642
introduce Wallet.normalize_endpoint to remove code duplication
2024-01-22 10:06:22 -06:00
dni ⚡
eb73daffe9
[FEAT] Node Managment ( #1895 )
...
* [FEAT] Node Managment
feat: node dashboard channels and transactions
fix: update channel variables
better types
refactor ui
add onchain balances and backend_name
mock values for fake wallet
remove app tab
start implementing peers and channel management
peer and channel management
implement channel closing
add channel states, better errors
seperate payments and invoices on transactions tab
display total channel balance
feat: optional public page
feat: show node address
fix: port conversion
feat: details dialog on transactions
fix: peer info without alias
fix: rename channel balances
small improvements to channels tab
feat: pagination on transactions tab
test caching transactions
refactor: move WALLET into wallets module
fix: backwards compatibility
refactor: move get_node_class to nodes modules
post merge bundle fundle
feat: disconnect peer
feat: initial lnd support
only use filtered channels for total balance
adjust closing logic
add basic node tests
add setting for disabling transactions tab
revert unnecessary changes
add tests for invoices and payments
improve payment and invoice implementations
the previously used invoice fixture has a session scope, but a new invoice is required
tests and bug fixes for channels api
use query instead of body in channel delete
delete requests should generally not use a body
take node id through path instead of body for delete endpoint
add peer management tests
more tests for errors
improve error handling
rename id and pubkey to peer_id for consistency
remove dead code
fix http status codes
make cache keys safer
cache node public info
comments for node settings
rename node prop in frontend
adjust tests to new status codes
cln: use amount_msat instead of value for onchain balance
turn transactions tab off by default
enable transactions in tests
only allow super user to create or delete
fix prop name in admin navbar
---------
Co-authored-by: jacksn <jkranawetter05@gmail.com>
2023-09-25 15:04:44 +02:00
jackstar12
bc55d52ea2
Refactor get walletclass ( #1776 )
...
* move `get_wallet_class` to wallets module
* adjust imports, fix type issues
flake8
2023-06-27 16:11:00 +02:00
jackstar12
e6499104c0
Wallets refactor ( #1729 )
...
* feat: cleanup function for wallet
* update eclair implementation
* update lnd implementation
* update lnbits implementation
* update lnpay implementation
* update lnbits implementation
* update opennode implementation
* update spark implementation
* use base_url for clients
* fix lnpay
* fix opennode
* fix lntips
* test real invoice creation
* add small delay to test
* test paid invoice stream
* fix lnbits
* fix lndrest
* fix spark
fix spark
* check node balance in test
* increase balance check delay
* check balance in pay test aswell
* make sure get_payment_status is called
* fix lndrest
* revert unnecessary changes
2023-06-19 12:12:00 +02:00
Pavol Rusnak
86e8a3a315
fix flake8 E711 (comparison-to-none)
2023-01-30 11:46:44 +00:00
Pavol Rusnak
f6bd8684d3
fix flake8 E712 (comparison-to-bool)
2023-01-30 11:46:44 +00:00
calle
2ee10e28c5
Backend: Unstuck outgoing payments ( #857 )
...
* first attempts
* lndrest works
* fix details
* optional fee update
* use base64.urlsafe_b64encode
* return paymentstatus
* CLN: return pending for pending invoices
* grpc wip
* lndgrpc works
* cln: return pending for pending invoices really this time
* retry wallet out of exception
* wip eclair
* take all routines into try except
* cliche: return error
* rename payment.check_pending() to payment.check_status()
* rename payment.check_pending() to payment.check_status()
* eclair: works
* eclair: better error check
* opennode: works
* check payment.checking_id istead of payment.ok
* payment.ok check as well
* cln: works?
* cln: works
* lntxbot: works
* lnbits/wallets/lnpay.py
* cln: error handling
* make format
* lndhub full detail update
* spark: wip
* error to False
* wallets: return clean PaymentResponse
* opennode: strict error
* cliche: works
* lnbits: works
* cln: dont throw error
* preimage not error
* fix cln
* do not add duplicate payments
* revert cln
* extra safety for cln
* undo crud changes until tests work
* tasks: better logging and 0.5s sleep for regular status check
* 0.1 s
* check if wallet exists
* lnbits unhashed description
* remove sleep
* revert app.py
* cleanup
* add check
* clean error
* readd app.py
* fix eclaid
2022-08-30 13:28:58 +02:00
calle
f4e7d62ca3
make format
everything (#743 )
2022-07-16 14:23:03 +02:00
calle
0f97f8f18b
Fee reserve for lightning backends ( #557 )
...
* preparing fees
* fee_limit_msat
* await resp result
* clightning
* fix tests
* fix test
* add fee to test
* mypy
* invoice_status
* checking id fix
* fee reserve error message
* only for external payments
2022-03-16 07:20:15 +01:00
fiatjaf
e112258c39
improve checking routine.
...
check pending invoices only once on startup,
then check outgoing payments every 30 minutes,
and delete outgoing payments that return False (meaning they have failed).
also fix a bug on sparko.
2021-03-28 00:11:45 -03:00
fiatjaf
a787d60d93
be extra safe when failing a payment if pay_invoice throws on sparko.
2021-03-24 02:02:54 -03:00
fiatjaf
d4d069fc77
make all methods from all wallets async.
2021-03-24 01:01:09 -03:00
fiatjaf
42bd5ea989
remove exception to black line-length and reformat.
2021-03-24 00:40:32 -03:00
fiatjaf
bcdc065cc0
mypy fixes.
2020-10-13 14:46:23 -03:00
fiatjaf
b1f30390b0
retrieve preimage from wallet backends, save it and show on UI dialog.
...
closes https://github.com/lnbits/lnbits/issues/77
2020-10-12 23:19:16 -03:00
fiatjaf
b5a07c7ae7
add status() method to wallets to be used in initial check.
2020-10-12 22:30:19 -03:00
fiatjaf
b3c69ad49c
invoice listeners support on lnd and other fixes around wallets/
2020-10-04 12:05:01 -03:00
fiatjaf
68b0adfe66
fix: description_hash as an optional param to create_invoice.
...
fixes https://github.com/lnbits/lnbits/issues/74
2020-08-30 23:54:50 -03:00
fiatjaf
bc27293315
support description_hash across all APIs.
2020-07-03 20:04:04 -03:00
Eneko Illarramendi
d03785558b
refactor: a wallet is a wallet is a wallet
2020-03-31 19:05:25 +02:00
Eneko Illarramendi
d862b16ee6
refactor: "payments" is the name, and API updates
2020-03-07 22:27:00 +01:00
Eneko Illarramendi
7996c48b70
chore: remove wait
option for LntxbotWallet
2020-03-05 23:01:37 +01:00
Eneko Illarramendi
0d517b884a
refactor: code review
2020-01-16 13:58:27 +01:00
Arc
cab3279f17
Update base.py
2020-01-16 12:38:40 +00:00
Eneko Illarramendi
47b93a97d6
refactor: unify responses in backend wallets
2020-01-10 21:26:42 +01:00