Commit Graph

206 Commits

Author SHA1 Message Date
callebtc
f3cf1c69c4 [Wallet] Bugfix/enable-funding-multiple-mints (#210)
* Fix bug where no additional mints can be funded

As soon as one mint is in the database, the new multimint selector only
considers this mint, even if the `MINT_` environment variables point to
a different one. This commit fixes it by explicitly adding the set mint
URL to the selector.

Additionally did some small cleanups.

* Move mint adding to higher-level function

* bypass selection at first time

* use contextx, more explicit

* remove whitespace

---------

Co-authored-by: xphade <18196286+xphade@users.noreply.github.com>
2023-05-13 19:49:37 +02:00
callebtc
4088ab2876 Wallet REST API (#199)
* Add REST API for Cashu wallet

* Add simple way to start REST API server

* Add simple tests for wallet REST API

* Add TokenV3 to REST API

* Improve tests for wallet REST API

* Make format

* Remove unused import

* Rename nostr module for API

* Unify helper functions for CLI and API

* Make format

* Move error handling from helper functions to API

* Remove 'is_api' flag where possible

* Make format, cleanup, add comments

* Fix typo for burn also in API

* Improve error handling for API

* Add flag 'trust_new_mint' to receive command

To enable trusting or mistrusting unknown mints via API

* Allow selecting mint for sending from API

* Fix: set specific mint via API

* Fix: select mint with maximum balance via CLI

* Use different variables for mint_nr

* Allow selecting mint when sending via nostr via API

* Remove unnessecary 'is_api' flags from 'send_nostr'

* Remove HTTPException from nostr.py

* Allow selecting mint for sending with parameter also via CLI

* Allow trusting unknown mint for receiving also via CLI

* Make format

* Enable trusting unknown mint also when receiving via nostr

* Fix: wrong indentation of in receive function

* Use relative imports for wallet API

* Unify get_mint_wallet for CLI and API

* Unify send command for CLI and API

* Unify receive for CLI and API

* Catch errors in nostr via API

* Remove flag 'is_api' from verify_mints_tokenv2

* Remove cli_helpers left from last merge

* refactor cli selection

* load mint in nostr_send

* cleanup

* add cli_helpers.py

* legacy deserialization in cli

* make format

* clean up api response

* fix tests

* try pk

* verify mints in api

* try github tests

* Fix: verify_mints for API

* Uncomment verify_mints in receive of API

* update README

* Show mint url in pending

* clean up balance response

* fix test

* mint selection in api

* clean up API

* CLI: verify mint for receive -a

* clean up

* Rest -> REST

* Remove unused imports

---------

Co-authored-by: sihamon <sihamon@proton.me>
Co-authored-by: sihamon <126967444+sihamon@users.noreply.github.com>
2023-05-11 23:27:13 +02:00
callebtc
7f524927e2 [Wallet] backwards compat for breaking nut04 change use also payment_hash (#198)
* wallet: backwards compat for breaking nut04 change use also payment_hash

* make format
2023-05-11 12:50:24 +02:00
callebtc
e9f33337db Fix/nut 04 payment hash (#191)
* payment_hash -> hash

* add aes encryption

* urlsafe base64 for free

* move files to crypto

* use random hash instead of encryption

* get rid of useless code

* simplify
2023-05-04 00:12:18 +02:00
calle
321fc733c8 [Mint] Fix key derivation (#187)
* fix private key derivation

* add backwards compatilibity for old keysets

* bump version

* test pubkeys and private keys

* make format

* reset keys for tests

* fix cli tests
2023-05-01 22:43:51 +02:00
calle
89fb2787e6 Python/relative_import (#186)
* relative import all the things

* make format

* add __init__.py to cli/

* fix mypy errors

* get rid of more mypy

* mypy fix crud.py

* fix another mypy error
2023-05-01 22:39:23 +02:00
calle
c9c8c1d12f [Wallet] coinselection of all tokens from old epochs (#164)
* coinselection of all tokens from old epochs

* delete debug prints

* cleaner

* comment
2023-05-01 22:38:43 +02:00
Sebastian Falbesoner
28812919ac fix double "or" typo in burn parameter validation error message (#172) 2023-04-23 13:57:08 +02:00
calle
c3752fb20a load keys of output, not of inputs (#169) 2023-04-17 22:16:43 +02:00
calle
8f2a0d6c72 cleanup and comments (#163) 2023-04-16 15:51:22 +02:00
calle
d42092d62e fix: load mint with most recent keyset (#162) 2023-04-16 15:46:17 +02:00
calle
2ded9c8b5c use tokenObj in burn (#156)
* use tokenObj in burn

* refactor token serialization

* add tests

* rename
2023-04-01 00:46:56 +02:00
sihamon
73f8c277b9 Fix: TypeError in burn token (#152)
* Fix: TypeError in burn token

* Make format
2023-03-31 23:42:51 +02:00
calle
db27105d17 TokenV3 and new Mint startup in tests (#149)
* tokenv3 send and receive
* receive v2 and v1 tokens with tests
2023-03-28 22:35:22 +02:00
sihamon
258de87a9a Fix: Mints are sorted by balance which can suddenly change (#145)
* Sort mints by URL when displaying balances

* Use mint with largest balance as default when spending

* Make format

* Display mint with largest balance in prompt
2023-03-19 15:09:03 +01:00
dyKiU
3952979a56 CLI: error handling invalid nostr client key (#144)
* improve error handling, catch and handle exception around nostr client creation

* add makefile

* apply formatting as per PR feedback

---------

Co-authored-by: callebtc <93376500+callebtc@users.noreply.github.com>
2023-03-16 01:48:34 +01:00
calle
70828b59d5 NUT-08 Lightning fee return (#114)
* skeleton

* works

* comments

* docsctrings ledger.py

* bump version to 0.10.

* fixes mypy stuff

* make format

* remove unwanted changes
2023-03-16 01:28:33 +01:00
sihamon
9ae222740a Add ability to force-delete pending token by send ID (#142)
* Add ability to force-delete pending token by send ID

* Make format
2023-03-16 01:07:30 +01:00
calle
f3a31fd09e use settings module (#136)
* use settings module
2023-03-16 00:59:50 +01:00
calle
2d3a29ad94 make format (#139) 2023-03-08 19:27:01 +01:00
sihamon
4d391382b1 Allow to receive all pending tokens (#132) 2023-03-08 19:10:19 +01:00
sihamon
cd1fddb524 Add ability to show n pending tokens starting from offset (#135) 2023-03-08 19:08:56 +01:00
calle
a2cdd002d8 cli logger refactor, poetry update (#125) 2023-03-05 03:29:55 +01:00
calle
fe802c00fe wallet: fix variable assignments (#124) 2023-03-05 03:16:28 +01:00
calle
a7eef68c97 wallet: load keys without keysets (#123)
* wallet: load keys without keysets

* fix cli
2023-03-05 02:51:20 +01:00
calle
e696e19479 wallet: invalidate proofs without checking with mint (#122) 2023-03-04 22:02:24 +01:00
calle
23f2b58430 wallet: mint specific amounts (#121)
* wallet: mint specific amounts

* make format
2023-03-04 21:49:39 +01:00
calle
2d66aeb79c Fix invoice asyncio wrapper (#113)
* mypy: fix lightning backend warnings

* fix asyncio invoice creation

* ignore weird mypy error
2023-02-25 16:44:51 +01:00
callebtc
a1c3538b50 comments 2023-02-25 14:52:57 +01:00
calle
d1c32e4c69 nostr: send to nip05 (#112)
* nostr: add sleep after send before closing threads

* cli: nostr send <amount> <npub> without option flag

* parse domain.com nip-05 addresses without user
2023-02-25 14:34:15 +01:00
calle
da2d003291 fix manifest (#111) 2023-02-25 13:23:33 +01:00
calle
46eeb2c36e Nostr-p2nip5 (#110)
* move cli

* set_requests decorator

* fix wrapper

* refactor nostr.py

* ignore coroutine unpack error

* nostr lib 0.8

* make format
2023-02-25 12:27:33 +01:00
calle
5ec2c3604e Nostr bech32 dm (#109)
* nostr: bech32 keys and remember last DM check

* cump to 0.9.2

* make format
2023-02-13 23:19:19 +01:00
calle
53aa73b7c7 Fix/multimind_redeem_unused_keysets (#108)
* multmind fix

* bump version

* fix verify_mints
2023-02-03 23:44:05 +01:00
callebtc
75662462b4 update checking message 2023-01-30 21:03:11 +01:00
calle
7e39e1b036 BREAKING: PostMeltRequest, CheckSpendableResponse ` (#106)
* fix PostMeltRequest and /checkfees to GET

* POST /check -> GET /check

* fix GetCheckSpendableResponse

* rename models

* make format

* revert GET

* bump version to 0.9

* skip nostr test
2023-01-30 09:13:46 +01:00
calle
01d9cef407 fix nostr relay and refactor nostr_send and nostr_receive (#100)
* fix nostr relay and refactor nostr_send and nostr_receive

* bump to 0.8.4

* make format

* check test

* close nostr
2023-01-25 01:50:02 +01:00
calle
9acac156a7 Testing/click (#99)
* annotate context

* remove whitespace

* test CLI

* make format

* github action with submodule checkout

* maybe now

* vllt ja nu

* und no?

* back to normal mint running

* githuuuuub

* COME OOOON!

* SO. CLOSE.

* make format

* new test

* fix it

* make format

* receive v1 token test
2023-01-19 14:13:54 +01:00
calle
2dd9fd356f Fix/tokenv2mints (#98)
* adjust tokenv2 and make it backwards compatible

* fix dict to list

* use pydantic object and not the dtoken

* make format

* fix typo in _meltrequest_include_fields

* reorder functions

* fixes and tests working

* bump version to 0.8.3
2023-01-19 08:35:32 +01:00
calle
344210d266 fix versions (#97) 2023-01-15 10:59:17 +01:00
callebtc
9919c141ad update pyproject for lnbits 2023-01-15 01:23:15 +01:00
callebtc
3cbdebf5a5 BlindedMessages is now List[BlindedMessage] (no blinded_messages field) and PostMintRequest (new) is now with outputs field 2023-01-14 21:23:06 +01:00
callebtc
75bbf12679 merge 2023-01-14 20:20:06 +01:00
callebtc
af0984ccde clean 2023-01-14 15:29:09 +01:00
callebtc
c34636e2f3 rename TokenMintJson to TokenMintV2 2023-01-14 15:02:54 +01:00
callebtc
482786dcc5 less balance printing 2023-01-14 14:40:54 +01:00
callebtc
0d3ef4f8b6 rename clihelpers 2023-01-14 14:36:36 +01:00
callebtc
d943e1970c show pending tokens in legacy format 2023-01-14 14:36:21 +01:00
callebtc
7481dae63e make format 2023-01-14 13:46:53 +01:00
callebtc
20b99ee792 bumop to 0.8 2023-01-14 13:46:33 +01:00