Commit Graph

51 Commits

Author SHA1 Message Date
thesimplekid
676463f730 Revert "feat: remove redis cache (#1096)" (#1129)
This reverts commit be7c83689d.
2025-09-26 14:43:34 +01:00
thesimplekid
be7c83689d feat: remove redis cache (#1096)
* feat: remove redis cache

* feat: remove redis cache
2025-09-21 20:04:27 +01:00
asmo
75a3e6d2c7 Prometheus crate (#883)
* feat: introduce `cdk-prometheus` crate with Prometheus server and CDK-specific metrics support
2025-09-09 13:26:03 +01:00
thesimplekid
9ab86fabfe Cdk ldk node (#904)
* feat: add LDK Node Lightning backend with comprehensive integration

- Add new cdk-ldk-node crate implementing Lightning backend using LDK Node
- Extend MintPayment trait with start/stop methods for processor lifecycle management
- Add LDK Node configuration support to cdk-mintd with chain source and gossip options
- Enhance mint startup/shutdown to properly manage payment processor lifecycle

---------

Co-authored-by: Erik <78821053+swedishfrenchpress@users.noreply.github.com>
2025-08-25 22:06:00 +01:00
thesimplekid
4e13c1958f feat: mintd db features 2025-08-21 16:20:30 +01:00
gudnuf
a4aaef705e fix: pass auth cfg through mintd to axum (#986) 2025-08-21 09:55:32 +01:00
thesimplekid
761ed82554 feat: log to file (#967) 2025-08-19 14:57:14 +01:00
C
28a01398fd Add PostgreSQL support for mint and wallet (#878)
* Add PostgreSQL support for mint and wallet

* Fixed bug to avoid empty calls `get_proofs_states`

* Fixed SQL bug

* Avoid redudant clone()

* Add more tests for the storage layer

* Minor enhacements

* Add a generic function to execute db operations

This function would log slow operations and log errors

* Provision a postgres db for tests

* Update deps for msrv

* Add postgres to pipeline

* feat: add psgl to example and docker

* feat: db url fmt

---------

Co-authored-by: thesimplekid <tsk@thesimplekid.com>
2025-08-18 17:45:11 +01:00
thesimplekid
d99f228acf chore: remove unused redb 2025-07-06 11:30:59 +01:00
thesimplekid
f62992238a refactor: remove redb mint database 2025-06-21 10:32:26 +01:00
C
ade48cd8a9 Introduce a SignatoryManager service. (#509)
* WIP: Introduce a SignatoryManager service.

The SignatoryManager manager provides an API to interact with keysets, private
keys, and all key-related operations, offering segregation between the mint and
the most sensible part of the mind: the private keys.

Although the default signatory runs in memory, it is completely isolated from
the rest of the system and can only be communicated through the interface
offered by the signatory manager. Only messages can be sent from the mintd to
the Signatory trait through the Signatory Manager.

This pull request sets the foundation for eventually being able to run the
Signatory and all the key-related operations in a separate service, possibly in
a foreign service, to offload risks, as described in #476.

The Signatory manager is concurrent and deferred any mechanism needed to handle
concurrency to the Signatory trait.

* Fixed missing default feature for signatory

* Do not read keys from the DB

* Removed KeysDatabase Trait from MintDatabase

All Keys operations should be done through the signatory

* Make sure signatory has all the keys in memory

Drop also foreign constraints on sqlite

* Fix race condition

* Adding debug info to failing test

* Add `sleep` in test

* Fixed issue with active auth keyset

* Fixed dependency

* Move all keys and keysets to an ArcSwap.

Since the keys and keysets exist in RAM, most wrapping functions are infallible
and synchronous, improving performance and adding breaking API changes.

The signatory will provide this information on the boot and update when the
`rotate_keyset` is executed.

Todo: Implement a subscription key to reload the keys when the GRPC server
changes the keys. For the embedded mode, that makes no sense since there is a
single way to rotate keys, and that bit is already covered.

* Implementing https://github.com/cashubtc/nuts/pull/250

* Add CLI for cdk-signatory to spawn an external signatory

Add to the pipeline the external signatory

* Update tests

* Apply suggestions from code review

Co-authored-by: ok300 <106775972+ok300@users.noreply.github.com>
Co-authored-by: thesimplekid <tsk@thesimplekid.com>

* Minor change

* Update proto buf to use the newest format

* Rename binary

* Add instrumentations

* Add more comments

* Use a single database for the signatory

Store all keys, even auth keys, in a single database. Leave the MintAuthDatabse
trait implementation for the CDK but not the signagtory

This commit also moves the cli mod to its own file

* Update dep

* Add `test_mint_keyset_gen` test

---------

Co-authored-by: ok300 <106775972+ok300@users.noreply.github.com>
Co-authored-by: thesimplekid <tsk@thesimplekid.com>
2025-05-28 11:43:30 -04:00
thesimplekid
abf10da330 chore: update deps (#761) 2025-05-20 10:27:52 +01:00
luozexuan
02fd849870 chore: fix some typos in comment
Signed-off-by: luozexuan <fetchcode@139.com>
2025-04-02 18:29:18 +08:00
thesimplekid
7b4951041e Rust docs (#681) 2025-03-25 23:27:38 +00:00
thesimplekid
c63fc02a5a Prepare v0.8.0 (#672)
* chore: Bump cdk dependency to v0.8.0

* chore: add docker publish to ci

* chore: add doc test build to ci
2025-03-24 18:40:08 +00:00
thesimplekid
be93ff2384 Clear and Blind Auth (#510)
* feat: auth

* chore: corret error codes

* chore: corret error codes

* fix: feature auth in cdk-axum

* refactor: auth logging

* feat: include dleq in auth proof

* feat: mint max auth proofs

* chore: clippy
2025-03-24 11:13:22 +00:00
thesimplekid
27636c86b7 chore: zip version (#668)
* chore: zip version
2025-03-23 21:18:02 +00:00
thesimplekid
162507c492 feat: payment processor 2025-03-10 14:44:57 +00:00
benthecarman
40c53e83df feat: Add support for sqlcipher 2025-03-09 15:08:43 -05:00
thesimplekid
b787951dbc feat: Add feature gates for CLN, LND, fakewallet and LNbits backends (#638)
* feat: Add feature gates for CLN, LND, fakewallet and LNbits backends
2025-03-09 14:18:19 +00:00
thesimplekid
f5be0ceeb6 chore: remove phd 2025-03-05 11:04:05 +00:00
thesimplekid
e84d6ea7ab chore: Update rust-version (MSRV) to 1.75.0 (#623) 2025-03-05 10:32:41 +00:00
thesimplekid
827e4aebde Refactor mintd used in itest (#616) 2025-02-25 11:47:17 +00:00
thesimplekid
e1458b07a8 chore: cdk-mintd v0.7.2 2025-02-13 11:50:07 +00:00
thesimplekid
7b7def17ee chore: release v0.7.1 2025-02-13 10:44:09 +00:00
thesimplekid
3a4c363309 feat: debug print to hide seed and print version 2025-02-09 11:16:33 +00:00
thesimplekid
be5e5d2371 chore: prepare v0.7.0 2025-02-06 13:12:16 +00:00
thesimplekid
47ee54d7f5 feat: mint management rpc server and client cli 2025-02-06 12:05:13 +00:00
thesimplekid
f495a2cf04 chore: release mintd:v0.6.2,cdk:0.6.1 2025-02-04 17:22:04 +00:00
ok300
fe223c4ce6 Remove dependency on rand 2025-01-24 16:46:59 +01:00
thesimplekid
b4c11c6345 chore: RELEASE mintd v0.6.1 2025-01-10 16:44:43 +00: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
ok300
824bce5d37 mintd: add support for HTTP compression 2024-12-14 22:37:06 +00:00
thesimplekid
d1b03d39c5 chore: update to 0.5.0 2024-11-19 09:55:46 +00:00
Mubarak Muhammad Aminu
2239c22da5 Make delay time in fake wallet configurable (#445) 2024-11-09 20:32:01 +00:00
ok300
dffc30233c mintd: add utoipa swagger UI 2024-10-22 08:32:56 +02:00
Pavol Rusnak
1021ec5299 chore: bump bitcoin + lightning-invoice deps 2024-09-09 12:09:46 +01:00
thesimplekid
3bf1a3b28f chore: version cdk in other crates 2024-09-08 22:12:06 +01:00
thesimplekid
f7e4ea3a6c Release 0.4.0 2024-09-08 21:48:51 +01:00
thesimplekid
1eb14703a5 refactor: cdk MSRV 2024-09-03 12:35:35 +01:00
thesimplekid
029f922326 feat: lnd ln backend 2024-08-31 16:04:06 +01:00
thesimplekid
cc5efd9887 feat: phoenixd ln backend 2024-08-29 11:16:45 +01:00
thesimplekid
5e5345074d feat: lnbits ln backend
fix: check webhook url is valid
2024-08-29 08:33:05 +01:00
thesimplekid
e4069c0243 chore: use workspace version 2024-08-08 10:11:31 -04:00
thesimplekid
c36eb3caa2 refactor: clean up workspace deps 2024-07-27 08:33:10 -04:00
thesimplekid
bc9fad9e0e feat: strike api for mint backend
feat: Use mint melt settings
2024-07-22 16:16:05 +01:00
thesimplekid
e0efd316d1 feat: Mint fake wallet ln backend 2024-07-16 17:01:56 +01:00
thesimplekid
230a082e52 chore: Cargo metadata 2024-07-11 21:37:58 +01:00
thesimplekid
17263b07f5 feat(NUT02): add input_fee_ppk
chore: instrument log on mint fns
2024-07-11 12:22:20 +01:00