Commit Graph

95 Commits

Author SHA1 Message Date
thesimplekid
56ff5c3f19 chore: bump v0.11 2025-06-29 13:55:59 +01:00
thesimplekid
e016687d20 feat: remove fedimint tonic lnd (#831)
* feat: remove fedimint tonic lnd
2025-06-23 10:59:44 +01:00
thesimplekid
9e8f5a1e7d chore: bump v0.10.0 2025-06-07 20:09:15 +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
thesimplekid
fc2b0b3ea2 chore: bump version to 0.9.2 (#760)
* chore: bump version to 0.9.2

* chore: update changelog
2025-05-18 12:46:48 +01:00
thesimplekid (aider)
d8dad5dc7c chore: bump CDK version from 0.9.0 to 0.9.1 2025-04-23 18:54:05 +01:00
thesimplekid
96179b7d14 chore: Bump CDK crates version from 0.8.1 to 0.9.0 2025-04-09 15:33:01 +01:00
thesimplekid
7b4951041e Rust docs (#681) 2025-03-25 23:27:38 +00:00
thesimplekid
f6c11173f9 chore: prepare v0.8.1 2025-03-25 09:28:57 +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
162507c492 feat: payment processor 2025-03-10 14:44:57 +00:00
thesimplekid (aider)
d41d3a7c94 refactor: Add state check before deleting proofs to prevent removing spent proofs 2025-03-06 09:23:40 +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
0e12314643 chore: Release 0.6.0 2024-12-17 08:18:32 -05:00
thesimplekid
a0dca228b9 nix mintd pkg (#486) 2024-12-05 10:01:32 +00:00
thesimplekid
c8f82b29d0 chore: remove bindings from cdk repo 2024-11-19 14:57:53 +00:00
lollerfirst
c25bf79e8c Cache SwapResponse, MeltBolt11Response and MintBolt11Response (#361)
* added cache to mint state and post request wrapper macro.
---------

Co-authored-by: thesimplekid <tsk@thesimplekid.com>
2024-10-05 11:18:23 +02: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
e8114f3383 feat(tests): integration test 2024-08-19 00:01:30 +02:00
thesimplekid
e4069c0243 chore: use workspace version 2024-08-08 10:11:31 -04:00
David Caseria
0945b3540a Add proxy support (#272)
* Add proxy support
2024-08-07 08:53:05 -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
27568c247b release: 0.2.0 2024-07-11 21:24: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
thesimplekid
6a315fc3b9 feat: mintd axum server
feat: deafult NUT-04 and NUT-05 settings to enable bolt11 sats
2024-07-05 23:49:31 +01:00
thesimplekid
16aeec92c7 feat: cln lightning 2024-07-05 23:49:31 +01:00
David Caseria
22e7c41491 feat(wallet): token v4
feat(wallet): receive is single mint and unit
2024-07-01 18:09:29 +01:00
thesimplekid
9a4c201762 chore: add version to workspace deps 2024-06-29 12:25:57 +01:00
thesimplekid
e8c954921f chore: update deps 2024-06-27 21:23:58 +01:00
thesimplekid
53329997bb refactor: remove mnemonic from cdk 2024-06-18 12:45:51 +01:00
thesimplekid
5ebdd4f506 feat: cdk-cli 2024-06-09 00:04:20 +01:00
thesimplekid
bbc63306db feat: mint sqlite 2024-06-08 10:34:39 +01:00
thesimplekid
535802aa14 feat(example): mint-token example 2024-06-06 22:48:36 +01:00
David Caseria
b9234817db Refactor wallet to accept seed for internal Xpriv 2024-05-14 13:58:25 -04:00
thesimplekid
8fbd778e58 chore(bindings): remove uniffi bindings 2024-05-10 11:27:32 +01:00
thesimplekid
7c9b61aab6 chore: use workspace deps 2024-05-10 11:27:32 +01:00
thesimplekid
7ea7e0bda0 feat: js bindings 2024-05-10 11:27:32 +01:00
thesimplekid
7e1d97e545 feat: indexddb db 2024-05-10 11:27:32 +01:00
thesimplekid
27e70aa921 refactor(cdk-redb): abstract error 2024-04-18 15:53:08 +01:00
thesimplekid
2eca18007d refactor: mint redb database 2024-04-18 15:52:37 +01:00
thesimplekid
06373beff4 refactor: cdk_database 2024-04-18 15:47:40 +01:00
thesimplekid
c8d28dea9a chore: correct repo url 2024-04-15 16:07:51 +01:00