Pavol Rusnak
ab3eb967b4
chore: update pyproject dependencies ( #2619 )
2024-09-03 11:09:36 +02:00
dni ⚡
27b9e8254c
feat: NWC Funding source #2579 ( #2631 )
...
* 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>
2024-08-07 09:56:53 +02:00
dni ⚡
b41705167f
feat: extra log for tests phases ( #2604 )
...
* fix: set `corelightning_rest_cert`
* feat: extra log for tests phases
---------
Co-authored-by: Vlad Stan <stan.v.vlad@gmail.com>
2024-07-31 11:40:25 +02:00
Pavol Rusnak
19c231a2f4
chore: update pyln-client to 24.5 ( #2614 )
2024-07-30 18:04:28 +02:00
Pavol Rusnak
7298c4664b
feat: Blink funding source ( #2477 )
...
* feat: Blink funding source
* chore: make bundle
* Blink review 01 (#2575 )
* refactor: mark `graphql_query` as private (`_` prefix)
* feat: set default value for `blink_api_endpoint`
* fix: raise if HTTP call failed
* refactor: move private method to the bottom
* refactor: make `wallet_id` a property
* fix: key mapping for attribute
* chore: fix `mypy`
* chore: fix `make check`
* refactor: extract query strings
* refactor: extract `BlinkGrafqlQueries` class
* chore: code clean-up
* chore: add `try-catch`
* refactor: extract `tx_query`
* chore: format grapfhql queries
* fix: set funding source class
* chore: `make format`
* fix: test by following the other patterns
* Update docs/guide/wallets.md
Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
* feat: add websocket connection to blink (#2577 )
* feat: add websocket connection to blink
* feat: close websocket on shutdown
* feat: add `blink_ws_endpoint` to the UI
* fix: use `SEND` tx for `settlementFee`
* refactor: remove `else` when `if` has `return`
* fix: remove test env file
---------
Co-authored-by: bitkarrot <73979971+bitkarrot@users.noreply.github.com>
Co-authored-by: Vlad Stan <stan.v.vlad@gmail.com>
Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
2024-07-19 21:32:02 +01:00
Vlad Stan
eae5002b69
fix: pay invoice status ( #2481 )
...
* 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>
2024-05-10 11:49:50 +02:00
Bitkarrot
c04c13b2f8
feat: phoenixd wallet integration ( #2362 )
...
* phoenixd integration
---------
Co-authored-by: Vlad Stan <stan.v.vlad@gmail.com>
2024-04-26 10:18:38 +02:00
dni ⚡
4b4bed59cd
feat: corelightning maxfee
and custom pay command ( #2464 )
...
* 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
2024-04-25 12:54:00 +02:00
dni ⚡
4a0fb59461
chore: use prettier for all of the codebase ( #2466 )
...
* chore: use prettier for all of the codebase
we only checked `lnbits` dir before
2024-04-25 11:13:08 +02:00
Vlad Stan
b2ff2d8cee
[test] add tests for lnbits
funding source ( #2460 )
2024-04-24 09:31:23 +03:00
Vlad Stan
8d3b156738
[test] add tests for eclair
funding source ( #2459 )
...
* 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
2024-04-23 16:18:52 +01:00
Vlad Stan
67fdb77339
test: unit tests for lndrpc ( #2442 )
2024-04-19 13:21:21 +02:00
dni ⚡
98ec59df96
feat: adhere to ruff's B
rules ( #2423 )
...
* feat: adhere to ruff's `B` rules
last of the ruff checks.
closes #2308
* B904
* B008
* B005
* B025
* cleanup on fake
2024-04-17 13:11:51 +02:00
dni ⚡
daa1b5a313
chore: adhere to ruff's RUF
rules, 2nd try ( #2420 )
...
* chore: adhere to ruff's `RUF` rules, 2nd try
closes #2382
2024-04-17 07:36:22 +02:00
Arc
d78f6a1f9e
Added extra default ads to support project ( #2421 )
2024-04-16 16:26:04 +02:00
dni ⚡
0714570242
fix: ruff linting broke ( #2418 )
...
fix linting
2024-04-16 08:34:33 +02:00
Vlad Stan
69ce0e565b
[test] create unit-test framework for RPC wallets ( #2396 )
...
---------
Co-authored-by: dni ⚡ <office@dnilabs.com>
2024-04-15 17:24:28 +02:00
Vlad Stan
ea58b51619
test: add tests for alby ( #2390 )
...
* test: initial commit
* chore: code format
* fix: comment out bad `status.pending` (to be fixed in core)
* fix: 404 tests
* test: extract first `create_invoice` test
* chore: reminder
* add: error test
* chore: experiment
* feat: adapt parsing
* refactor: data structure
* fix: some tests
* 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
* 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
* 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: start to extract data model
* chore: final clean-up
* chore: rename file
* test: add tests for alby
* refactor: `KeyError` handling
* chore: log error
* chore: skip the negative fee test
* fix: error message fetching
2024-04-08 13:26:00 +03:00
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