Commit graph

75 commits

Author SHA1 Message Date
Christoph Stenglein
c7cd337bf8
add CORS headers to responses 2021-10-04 17:30:01 +02:00
Stefan Stammberger
a8355687d4
feat: implement send coins (on-chain) endpoint
closes #15
2021-10-03 20:55:28 +02:00
Stefan Stammberger
8d1357cf09
feat: use secrets.compare_digest in login
More info:
https://fastapi.tiangolo.com/advanced/security/http-basic-auth/#timing-attacks
2021-10-03 10:58:46 +02:00
Stefan Stammberger
f7e1cf206d
test: improve ln test setup and coverage 2021-10-03 10:37:51 +02:00
Stefan Stammberger
0dfe740978
fix: remove wrong import 2021-10-03 10:32:06 +02:00
Stefan Stammberger
1748e5ba1c
feat: Add a Makefile as build system 2021-10-02 12:10:52 +02:00
Stefan Stammberger
acf7c7a03d
fix: Argument errors in Bip9Statistics.from_rpc 2021-10-02 12:02:29 +02:00
Stefan Stammberger
10cd9f7e79
test: Add testing dependencies and first tests 2021-10-02 12:00:44 +02:00
Stefan Stammberger
93610c8588
chore: update vscode config files 2021-10-02 10:01:43 +02:00
Stefan Stammberger
8ce482d6a8
refactor: move main.py file into the "app" package
This is in preparation to adding testing functionalities.

Also applied some formatting and removed unused imports to main.py
2021-10-02 10:01:17 +02:00
Stefan Stammberger
abc8b258ff
fix: BtcLocalAddress.from_rpc method 2021-10-01 22:31:22 +02:00
Stefan Stammberger
599bf36e53
fix: redirect to latest docs 2021-10-01 22:07:09 +02:00
Stefan Stammberger
640418795e
feat: improve naming conventions of APIs 2021-09-26 21:57:55 +02:00
Stefan Stammberger
3c722aa888
chore: update dependencies 2021-09-26 21:34:41 +02:00
fusion44
b5704b5af3
Merge pull request #20 from cstenglein/change_debug_log
change debug script path
2021-09-26 21:29:00 +02:00
Stefan Stammberger
900bfef495
fix: handling of multiple SSE clients
fixes #8
2021-09-26 21:26:39 +02:00
Christoph Stenglein
7ddf166f14
change debug script path 2021-09-26 18:21:38 +02:00
Stefan Stammberger
faaa1fadff
feat: redirect index route to latest api docs
Temporary use forked version of fastapi-versioning with a required fix.
2021-09-26 18:11:32 +02:00
Stefan Stammberger
b141188c1e
Merge branch 'main' of github.com:fusion44/blitz_api into main 2021-09-25 17:59:22 +02:00
Stefan Stammberger
070ac2131c
fix: update wrong PyJWT version
Also: don't silently eat exceptions when decoding a JWT token
2021-09-25 17:58:53 +02:00
fusion44
9d5362cc7b
Create LICENSE 2021-09-23 21:03:34 +02:00
Stefan Stammberger
a4057c4d16
docs: update readme with poetry shell command 2021-09-20 19:44:11 +02:00
Stefan Stammberger
20598b3eee
feat: implement poetry as a build system
This commit enables dependency locking for more secure and
stable development environments.

https://python-poetry.org

closes #6
2021-09-20 19:37:24 +02:00
Stefan Stammberger
ffdfe9fed6
feat: implement decode pay req endpoint
closes #16
2021-09-20 17:00:36 +02:00
Stefan Stammberger
43783549d1
feat: implement get a raw system logs endpoint
Not tested yet on a real Raspiblitz!

refs #18
2021-09-20 11:22:50 +02:00
Stefan Stammberger
9dfd95032a
refactor: move code from lnd impl to repository
This avoids duplicated code with other ln implementations later on.

