Commit Graph

1268 Commits

Author SHA1 Message Date
thesimplekid
4e7d45bb98 chore: update changelog v0.9.3 2025-06-07 16:16:37 +01:00
C
83a919ccd6 Merge pull request #793 from crodas/feature/wallet-swap-before-melt
Perform a swap before melting by default.
2025-06-07 15:21:19 +01:00
thesimplekid
9a62777883 Merge pull request #794 from thesimplekid/mint_info_seq
fix: handle old nut15 spec
2025-06-07 10:42:01 +01:00
thesimplekid
9c3a64b029 fix: handle old nut15 spec 2025-06-06 23:36:45 +01:00
thesimplekid
3c39bd0aec refactor: remove unused fn (#790) 2025-06-06 14:46:26 +01:00
thesimplekid
3c9ceed5e0 refactor: remove unused fn 2025-06-06 13:53:36 +01:00
asmo
d9652d7f53 refactor: fixing pre commit hooks checks (#789) 2025-06-06 11:40:36 +01:00
thesimplekid
9f4d5ba424 chore: publish docker image to cashubtc (#788) 2025-06-05 13:58:47 +01:00
asmo
548bbf1b40 Secret remove pub properties (#782)
* refactor: add getters to Secret and SecretData

* refactor: use new getters for Secret and SecretData in wallet receive

* refactor: using SecretData constructor

---------

Co-authored-by: thesimplekid <tsk@thesimplekid.com>
2025-06-05 12:25:56 +01:00
thesimplekid
d665e2fc38 Merge pull request #786 from thesimplekid/cdk_sqlite_msrv
chore: fix msrv shell
2025-06-04 23:04:11 +01:00
thesimplekid
54b061340f chore: fix msrv shell 2025-06-04 22:53:57 +01:00
thesimplekid
35137424c3 Merge pull request #784 from stefanbitcr/restore_redundant
Remove redundant filter during restoration
2025-06-04 09:19:34 -04:00
thesimplekid
7251121d8e chore: update readme got bolt11 2025-06-04 12:42:18 +01:00
thesimplekid
58d36adc45 Merge pull request #785 from thesimplekid/increase_ci_time
chore: update ci timeout
2025-06-04 07:33:49 -04:00
thesimplekid
c37b218618 chore: update ci timeout 2025-06-04 12:33:08 +01:00
stefanbitcr
97abdd97e7 Remove redundant filter during restoration 2025-06-04 11:11:35 +02:00
thesimplekid
1f2654d974 Merge pull request #779 from asmogo/fix_config_example
chore: disabled mint_management_rpc. update ln_backend
2025-06-01 11:01:34 -04:00
thesimplekid
0d0c1ff17c Merge pull request #780 from gandlafbtc/patch-3
fix typo in main.rs
2025-06-01 11:01:02 -04:00
thesimplekid
c8741123c6 Merge pull request #781 from gandlafbtc/patch-4
Update example.config.toml
2025-06-01 11:00:31 -04:00
gandlafbtc
4c1e3a5941 Update example.config.toml
add example domain to lnd address in example config
2025-06-01 23:41:42 +09:00
gandlafbtc
af72d56558 fix typo in main.rs
doubble D
2025-06-01 10:42:43 +09:00
David Caseria
fe118d180f Signatory Loader (#777)
* Allow Signatory to be run with custom incoming stream

* Allow multiple signatories to be loaded on a server

* Fix merge conflict in server.rs

* Export SignatoryLoader

* Use unit error

* Use Arc instead of reference
2025-05-31 16:41:25 -04:00
dd dd
1e4d118950 chore: disabled mint_management_rpc. update ln_backend 2025-05-31 22:08:57 +02:00
David Caseria
0a832ff161 Allow Signatory to be run with custom incoming stream (#776) 2025-05-29 15:46:31 -04:00
David Caseria
98440b436c Make sqlite dependency optional for signatory (#775) 2025-05-29 12:12:27 -04:00
David Caseria
30d6b20c99 Reclaim unspent proofs by reverting transaction (#774)
* Reclaim unspent proofs by reverting transaction

* Change fn signatore to return unit
2025-05-29 12:12:10 -04:00
thesimplekid
9beb0b4256 chore: update readmes (#773) 2025-05-29 09:38:10 -04:00
thesimplekid
8c8d321a15 Merge pull request #772 from thesimplekid/update_ch
chore: update change log
2025-05-28 14:16:16 -04:00
thesimplekid
15b02fd2ee chore: update change log 2025-05-28 14:15:39 -04:00
asmo
19da3ac268 adding docker build workflow for arm64 images (#770)
* build: added arm64 docker build

* build: undo typo

* build: remove whitespace

* build: test workflow

* build: test workflow

* build: build arm first

* build: build arm first

* build: using nix arm64 base image

* build: set up qemu

* build: seccomp set to unconfined

* build: create nix config

* build: split arm workflow

* build: reset on release

* build: testing --extra-platforms flag

* build: testing --extra-platforms flag

* build: testing --extra-platforms flag

* build: reset on release
2025-05-28 13:36:25 -04: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
d1e5b378cd chore: update flake 25.05 remove nix cache (#769) 2025-05-28 10:09:45 -04:00
thesimplekid
de5f9111e1 feat: mint url flag (#765) 2025-05-24 07:17:06 -04:00
David Caseria
0e250af87a Export NUT-06 supported settings field (#764)
* Export NUT-06 supported settings field

* Fix doc test
2025-05-24 05:57:36 -04:00
thesimplekid
abf10da330 chore: update deps (#761) 2025-05-20 10:27:52 +01:00
thesimplekid
b63dc1045d refactor: nut04 and nut05 (#749) 2025-05-19 09:49:11 +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
3920c6f9bc fix: nut18 payment request encoding/decoding (#758)
* fix: nut18 payment request encoding/decoding

* refactor: reorder nut18fns

* refactor: reorder nut18
2025-05-18 10:04:02 +01:00
thesimplekid
70944500fc chore: clippy mint_url (#759) 2025-05-18 09:05:44 +01:00
thesimplekid
c001375b32 fix: mint url trailing slash (#757) 2025-05-17 20:01:16 +01:00
thesimplekid
df0de05571 fix: get spendable to return witness (#756) 2025-05-17 20:00:49 +01:00
thesimplekid
67342ec793 feat: htlc from hash (#753)
* feat: htlc from hash

* chore: typos
2025-05-17 14:21:49 +01:00
thesimplekid
385ec4d295 feat: optional transport and nut10 secret on payment request (#744)
* feat: optional transport on payment request

* feat: create token for payment rquest

* feat: create payment request

* feat: arg append
2025-05-15 09:06:10 +01:00
thesimplekid
9ac387ae3d Ln use common (#751)
* chore: cdk-cln use common

* feat: lnd use common

* feat: lnbits use common
2025-05-14 17:29:58 +01:00
thesimplekid
65e785561c Update README.md 2025-05-14 16:24:37 +01:00
thesimplekid
e268866446 chore: clippy (#750)
* chore: clippy

* chore: fmt
2025-05-14 15:55:37 +01:00
thesimplekid
056ddecfeb chore: update flake 2025-05-13 15:05:51 +01:00
lollerfirst
a4c2454e94 [PATCH + BUGFIX] Multinut LND re-query and use_mission_control (#746)
* patch LND re-query and use mission control + bugfix on the melt verification

* remove unusued import

* chore: fmt

---------

Co-authored-by: thesimplekid <tsk@thesimplekid.com>
2025-05-06 13:19:32 +01:00
thesimplekid
5a3a274875 fix: melt start up check (#745) 2025-05-06 11:33:24 +01:00
thesimplekid
34eb10fd9e Mpp cdk cli (#743)
* refactor: Extract user input logic into a helper function

* feat: get multiple quotes (hacky)

* refactor: cdk-cli

* refactor: cdk-cli

* feat: refactor balances
2025-05-05 08:41:54 +01:00