Commit graph

276 commits

Author SHA1 Message Date
dni ⚡
fee40d7321
[REFACTOR] core/__init__ to not have circular import issues (#1876)
* F541 fix

remove unused workflow and combine linters into one

add lnbits/static to ruff ignore
remote setupnode

ignore upgrades for mypy

ignore F401 for __init__ files

unused noqa

ignore upgrades for black

F821: undefine name

disabled and logged webhook_listener for opennode and lnpay because they are obvisouly not working

E402: module level import not at top of file

fixup

revert breaking changes wait for PR #1876

https://github.com/lnbits/lnbits/pull/1876

E721 fixes, only popped up for python3.9 not 3.10

[REFACTOR] core/__init__ to not have circular import issues

WIP

add db for backwards compat

fix pyright

make mypy happy again

pyright did not catch those, i think mypy got confused with relative imports. maybe we should use absolute ones everywhere

E402: module level import not at top of file

dont forget to add core_app

rebase on ruff pr

f

remo

format

* fix clnrest

* ignore E402 in conftest

* refactoring issues

---------

Co-authored-by: jacksn <jkranawetter05@gmail.com>
2023-09-12 11:25:05 +01:00
dni ⚡
8f0c1f6a80
[REFACTOR] grpcio and protofbuf for lndgrpc is not optional (#1886)
also removed dead code def get_ssl_context

black
2023-09-11 14:24:37 +01:00
callebtc
172c277c2d
fakewallet: set tag of description_hash invoice correctly (#1901) 2023-08-28 11:02:58 +01:00
dni ⚡
7a37e72915
[REFACTOR] replace async_wrap with run_sync (#1858)
* replace async_wrap with run_sync

formatting

remove unused fn

properly raise exception, not for timeout though

* [TEST] proper startup and shutdown (#1860)

* add proper startup / shutdown in tests

* fix event loop issues

because uvloop was installed in server.py which is not the main entry point when tests are ran.
this caused the loops referenced by the locks and queues to be a different one than the one used to run the tests
(only an issue in python 3.9)

* give openapi more time, does not matter anyway, regtest takes way longer

---------

Co-authored-by: jacksn <jkranawetter05@gmail.com>

remove uvloop

* fix test

* dont touch pyproject

* fix: install uvloop in conftest

not using uvloop at all causes tests to take way longer

---------

Co-authored-by: jacksn <jkranawetter05@gmail.com>
2023-08-28 10:59:56 +01:00
dni ⚡
4e6f229db2
[CHORE] string formatting default length 88 (#1887)
* [CHORE] string formatting default length 88

uses blacks default off 88 and enabled autostringformatting

* formatting

* nitpicks jackstar

fix
2023-08-24 10:26:09 +01:00
callebtc
3a653630f1
Wallets: add cln-rest (#1775)
* receive and pay works

* fix linter issues

* import Paymentstatus from core.models

* fix test real payment

* fix get_payment_status check in lnbits

* fix tests?

* simplify

* refactor AsyncClient

* inline import of get_wallet_class

fixes the previous cyclic import

* invoice stream working

* add notes as a reminder to get rid of labels when cln-rest supports payment_hash

* create Payment dummy classmethod

* remove unnecessary fields from dummy

* fixes tests?

* fix model

* fix cln bug (#1814)

* auth header

* rename cln to corelightning

* add clnrest to admin_ui

* add to clnrest allowed sources

* add allowed sources to .env.example

* allow macaroon files

* add corelightning rest to workflow

* proper env names

* cleanup routine

* log wallet connection errors and fix macaroon clnrest

* print error on connection fails

* clnrest: handle disconnects faster

* fix test use of get_payment_status

* make format

* clnrest: add unhashed_description

* add unhashed_description to test

* description_hash test

* unhashed_description not supported by clnrest

* fix checking_id return in api_payments_create_invoice

* refactor test to use client instead of api_payments

* formatting, some errorlogging

* fix test 1

* fix other tests, paid statuses was missing

* error handling

* revert unnecessary changes (#1854)

* apply review of motorina0

---------

Co-authored-by: jackstar12 <jkranawetter05@gmail.com>
Co-authored-by: jackstar12 <62219658+jackstar12@users.noreply.github.com>
Co-authored-by: dni  <office@dnilabs.com>
2023-08-23 08:59:39 +02:00
dni ⚡
eb0b06f98c
[DEV] add ruff for linting and combine linters into one workflow (#1875)
* remove unused and update black + precommit
* makefile add ruff remove unused
* F541 fix
* complete ruff ignore
* remove unused workflow and combine linters into one
add lnbits/static to ruff ignore
save preview and linelength for later
define target version for black
* ignore upgrades for mypy
* remove flake8
* ignore F401 for __init__ files
* unused pylint comment
* unused noqa
* ignore upgrades for black
* run linting on py3.9 and py3.10
* dont assume python
2023-08-19 07:38:04 +02:00
dni ⚡
511a0fd895
[CHORE] cln.py pyln-client is not optional (#1859)
* [refactor] pyln-client is not optional

some time ago we added pyln do main dependencies, its need for think like, saas or docker.
so this import was dead code

* stubs for pyln.client
2023-08-16 15:54:06 +02:00
dni ⚡
f0a66e41fb
[CHORE] flake8 issues E402, E721 and F821 (#1874)
* F821: undefine name
disabled and logged webhook_listener for opennode and lnpay because they are obviously not working
* E402: module level import not at top of file
* E721 fixes, only popped up for python3.9 not 3.10
2023-08-16 12:22:14 +02:00
dni ⚡
355806608b
[CHORE] E722 bare exception fix (#1871)
* [CHORE] E722 bare exception fix
remove all bare exceptions from codebase and change it in `.flake8`
2023-08-16 12:17:54 +02:00
callebtc
9f40b3cdbd
Tests: hold invoice tests pending during payment (#1839)
* tests: hold invoice tests pending during payment

* sigh...

* ok

* hash preimage

* preimage_hash == payment_hash

* should error

* check that payment is gone

* cancel task while in-flight

* lnbits endpoing return error

* return error

* add both options

* fix list

* respond to error

* return false if payment status errors

* outgoing invoice should be deleted after one status check

* test api_payments_create error
2023-07-31 20:25:22 +02:00
dni ⚡
6ce0387e1c
FEAT: proper failing invoice/payment responses for VoidWallet (#1805)
before that change anyone using the api just got a 500 error without any error message.
there was also a bug stacetrace in the logs each time.

flake8
2023-07-25 14:13:34 +01:00
callebtc
11fec7a889
[Wallets] CLN: fix pending state check (#1770)
* better checking

* flake8 fix

* make format

* invoices scope are function for tests

* invoice back to sessionbut keep real_invoice for now

* make format

* comment

* get payment by checking id and test
2023-07-24 12:00:41 +02:00
callebtc
2d4c9f349b
Wallets: Catch errors during cleanup (#1829)
* jetz aba

* catch RuntimeError
2023-07-21 09:50:50 +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
callebtc
d66c83c91a
no timeout for the sse connection (#1784) 2023-06-26 10:02:49 +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
dni ⚡
c48e2329c5
TEST: fix tests for real wallets (#1761)
* fix tests for real wallets
* change realinvoice provider to lnd-1
* use lnd-3 for tests
* fix eclair tests
* use bullseye in dockerimage
2023-06-15 12:36:28 +02:00
daywalker90
39066e4bc8
fix cln wallet for msat migration (#1671)
* fix cln wallet for msat migration

* status wants our funds only
2023-05-22 12:03:37 +01:00
Arc
07946d873f
Merge pull request #1630 from lnbits/update/flake8
FEAT: improve on flake8 linting
2023-04-20 09:49:11 +01:00
dni ⚡
adae3b4302
optional ssl certifiace for lndrest 2023-04-19 10:51:00 +02:00
dni ⚡
156a19f05c
improve errorhandling for lndrest #252 (#1631) 2023-04-17 09:26:37 +02:00
dni ⚡
06fa6c10c1
reintroduce E203, black does not like that one 2023-04-17 08:38:12 +02:00
dni ⚡
0b596c00ca
reduce max string length 2023-04-17 08:29:01 +02:00
dni ⚡
0af22a6256
E471 2023-04-17 08:21:45 +02:00
dni ⚡
1ac9d2572d
E203, E221 2023-04-17 08:16:59 +02:00
dni ⚡
ffb0f4ccb0
hotfix fakewallet 2023-04-14 12:03:06 +02:00
dni ⚡
255638a9ce
remove elif for vlad 2023-04-05 11:39:01 +02:00
dni ⚡
6fae6dab92
remove *1000 for fake 2023-04-05 11:35:09 +02:00
dni ⚡
be5f909d1c
merge issue in lnd_rest 2023-04-04 08:00:43 +02:00
dni ⚡
2a1a0f3a2f
fix pyright issues 2023-04-04 07:49:13 +02:00
dni ⚡
5dbd9a9192
add some assert description 2023-04-04 07:35:20 +02:00
dni ⚡
1f6a961840
fix cln mypy 2023-04-04 07:35:20 +02:00
callebtc
a8103ba091
remove unnecessary checking_id from fakewallet 2023-04-04 07:35:20 +02:00
callebtc
234b508368
shorten and ignore cln.py 2023-04-04 07:35:19 +02:00
dni ⚡
435743a265
add **kwargs to create_invoice functions 2023-04-04 07:34:51 +02:00
dni ⚡
abfee29676
uncomment webhook_listerner and add TODO 2023-04-04 07:34:50 +02:00
Pavol Rusnak
9c8a79eb9b
fix pyright lnbits/wallets
Co-authored-by: dni  <office@dnilabs.com>
2023-04-04 07:34:50 +02:00
Pavol Rusnak
689c443d72
increase readability by using f-strings (#1597)
* increase readability by using f-strings

* readd merge conflict stuff

---------

Co-authored-by: calle <93376500+callebtc@users.noreply.github.com>
2023-04-03 15:34:17 +02:00
Ben Arc
cbde5744aa RIP Lntxbot, thank you for all your help building LN, you will be missed :( 2023-02-23 11:41:44 +00:00
Pavol Rusnak
24fbb9ef5d
fix flake8 F811 (redefinition of unused) 2023-01-30 11:46:45 +00:00
Pavol Rusnak
a49a654137
fix flake8 F401+F403 (module imported but unused + unable to detect undefined names) 2023-01-30 11:46:45 +00: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
Pavol Rusnak
a0cc55c5a1
fix pylint C0209 (consider-using-f-string) 2023-01-30 11:46:43 +00:00
Pavol Rusnak
35396d7e63
fix pylint R0205 (useless-object-inheritance) 2023-01-30 11:46:43 +00:00
Pavol Rusnak
d29fcca6aa
fix pylint W0612 (unused-variable) 2023-01-30 11:46:43 +00:00
Pavol Rusnak
15d7fbeace
run autoflake
```
autoflake -i --remove-unused-variables $(find . -name "*.py")
```
2023-01-30 11:46:43 +00:00
calle
f0d58a8365
Wallets: add custom invoice expiry (#1396)
* expiry for fakewallet

* expiry for lnd

* lnbits backend

* fix: eclair descriptionHash fixed and expiry added

* cln and sparko

* test expiry

* Eclair from AdminUI and bugfix for nonexistent payments

* add to settings and .env and remove lntxbot

* remove duplicate and format

* add invoice expiry

* add min max and step

* UI works now

* test should fail, sanity check, will revert

* revert, ready for merge

Co-authored-by: Tiago Vasconcelos <talvasconcelos@gmail.com>
2023-01-26 11:08:40 +01:00
calle
9d3290cd9a
fix: lntips payment lookup error handling (#1374) 2023-01-18 12:02:32 +01:00