This also pushes LightningStatus object to the SSE channel
instead of the full LnInfo object.

refs #11
2021-09-07 20:59:23 +02:00
Stefan Stammberger
2fd3381521
fix: temporary unversion SSE channel
The SEE channel currently doesn't work with fastapi-versioned.
2021-09-07 19:52:57 +02:00
Stefan Stammberger
c673394fa8
refactor: system API
refs #11
2021-09-05 20:23:59 +02:00
Stefan Stammberger
79be6eaf34
refactor: lightning API
refs #11
2021-09-05 19:19:53 +02:00
Stefan Stammberger
f482c441cc
chore: format all files using black 2021-09-05 08:56:53 +02:00
Stefan Stammberger
f0b911db1e
refactor: bitcoin API
refs #11
2021-09-04 15:38:17 +02:00
Stefan Stammberger
bd6186861c
fix: include stream in API versioning 2021-08-18 19:05:41 +02:00
Stefan Stammberger
abdf56ccbd
feat: introduce API versioning support
If no version is set to a path then v1 is used by default.

closes #13
2021-08-18 17:48:23 +02:00
Stefan Stammberger
2b03882907
refactor: rename "password_a" to "password" 2021-08-17 18:53:53 +02:00
Stefan Stammberger
7ecf29cef0
feat: enhancements to /system/login
* password_a must now be posted in the request body as a json object
* password is now read from the .env file instead of hardcoded
* password will be checked if it is min 8 chars
* one_time_password is not yet in use and optional
2021-08-17 18:34:05 +02:00
Stefan Stammberger
343d1703dd
chore: auto-format grpc files 2021-08-14 13:47:51 +02:00
Stefan Stammberger
89676b4c17
chore: exclude lnd grpc files from code scanning 2021-08-14 13:08:34 +02:00
fusion44
ee41a2a8e5
Create codacy-analysis.yml 2021-08-13 14:30:13 +02:00
fusion44
2ff4d1efb2
Create codeql-analysis.yml 2021-08-13 14:28:33 +02:00
Stefan Stammberger
0c90450bea
feat: improve how to fetch wallet balances
* /lightning/getbalance now returns onchain funds and channel
balances as one object
* changes to the wallet balance are now pushed through the SSE channel
2021-08-03 21:20:24 +02:00
Stefan Stammberger
d4de6af895
fix: update .env_sample file with ln info interval 2021-08-02 21:02:55 +02:00
Stefan Stammberger
e65c5bfc3f
feat: implement LN info endpoint / SSE messages 2021-08-02 20:30:18 +02:00
Stefan Stammberger
54dd7b77f3
feat: add more data to get bitcoin info response 2021-08-01 10:32:43 +02:00
Stefan Stammberger
464f22ac54
fix: multiple small updates for hw info endpoint
* disk stats where not included when getting hardware info
* update hardware info endpoint response description
* rename disk "partition_usage_bytes" to "partition_total_bytes"
2021-08-01 07:50:24 +02:00
Stefan Stammberger
38c93f6b58
feat: implement sendpayment endpoint for LND 2021-07-27 21:10:25 +02:00
Stefan Stammberger
da5d97a550
feat: watch for invoice changes and push via SSE
Currently only LND is implemented.
2021-07-25 18:15:26 +02:00
Stefan Stammberger
13883d43c3
feat: add a launch configuration for vscode 2021-07-25 17:25:32 +02:00
Stefan Stammberger
c33351d968
refactor: move some config vars to the .env file 2021-07-25 17:24:33 +02:00
Stefan Stammberger
bba02d03e3
feat: create gRPC channel in async mode
Previously any subscriptions blocked the whole app when
listening to events and all other calls are async now too.
2021-07-25 16:52:34 +02:00
Stefan Stammberger
4b75243cde
feat: add lightning AddInvoice endpoint
Though, only LND is implemented at the moment.
2021-07-21 19:38:49 +02:00