Commit Graph

661 Commits

Author SHA1 Message Date
C
8fe0982c6d Introduce cashu to host the shared types, traits and other common code (#519)
---------

Co-authored-by: thesimplekid <tsk@thesimplekid.com>
2025-01-12 12:50:05 +00:00
thesimplekid
b4c11c6345 chore: RELEASE mintd v0.6.1 2025-01-10 16:44:43 +00:00
thesimplekid
1ec92e0109 chore: clippy 2025-01-10 16:41:36 +00:00
thesimplekid
e500a7a4a6 feat: work_dir from env 2025-01-10 16:24:44 +00:00
thesimplekid
7b9b430aa1 fix: mpp melt quote msats to pay 2025-01-05 15:15:06 +00:00
thesimplekid
6a8a5a7941 fix: mpp (#523) 2025-01-05 14:42:44 +00:00
David Caseria
d6b7d49ea9 Return proofs for wallet mint function (#520)
* chore: update flake

---------

Co-authored-by: thesimplekid <tsk@thesimplekid.com>
2025-01-03 13:23:52 +00:00
thesimplekid
6575e1477a fix: examples 2024-12-27 21:45:46 -05:00
Jesus Christ
8ab08c7fce Improve wallet example with memory store
- Replaced unwrap() calls with proper error handling using `?` operator.
- Added comments for better code understanding.
- Introduced a timeout mechanism to prevent infinite loops when checking the quote state.
- Ensured the main function returns a Result type for graceful error handling.
- Added descriptive comments to explain the functionality of each section in the code.
2024-12-27 21:19:11 -05:00
Jesus Christ
7fea2ffa92 Update proof-selection.rs
- Replaced unwrap() calls with proper error handling using `?` operator.
- Added comments for better code understanding.
- Managed the subscription mechanism properly to avoid potential issues with concurrent message handling.
- Ensured the main function returns a Result type for graceful error handling.
- Added descriptive comments to explain the functionality of each section in the code.
2024-12-27 21:17:53 -05:00
Jesus Christ
e33def2679 Improve mint-token.rs
- Replaced unwrap() calls with proper error handling using `?` operator.
- Added comments for better code understanding.
- Managed the subscription mechanism properly to avoid potential issues with concurrent message handling.
- Ensured the main function returns a Result type for graceful error handling.
2024-12-27 21:11:17 -05:00
Jesus Christ
a1ac6d3ce1 Improve p2pk.rs
- Replaced unwrap() calls with proper error handling using `?` operator.
- Added comments for better code understanding.
- Managed the subscription mechanism properly to avoid potential issues with concurrent message handling.
- Ensured the main function returns a Result type for graceful error handling.
2024-12-27 21:10:44 -05:00
C
c6e27d0de9 Add ArcSwap to update Mint configuration at runtime (#503)
* Add ArcSwap to update Mint configuration at runtime

The main goal is to change settings without having multiple RwLock everywhere,
instead having ArcSwap to update the configuration without having access to a
mutable reference to the Mint.

This will allow the RPC Server, or any other medium to update the Mint without
minimum contention.

* Rename structs

* Move quote_ttl to the new config

* Fixed clippy issues
2024-12-25 09:53:58 -05:00
thesimplekid
003a8f1b47 feat: signature on mint witness 2024-12-23 10:25:42 -05:00
lollerfirst
8055c0ced1 crawB Binary Token Serialization (#507) 2024-12-19 13:27:05 -05:00
thesimplekid
0e12314643 chore: Release 0.6.0 2024-12-17 08:18:32 -05:00
C
dcca57dbd1 Introduce pluggable backend cache for the HTTP layer. (#495)
---------

Co-authored-by: thesimplekid <tsk@thesimplekid.com>
2024-12-17 07:39:03 -05:00
thesimplekid
89a25a5666 fix: remove print settings 2024-12-14 22:51:33 +00:00
thesimplekid
064c596028 Merge pull request #472 from ok300/ok300-cdk-support-compression
`mintd`: Add support for HTTP compression
2024-12-14 22:50:27 +00:00
ok300
824bce5d37 mintd: add support for HTTP compression 2024-12-14 22:37:06 +00:00
thesimplekid
b9df44b10a chore: update regtest-rs 2024-12-10 14:12:03 +00:00
thesimplekid
c9747900a3 Merge pull request #457 from thesimplekid/redundant_mpp
feat: remove redundant bool mpp flag
2024-12-09 16:32:30 +00:00
thesimplekid
2462168ec9 fix: ws wasm build 2024-12-08 16:34:54 +00:00
Cesar Rodas
760564cee0 Introduce subscription support in the Wallet crate.
The main goal is to add a subscription to CDK Mint updates into the wallet.
This feature will be particularly useful for improving the code whenever loops
hit the mint server to check status changes.

The goal is to add an easy-to-use interface that will hide the fact that we're
connecting to WebSocket and subscribing to events. This will also hide the fact
that the CDK-mint server may not support WebSocket updates.

To be fully backward compatible, the HttpClientMethods traits have a new
method, `subscribe,` which will return an object that implements
`ActiveSubscription.`

In the primary implementation, there is a `SubscriptionClient` that will
attempt to connect through WebSocket and will fall to the HTTP-status pull and
sleep approach (the current approach), but upper stream code will receive
updates as if they come from a stream of updates through WebSocket. This
`SubscriptionClient` struct will also manage reconnections to WebSockets (with
automatic resubscriptions) and all the low-level stuff, providing an
easy-to-use interface and leaving the upper-level code with a nice interface
that is hard to misuse. When `ActiveSubscription` is dropped, it will
automatically unsubscribe.

Fixed bug with Default as described in https://github.com/cashubtc/cdk/pull/473#discussion_r1871032297
2024-12-08 16:25:00 +00:00
ok300
86c4c2dfeb Add support for pure integration tests (#458)
* Embed mint_url as a field of HttpClient

* Create pure integration tests

* DirectMintConnection: convert between String and Uuid
2024-12-08 14:33:58 +00:00
thesimplekid
9cb684e5db feat: docker-compose 2024-12-06 09:59:48 +00:00
thesimplekid
0a6e306209 feat: mintd from enc vars 2024-12-05 14:13:22 +00:00
Darrell
d4975c7170 add docker support for cdk-mintd (#480) 2024-12-05 10:00:50 +00:00
Timothée Delabrouille
7d87c4806c feat: use Uuid as mint and melt quote ids (#469) 2024-12-05 09:58:53 +00:00
thesimplekid
57180ff3c2 feat: nut19 settings 2024-12-04 00:07:16 +00:00
thesimplekid
bc490ed208 fix(wallet): stop sqlite from overwritting keyset counter 2024-12-02 19:38:28 +00:00
thesimplekid
7afd88b40a fix(mintd/nut06): signal support for opt nuts 2024-12-02 17:11:57 +00:00
thesimplekid
7a0a17038d fix(cdk-cli/restore): create wallet if not in multimit wallet 2024-12-02 11:30:22 +00:00
thesimplekid
39e8fc296e fix(cdk-cli): mint use unit from args 2024-12-02 11:25:53 +00:00
César D. Rodas
7d15587e3f Minor improvement cache avoid clone (#479)
Avoid cloning to serialize to JSON; instead, dereference the object, as Serde
needs a reference to the object.
2024-11-30 14:57:12 +00:00
Cesar Rodas
af2fe580f4 Minor improvement in the SQLite crate
This is a minor improvement over the SQLite crate, which performs fewer SQL
statements and fetches multiple results instead.

This will also remove some redundant commit() and rollback calls. Rollback
already happens on drop, and there is no need for a commit if the database
hasn't changed, as the transaction is used as a locking mechanism in this
context.
2024-11-27 08:33:16 +00:00
Tobi Adeyemi
9f54655404 fakewallet values in config (#470)
* chore: add fakewallet defaults to config
2024-11-23 08:56:09 +00:00
thesimplekid
2e01239683 fix: check phd has valid payment id 2024-11-21 14:15:31 +00:00
Cesar Rodas
5dd196d8f5 Improve Http client
Store the HTTP response as string instead of parsing as a json::Value and
cloning it several times.
2024-11-19 23:14:14 +00:00
thesimplekid
8a3cec6e51 chore: update rexie 2024-11-19 10:26:17 +00:00
thesimplekid
d1b03d39c5 chore: update to 0.5.0 2024-11-19 09:55:46 +00:00
thesimplekid
4b06b5c13c chore: strike use released version 2024-11-19 09:34:15 +00:00
thesimplekid
1ee8748ecd chore: phd use released version 2024-11-19 09:33:17 +00:00
thesimplekid
2d378e1d76 chore: lnbits use released version 2024-11-19 09:30:20 +00:00
thesimplekid
4cefe875f1 feat: melt startup check into cdk 2024-11-18 09:18:51 +00:00
thesimplekid
682e0058de feat: mint check into cdk 2024-11-18 09:10:24 +00:00
thesimplekid
6dd023a71c chore: cargo fmt 2024-11-15 19:38:59 +00:00
thesimplekid
84909d9fbc feat: remove redundant bool mpp flag 2024-11-15 16:45:29 +00:00
vnprc
f9d500e9a8 feat: Update Id::try_from to return a u32 and remove redundant logic in nut13::derive_path_from_keyset_id (#452)
* fix: return u32 from existing Id::TryFrom and add lossless u64 versions

* remove TryFrom<u64> for Id and it's inverse

* fix: remove unit test and fix nut13::derive_path_from_keyset_id

* test: derive_path_from_keyset_id

* fix: convert Id::TryFrom to Id::From

* docs: comment calling out From<Id> for u32 as a one-way function
2024-11-15 16:31:51 +00:00
thesimplekid
7f4d00f390 feat: mint keyset gen test 2024-11-14 14:34:31 +00:00