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
574358a118
fix: lnurlpay comment was being parsed as number.
2021-03-26 21:10:15 -03:00
fiatjaf
85011d23c3
fix sqlite database locked issues by using an async lock on the database and requiring explicit transaction control (or each command will be its own transaction).
2021-03-26 19:10:30 -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
aabe3364f4
only check pending from the last 15 days.
2021-03-24 01:41:19 -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
7e4a42e7ff
stop doing the check_invoices thing on each call. do it once on lnbits starup and then rely on the invoices listener.
2021-03-21 17:57:33 -03:00
fiatjaf
f27c2ebc21
marginally improve the checkpending situation.
2021-03-21 17:11:00 -03:00
fiatjaf
8df4dd702d
Merge pull request #154 from lnbits/offlineshop
2021-03-14 21:55:52 -03:00
fiatjaf
1630a28da0
prettier and black stuff.
2021-03-07 19:18:02 -03:00
fiatjaf
63ae553565
QR codes, printing, success-action and other fixes.
2021-03-07 16:13:20 -03:00
fiatjaf
732d06c1e5
basic offlineshop functionality.
2021-03-07 00:08:36 -03:00
fiatjaf
ec193ca697
put export-with-qr-code on a toggleable section.
2021-02-13 21:45:22 -03:00
fiatjaf
ea51af90d0
remove "Renew Keys" button.
...
it wasn't doing anything.
closes https://github.com/lnbits/lnbits/issues/147
2021-02-13 21:45:22 -03:00
Pac
378e408dca
Update wallet.html
2021-02-13 21:45:22 -03:00
Pac
e251291076
Display QRcode for easy wallet export
...
This adds a QRcode of the "url_root/wallet?usr=#####&wal=####" so that
the user can create a wallet on desktop and easily use it on his phone.
Also, in a use case where the <User Manager> extension is used, the
manager can create a wallet and show the QRcode for the user to take it
(e.g. in a hotel front desk the clerk creates it and the user takes it
in his phone browser, to pay for laundry, massage, soda machine...)
2021-02-13 21:45:22 -03:00
fiatjaf
9c126696fc
delete pending payments after WALLET.pay_invoice fails.
...
fixes https://github.com/lnbits/lnbits/issues/138
2021-01-05 22:29:02 -03:00
fiatjaf
45148d285e
Revert "Fixed fee deduction "
...
This reverts commit 14b6e21a02
.
2021-01-05 19:49:27 -03:00
Arc
e96c92e6df
Merge pull request #135 from grmkris/extensions/subdomains
...
subdomains extension
2021-01-05 22:35:06 +00:00
benarc
14b6e21a02
Fixed fee deduction
2021-01-05 21:54:58 +00:00
Kristjan
c082c953f3
black formatting
2020-12-31 18:50:16 +01:00
fiatjaf
1c922a5ddc
finish webhooks for normal invoices with two extra columns.
2020-12-24 09:39:46 -03:00
fiatjaf
4623220316
specify webhooks from invoice creation and call them.
2020-12-24 09:39:46 -03:00
fiatjaf
d84915cb00
oops: formatting.
2020-11-21 23:23:11 -03:00
fiatjaf
d3fc52cd49
migrate to sqlalchemy-aio.
...
a big refactor that:
- fixes some issues that might have happened (or not) with asynchronous
reactions to payments;
- paves the way to https://github.com/lnbits/lnbits/issues/121 ;
- uses more async/await notation which just looks nice; and
- makes it simple(r?) for one extension to modify stuff from other extensions.
2020-11-21 23:02:14 -03:00
fiatjaf
594e28eab7
formatting.
2020-11-18 22:26:30 -03:00
fiatjaf
a198842f50
wallet name on <title>
2020-11-12 15:32:41 -03:00
fiatjaf
54881d777e
lnurl-auth: show wallet name on modal.
2020-11-11 22:43:01 -03:00
fiatjaf
b7e337b0ee
lnurl-auth: show the correct wallet linking_key on modal.
2020-11-11 22:42:40 -03:00
fiatjaf
b794f8302d
lnurl-auth: hashing_key -> linking_key.
2020-11-11 22:37:55 -03:00
fiatjaf
805000cd06
fix ecdsa signing because these libraries are too naïve.
2020-11-11 02:41:41 -03:00
fiatjaf
bb94dc6526
fix perform_lnurl error handling.
2020-11-11 02:40:41 -03:00
fiatjaf
d4e30356c7
fix: return "message" instead of "error" so it is handled better at the client.
2020-11-10 22:59:50 -03:00
fiatjaf
eaec3480e6
lnurl-auth from lnbits wallets to services.
2020-11-10 11:36:10 -03:00
fiatjaf
2552fd8fc9
internal payments get reported on async listeners.
2020-10-22 15:36:37 -03:00
fiatjaf
a773584f6f
tags and extras metadata in payment details dialog.
2020-10-21 09:50:45 -03:00
fiatjaf
85ec111ff0
return proper error codes on /lnurlscan
...
so the notification works.
2020-10-20 23:19:23 -03:00
fiatjaf
52619ecc0f
improve querystring handling on lnurl fallback scheme.
2020-10-18 13:33:05 -03:00
fiatjaf
32d75f7a60
support the lnurl fallback scheme.
...
completing https://github.com/lnbits/lnbits/issues/63
2020-10-17 15:24:10 -03:00
fiatjaf
435f5405c6
minor prettier change.
2020-10-16 14:45:28 -03:00
fiatjaf
9cb58833ad
make httpx calls async when doing them from view functions.
...
this is important so lnbits can call itself without hanging forever.
and these functions are already async so it should have been this way since ever.
2020-10-15 13:04:56 -03:00
fiatjaf
c81e61e4fe
guards and safety timeouts around paymentChecker intervals.
2020-10-15 12:32:28 -03:00
fiatjaf
bdbb58b2b0
wrap memo columns in payments table.
2020-10-15 00:59:00 -03:00
fiatjaf
be7d36214a
use payments/sse on the core wallet UI.
...
still fallback to the invoice polling (now with a 5 seconds interval
because less than that is too annoying).
this fixes issues with /lnurlwallet invoices not getting paid in time,
so we update the UI automatically when they do get paid.
(see https://t.me/lnbits/7069 )
2020-10-15 00:18:57 -03:00
fiatjaf
d528d4e09e
fix: wallet layout.
2020-10-14 23:13:55 -03:00
fiatjaf
ec4b558638
fix: domain variable assignment in pay_lnurl.
2020-10-14 22:44:23 -03:00
fiatjaf
e1501e8ed6
fix bug with lnurl-withdraw dialog being skipped directly to the previous invoice shown.
2020-10-13 15:20:58 -03:00
fiatjaf
1529ebb689
lnurlpay comment.
2020-10-13 15:18:34 -03:00
fiatjaf
bcdc065cc0
mypy fixes.
2020-10-13 14:46:23 -03:00
fiatjaf
cf0bd7ece8
displaying lnurlpay success_actions.
2020-10-13 13:57:26 -03:00
fiatjaf
8d135489ab
fix: invoice parsing JS bug from the lnurl implementation.
2020-10-12 23:21:45 -03:00
fiatjaf
69063190ab
also catch httpx.ConnectError whenever we do catch httpx.RequestError.
2020-10-12 23:21:45 -03:00
fiatjaf
bc2207ba27
actually paying and withdrawing with lnurl.
2020-10-12 23:21:45 -03:00
fiatjaf
3cd15c40fc
lnurl-pay and lnurl-withdraw UI.
2020-10-12 23:21:45 -03:00
fiatjaf
7a5159f293
send/create/scan buttons for clear LNURL support.
2020-10-12 23:21:45 -03:00
Arc
fa8713de17
move scan to outside of receive.
2020-10-12 23:21:45 -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
2894944b1e
pending=False on /sse payments.
2020-10-09 22:05:39 -03:00
fiatjaf
31820e041c
/sse returns payment as objects instead of arrays.
2020-10-09 21:08:01 -03:00
fiatjaf
9185342c72
simplify environment variables required.
...
instead of multiple keys/macaroons with different permissions we request only one.
if someone wants to use lnbits with an invoice macaroon they're free to do it and
we will just fail on 'pay' methods, as before.
this also grandfathers the previous environment variables names so everything keeps
working without people having to change their setups.
in the meantime some bugs with lntxbot and c-lightning were fixed and the `requests`
dependency was eliminated because I can't organize myself into meaningful chunks of
changes.
2020-10-08 16:03:21 -03:00
fiatjaf
0b1f3c22e0
lndhub: fix "token" -> "refresh_token".
2020-10-06 21:53:43 -03:00
fiatjaf
c5352c0309
register channel listeners instead of callbacks.
...
makes for a little less black magic and more reasonable use of nurseries
and less unnecessary pseudo-requests.
2020-10-06 01:50:56 -03:00
fiatjaf
95e8573ff8
SSE endpoint for paid invoices.
...
also move very essential stuff from core/tasks.py to tasks.py so things
are more organized.
2020-10-06 00:40:18 -03:00
fiatjaf
16541d40c6
show more data in txinfo modal and fee on main table.
...
- also center-align icons in main table.
- and use "x time ago" instead of raw dates by default in main table
(raw date is accessible on a tooltip, on the modal and on the CSV export).
2020-10-05 22:38:06 -03:00
fiatjaf
5ead82f57c
fix /lnurlwallet again. db.commit() and wait 3 seconds.
...
should finally fix https://github.com/lnbits/lnbits/issues/103
2020-10-05 20:33:01 -03:00
fiatjaf
9994e61615
migrate to trio so c-lightning sockets stop hanging.
2020-10-04 12:06:20 -03:00
fiatjaf
90c640b659
fix async so now it is a mess that works.
2020-10-04 12:05:01 -03:00
fiatjaf
28e6f40bea
async fixes on _invoice_listener.
2020-10-04 12:05:01 -03:00
fiatjaf
2c92205703
async invoice listeners through webhooks: lnpay and opennode.
2020-10-04 12:04:49 -03:00
fiatjaf
74117ffc57
lnurlp webhooks.
2020-10-04 12:04:49 -03:00
fiatjaf
04222f1f01
basic invoice listeners.
2020-10-04 12:04:47 -03:00
fiatjaf
88b8826bfd
fix balance calculation vue glitch.
2020-09-29 20:04:02 -03:00
fiatjaf
211ac0391b
overengineered async fix for /lnurlwallet internal hanging.
2020-09-29 18:24:08 -03:00
fiatjaf
e0b8470d40
show unpaid invoices, balance calculated on server-side so isn't affected.
2020-09-29 15:43:11 -03:00
fiatjaf
39cd96594e
pass appropriate parameters to create_payment on lnurlwallet.
2020-09-24 13:09:02 -03:00
fiatjaf
75047c5bc3
fix static extensions js url.
2020-09-16 20:21:42 -03:00
fiatjaf
f01028eac7
migrate from flask to quart.
...
also remove all flaskiness from static file serving.
and reference all vendored scripts on the base tempĺate for simplicity.
2020-09-14 16:03:25 -03:00
fiatjaf
e6ad42dbe1
update prettier to 2.1.1
2020-09-14 09:14:51 -03:00
fiatjaf
6210305791
checking pending invoices and payments from lndhub interface.
2020-09-12 21:55:13 -03:00
fiatjaf
5ac91ee2cf
db commits at the right places when sending payments.
...
fixing vulnerabilities introduced in https://github.com/lnbits/lnbits/pull/90
2020-09-11 21:25:44 -03:00
fiatjaf
4855e2cd3d
make every request a database transaction.
2020-09-11 14:17:09 -03:00
fiatjaf
487f082eb2
take extra care on check_internal()
2020-09-11 14:17:09 -03:00
fiatjaf
130beaf38a
fix undeclared ok error.
2020-09-06 23:39:46 -03:00
fiatjaf
ab6229806c
fix: column is called hash, not payment_hash.
2020-09-06 22:15:29 -03:00
Eneko Illarramendi
1bc5e144d3
refactor: clean up __init__ file following some Flask conventions
...
Flask extensions are loaded in a way that makes them easily reusable by blueprints.
In this commit we are also adding `environs` to manage .env and settings:
breaking changes!
- FLASK_APP=lnbits.app
- LNBITS_ALLOWED_USERS needs to be empty now to allow all users (NOT "all")
2020-09-06 21:06:01 -03:00
fiatjaf
c965bca41d
migration tracking.
2020-09-04 21:33:30 -03:00
Eneko Illarramendi
f238b3d1ef
fix: TypedDict import
2020-09-04 21:24:30 +02:00
Eneko Illarramendi
23cfe0d417
chore: update github workflows
2020-09-03 23:10:41 +02:00
fiatjaf
dc3d96c6a8
fix many mypy complaints, specially on bolt11.py
2020-09-02 22:21:56 -03:00
fiatjaf
ce28db76c9
add a dialog with payment details for each payment.
...
for outgoing payments this needs a preimage to be good,
but we don't have it yet because we don't get it from
backends.
2020-09-02 19:19:19 -03:00
fiatjaf
197af922d0
use {"tag": ext} for extension-related payments.
2020-09-02 12:44:54 -03:00
fiatjaf
4447a48724
deleting expired invoices based on their actual expiry date.
...
also fixes a possible bug that could have caused pending outgoing
payments to be deleted and affecting the balance. probably never happened.
2020-09-02 11:10:48 -03:00
fiatjaf
d2650d6e2c
don't try to check payments that start with temp_ or internal_.
2020-09-02 11:10:48 -03:00
fiatjaf
bf3c44b3c4
extra fields on apipayments + index payments by payment_hash
2020-09-02 11:10:48 -03:00
arcbtc
c96b22664e
internal payments.
2020-09-02 11:10:48 -03:00
fiatjaf
b4a6b45645
only check pending payments on "check_pending".
2020-08-31 22:55:19 -03:00
fiatjaf
fadddc995a
get_wallet_payments with more fine-grained, explicit filters.
2020-08-31 22:16:19 -03:00
fiatjaf
d09e624eb6
fix: wallet.balance computed property self-reference.
2020-08-31 16:19:27 -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
660d56d400
run black on everything.
2020-08-30 23:19:43 -03:00
fiatjaf
79d5befe0c
mypy on Makefile and apply prettier.
2020-08-29 14:10:26 -03:00
fiatjaf
24dc6e5415
fix validation rules so description_hash works.
2020-07-04 22:28:08 -03:00
fiatjaf
bc27293315
support description_hash across all APIs.
2020-07-03 20:04:04 -03:00
Dennis Reimann
c3281399d2
Improve setup instructions and README
...
- README cleanups and link to documentation
- Improve dev setup instructions
- Fix js linting errors
- Move local setup instructions to installation docs
- Project link fix, closes #42
- Notes about frontend
- Clarify different LND backends
2020-06-12 20:58:37 +02:00
Eneko Illarramendi
aed2414f3a
fix: show better errors when a LNURL-withdraw wallet cannot be created, closes #39
2020-05-18 06:33:02 +02:00
Eneko Illarramendi
8add56a24c
feat: allow limiting the use of LNbits to some user uuids
...
The `LNBITS_ALLOWED_USERS` env var can be used to limit access
to the application to some uuids only. "all" gives open access.
UUIDs should be comma separated.
2020-05-09 22:30:33 +02:00
Arc
6f4cac0c41
Update index.html
2020-05-08 22:19:43 +01:00
Eneko Illarramendi
42d307adf9
Merge pull request #38 from fiatjaf/adminkey-to-inkey
...
allow inkey endpoints to be accessed with adminkeys.
2020-05-05 11:09:02 +02:00
fiatjaf
c3ce18c8d9
allow inkey endpoints to be accessed with adminkeys.
2020-05-05 05:46:05 -03:00
Eneko Illarramendi
a61d346669
chore: update js vendors
2020-05-04 15:33:39 +02:00
fiatjaf
4730500ed7
apply prettier to everything.
2020-05-03 13:55:17 -03:00
Eneko Illarramendi
083f7a0a8d
chore: use standard library's HTTP status codes
2020-05-03 15:57:05 +02:00
Robert Habermann
0847a1c933
add lightning scheme check
2020-04-27 23:13:42 +02:00
Eneko Illarramendi
c3e337a319
fix: mypy errors
2020-04-26 16:58:29 +02:00
Eneko Illarramendi
efd2cb7170
fix: use a fee reserve and actual wallet fees
2020-04-24 22:45:09 +02:00
Eneko Illarramendi
97f4fabea1
fix: create temporal payments to keep balance updated
2020-04-24 14:56:10 +02:00
Eneko Illarramendi
897644956a
feat: only dhow disclaimer if SERVICE_FEE has been set
2020-04-23 21:25:55 +02:00
Eneko Illarramendi
e461e34fc0
feat(vue): move confirmDialog to LNbits.utils so we can reuse the styling
2020-04-23 07:32:45 +02:00
Eneko Illarramendi
1978cafe44
chore: update supporter logos
2020-04-23 07:23:45 +02:00
Arc
cd22aaded9
Update index.html
2020-04-22 20:55:51 +01:00
Eneko Illarramendi
498eceeb46
feat: use dynamic root in api docs
2020-04-22 21:49:31 +02:00
Eneko Illarramendi
b1da103080
chore: minor tweaks
2020-04-21 23:47:21 +02:00
Eneko Illarramendi
fd4dc6c48f
chore: remove pending macaroon mentions
2020-04-21 23:22:01 +02:00
Eneko Illarramendi
f12f52db2d
fix: homepage bug
2020-04-21 23:17:11 +02:00
Eneko Illarramendi
efb9deb028
feat: remove FEE_RESERVE
2020-04-21 23:17:11 +02:00
Eneko Illarramendi
5806beaeb7
feat(core): move disclaimer to wallet page
2020-04-21 23:15:50 +02:00
Eneko Illarramendi
efbba20872
style: minor tweaks
2020-04-21 23:13:37 +02:00
Eneko Illarramendi
93e51a7398
fix: wallet button
2020-04-21 23:13:37 +02:00
Eneko Illarramendi
364b6dc857
fix(vue): use @submit to send forms, and catch users pressing return
2020-04-21 08:16:56 +02:00
Arc
409122271a
Update index.html
2020-04-20 15:29:01 +01:00
Arc
07b4d52432
Update index.html
2020-04-20 15:27:46 +01:00
Arc
ae778c19a1
Update index.js
2020-04-20 15:27:02 +01:00
Arc
65c17488e3
Update index.html
2020-04-20 14:19:38 +01:00
Arc
ca08dc2302
Update index.html
2020-04-20 13:48:46 +01:00
Eneko Illarramendi
57c26ed2bb
chore: outline some buttons
2020-04-18 23:17:16 +02:00
Eneko Illarramendi
d4c9043278
feat(core): delete expired payments
2020-04-17 21:13:57 +02:00
Eneko Illarramendi
d03e472cc2
feat(core): add search to payments table
2020-04-17 21:13:32 +02:00
Eneko Illarramendi
fd4dddda6e
chore: rename api-key-macaroon
2020-04-16 20:58:16 +02:00
Eneko Illarramendi
dd23b20090
chore: various tweaks
2020-04-16 20:58:16 +02:00
Eneko Illarramendi
490e166f75
refactor: improve database migrations
2020-04-16 20:58:16 +02:00
Arc
6651122bb6
Update _api_docs.html
2020-04-16 12:04:17 +01:00
Eneko Illarramendi
af5269e239
refactor: add core.utils for creating and paying invoices
...
This methods can be used by extensions too.
2020-04-11 23:15:24 +02:00
Eneko Illarramendi
4397a6cab3
feat: use cerberus
schemas to validate POST data
2020-04-11 20:16:54 +02:00
Eneko Illarramendi
fb7dfb3a32
chore: minor fixes
2020-04-05 12:19:25 +02:00
Arc
089793a486
Update wallet.js
2020-04-04 23:38:52 +01:00
Arc
c866d0572e
Added top margin to modals
2020-04-04 22:53:28 +01:00
Eneko Illarramendi
a81de95f73
chore(vue): use g
for consistency with Flask
2020-04-03 22:38:50 +02:00
Arc
46c11f3946
Update wallet.html
2020-04-03 13:16:23 +01:00
Arc
8fe9864e43
Update wallet.html
...
Changed value to amount, added a curl example
2020-04-03 12:57:36 +01:00
Eneko Illarramendi
649cc888ab
refactor: /wallet
tweaks
2020-04-01 22:18:46 +02:00
Eneko Illarramendi
d03785558b
refactor: a wallet is a wallet is a wallet
2020-03-31 19:05:25 +02:00
Eneko Illarramendi
75d97ddfc1
refactor: camera ready
2020-03-10 23:12:22 +01:00
Eneko Illarramendi
49addb8d56
refactor: breaking bad
2020-03-08 23:00:41 +01:00
Eneko Illarramendi
d862b16ee6
refactor: "payments" is the name, and API updates
2020-03-07 22:27:00 +01:00
Eneko Illarramendi
9382381144
chore: initial version of tx chart
2020-03-05 23:01:37 +01:00
Eneko Illarramendi
f98a5040ac
refactor: decorators, models and more broken bits
2020-03-04 23:11:15 +01:00
Eneko Illarramendi
9e90aabead
refactor: use Flask Blueprints to organize extensions
...
- extensions are now blueprints: keep views, templastes and statics in the same folder
- increase app security using `flask-talisman`
- whenever possible use {{ url_for }} for links between pages
- remove references to non-existing JavaScript code
- add missing favicon.ico
2020-01-31 21:07:05 +01:00