Commit Graph

641 Commits

Author SHA1 Message Date
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
Mubarak Muhammad Aminu
e5c81d3848 multiple active keysets and return active keyset with lowest fee (#448) 2024-11-12 13:18:58 +00:00
thesimplekid
4e2c013c79 chore: nut17 import oordering 2024-11-10 12:54:19 +00:00
César D. Rodas
cc5b267367 fix: Send current state of the subscriptions (#444) 2024-11-10 12:08:44 +00:00
Mubarak Muhammad Aminu
2239c22da5 Make delay time in fake wallet configurable (#445) 2024-11-09 20:32:01 +00:00
thesimplekid
0523892b4d fix: add delay to pay mint fake wallet 2024-11-06 15:27:07 +00:00
César D. Rodas
6973e53799 Mint Websockets (NUT-17) (#394)
---------

Co-authored-by: thesimplekid <tsk@thesimplekid.com>
2024-11-06 14:36:13 +00:00
thesimplekid
479b4e78e5 Merge pull request #398 from prusnak/mint-info-urls
NUT-06: add urls field
2024-11-06 10:44:09 +00:00
thesimplekid
9d65b603bc feat: mintd use mint builder 2024-11-06 09:13:22 +00:00
thesimplekid
58864ea52a feat: add mint builder 2024-11-06 08:43:30 +00:00
delcin-raj
c45efe42d2 fix: resolve flakey ci tests
Before minting the quote wait till the status of the quote is paid
2024-11-06 07:56:47 +00:00
Mubarak Muhammad Aminu
0164a8801c chore:change function name to reflect route action (#439)
* chore:change function name to reflect route action

* change mint function name to reflect route action
2024-11-05 21:24:25 +00:00
thesimplekid
3db25640dc feat: support custom unit 2024-11-05 14:21:21 +00:00
thesimplekid
b53fa86a83 chore: comment swagger msrv is not kept 2024-11-04 20:35:39 +00:00
David Caseria
7eb3449710 Abstract HttpClient into HttpClientMethods trait (#429)
* Abstract HttpClientMethods trait
---------

Co-authored-by: ok300 <106775972+ok300@users.noreply.github.com>
2024-11-04 19:14:40 +00:00
thesimplekid
d9fb5f814a feat: allow minting after expiry 2024-10-31 11:16:03 +00:00
thesimplekid
4fdc4f49d2 feat: remove paid field 2024-10-29 11:17:19 +00:00
ok300
20033ce94b Consolidate Wallet::get_proofs variants 2024-10-28 19:40:36 +00:00
ok300
09b5a55239 Keyset ID: fix deserialization edge-case, add unit tests 2024-10-25 19:06:32 +01:00
thesimplekid
58e7226cff fix: rebase issues 2024-10-25 13:41:40 +01:00
thesimplekid
c4abafb617 feat(cdk-cli): decode, send, receice payment request 2024-10-25 13:25:18 +01:00