Commit Graph

808 Commits

Author SHA1 Message Date
thesimplekid
7fbe55ea02 Test fees (#698)
* feat: Add Docker container setup for Nutshell mint in test-nutshell recipe

* test: Add wait mechanism for Nutshell docker container startup

* test: Modify Nutshell wallet tests to run sequentially

* fix: mintd set input fee pkk

* feat: fee tests

* fix: melt returning fee in change

* fix: fee tests

* fix: fee tests
2025-04-03 00:30:50 +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
f4c857c3e7 Nutshell wallet (#695)
* chore: Add nutshell wallet integration test script

feat: Add MINT_URL configuration for docker container in nutshell wallet integration test script

chore: Make nutshell_wallet_itest.sh executable

fix: Update MINT_URL to use host.docker.internal for Docker container access

feat: Add Docker container startup for Cashu daemon in wallet integration test script

chore: Update Docker image to use Docker Hub repository

feat: Add cleanup trap to stop Docker container and unset variables

feat: Add initial test stub for nutshell wallet mint functionality

test: Add Cashu wallet mint integration test

feat: Add just command for nutshell wallet integration test

refactor: Organize imports and improve code formatting in nutshell wallet test

fix: Update Cashu Docker image and test URL for correct container access

fix: Update Docker container name and image for Cashu wallet test script

fix: Handle Docker container name conflict in nutshell wallet integration test

fix: Update Docker image to cashubtc/nutshell:latest in wallet integration test script

feat: Add support for running separate Nutshell mint and wallet containers

feat: Update Nutshell mint and wallet container configurations for integration testing

fix: Update wallet port and container configuration in integration test script

chore: Export MINT_URL and WALLET_URL as environment variables

fix: Update invoice creation and state checking in nutshell wallet test

fix: Update MINT_URL to use host.docker.internal for container access

fix: Update nutshell wallet mint test to handle invoice payment state

refactor: Improve Nutshell wallet test with better error handling and robustness

refactor: Improve code formatting and logging in nutshell wallet test

refactor: Replace anyhow with expect for error handling in Nutshell wallet test

refactor: Simplify error handling in Nutshell wallet mint test

refactor: Replace `?` with `expect()` in Nutshell wallet test

refactor: Simplify nutshell wallet test by removing unused code and improving error handling

refactor: Extract minting and balance helper functions in nutshell wallet test

feat: Add test for Nutshell wallet token swap functionality

fix: Trim quotes from token in nutshell wallet swap test

refactor: Remove debug print statements and improve code readability

refactor: Improve test_nutshell_wallet_melt with payment state checking and balance verification

refactor: Update Nutshell wallet integration test script configuration

feat: Extract common mint startup function into shared script

refactor: Simplify nutshell wallet integration test script and improve startup process

feat: Add mintd process termination and test status capture in integration test script

refactor: Capitalize env vars and ensure comprehensive cleanup in trap

feat: nutshell wallet test

* ci: Add test step for Nutshell wallet integration tests

* ci: Split Nutshell integration tests into separate jobs

* feat: nutshell wallet test

* ci: Add Docker setup and increase timeout for Nutshell wallet integration tests

* chore: Improve Nutshell wallet integration test script robustness

* fix: Remove -i flag from Nix develop and improve Docker accessibility check

* fix: payment processor

* fix: wallet tests

* feat: Add integration shell with Docker and Rust stable for testing

* ci: Simplify Nutshell wallet integration test workflow and script

* fix: Improve mintd endpoint detection and error handling in integration test script

* fix: wallet tests
2025-03-30 13:08:00 +01:00
ok300
0eb5805f6f Mint example config: remove stale cln_path reference (#694) 2025-03-30 10:30:58 +01:00
thesimplekid
52bfc8c9ce feat: nutshell itests (#691) 2025-03-29 22:04:43 +00:00
ok300
240e22c96a Remove stale crate references (#692) 2025-03-28 14:49:07 +00:00
thesimplekid
fa67271cca Int tests (#685)
* Here's a commit message for this change:

refactor: Move mint tests to fake_wallet.rs and add descriptive comments

refactor: pure wallet/mint does not need arc

refactor: Consolidate NUT-06 test into single function and remove redundant module

docs: Add comments explaining test purposes in integration tests file

refactor: Remove anyhow and replace with expect for error handling

refactor: use expect in pure tests

feat: Add configurable database type via environment variable for test mint and wallet

refactor: Update database initialization in test mint and wallet creation

feat: Add temporary directory support for redb and sqlite databases in tests

feat: Add database type argument to test commands in justfile

ci: Add build matrix for pure-itest with memory, sqlite, and redb databases

refactor: use expect in pure tests

refactor: Move and refactor `test_swap_unbalanced` from mint to integration tests pure

refactor: move mint tests to pure tests

docs: Add detailed comments explaining test file purposes for mint and integration tests

refactor: Extract keyset ID retrieval into a reusable function

test: Add concurrent double-spend test with 3 swap transactions

refactor: Simplify concurrent swap request processing and error handling

test: Add check to verify all proofs are marked as spent in concurrent double-spend test

refactor: Optimize proof state retrieval in concurrent double-spend test

feat: Add test for concurrent melt race condition with same proofs

fix: Update concurrent melt test to use melt quote and handle errors

refactor: melt concurrrent

refactor: Rename test function for clarity in concurrent double-spend scenario

refactor: Modify test_concurrent_double_spend_melt to manually create melt requests in mint tasks

feat: con melt test

refactor: Optimize proof state handling and error recovery in check_spendable

refactor: Extract helper method to reset proofs to original state

fix: reset y states

fix: reset y states

* fix: acces of priv feilds

* fix: add extra migrate
2025-03-27 12:48:36 +00:00
thesimplekid
5484e7c33a Merge pull request #690 from thesimplekid/request_without_dleq
Request without dleq
2025-03-27 08:45:02 +00:00
thesimplekid
4ba0b6c6ef Merge pull request #593 from BitcreditProtocol/peanut/mintdatabase_split
split MintDatabase into separate narrower scoped traits
2025-03-26 23:31:58 +00:00
ok300
de4285bd9c Simplify MultiMintWallet interface (#664) 2025-03-26 15:55:57 +00:00
codingpeanut157
47903c3bfd split MintDatabase into separate narrower scoped traits
- MintKeysDatabase
- MintQuotesDatabase
- MintProofsDatabase
- MintSignaturesDatabase

This commit splits the MintDatabase trait with 30+ methods into a series
of smaller traits, each dedicate to a specific subsystem of the mint
service.
2025-03-26 16:53:07 +01:00
thesimplekid
7b4951041e Rust docs (#681) 2025-03-25 23:27:38 +00:00
thesimplekid
d1c9dbae28 refactor: cashu wallet moved to cdk-common 2025-03-25 12:55:05 +00:00
thesimplekid
ef2b07d1e2 Merge pull request #677 from thesimplekid/cdk-redb-cli
feat: Add optional redb feature flag for database support
2025-03-25 09:21:23 +00:00
benthecarman
b8fbd83772 fix: Fix MintUrls with a path 2025-03-25 00:49:52 -05:00
thesimplekid
4224ebdf19 Merge pull request #676 from thesimplekid/proto_exp
Proto exp
2025-03-24 23:22:43 +00:00
thesimplekid (aider)
7a9faec984 feat: Add optional redb feature flag for database support 2025-03-24 22:31:14 +00:00
thesimplekid
e260a12e4c fix: exp for mint-rpc 2025-03-24 22:19:45 +00:00
thesimplekid
ad14f64f36 Merge pull request #671 from optout21/melt-example
Add example program for melt operation
2025-03-24 21:00:38 +00:00
thesimplekid
ff654ab4b1 Merge pull request #673 from davidcaseria/export-mint-keyset-info
Export MintKeySetInfo
2025-03-24 20:59:42 +00:00
David Caseria
cd3a54e03b Export MintKeySetInfo 2025-03-24 14:49:11 -04: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
optout
d5104a94eb sample: Add example program for melt 2025-03-24 14:52:07 +01:00
thesimplekid
b3ae76d6c7 Fix dleq logging (#670)
* fix: dleq logging

* feat: log wallet auth for request
2025-03-24 12:50:54 +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
ok300
13475be580 Simplify fee calculation 2025-03-24 09:36:12 +01:00
thesimplekid
27636c86b7 chore: zip version (#668)
* chore: zip version
2025-03-23 21:18:02 +00:00
thesimplekid
e3570c3e98 Wallet dleq (#667)
* feat: Add DLEQ proofs to sqlite db
2025-03-23 17:32:29 +00:00
thesimplekid
c48b5202f0 refactor: move Mint and Melt quote to cdk common 2025-03-22 17:04:46 +00:00
David Caseria
24a9446581 Fix protoc build error 2025-03-20 14:59:14 -04:00
David Caseria
db1db86509 Prepared Send (#596)
Co-authored-by: thesimplekid <tsk@thesimplekid.com>
Co-authored-by: ok300 <106775972+ok300@users.noreply.github.com>
2025-03-20 11:44:44 +00:00
ok300
558024d7fe Ser/Deserialize SecretKey either as bytes or string 2025-03-19 12:34:23 +01:00
thesimplekid
0155962d11 Update crates/cashu/src/nuts/nut18.rs
Co-authored-by: ok300 <106775972+ok300@users.noreply.github.com>
2025-03-13 14:46:22 +00:00
thesimplekid
be1e048f2c Update crates/cashu/src/nuts/nut18.rs
Co-authored-by: ok300 <106775972+ok300@users.noreply.github.com>
2025-03-13 14:46:15 +00:00
thesimplekid
eb5899843a feat: export transport type 2025-03-13 14:14:56 +00:00
thesimplekid (aider)
32ded596cd feat: payments request builder 2025-03-13 14:09:14 +00:00
thesimplekid
cf9cacaff4 fix: verification of melt quote with empty outputs 2025-03-13 09:55:17 +00:00
thesimplekid
8d1b35f52e fix: Improve spending conditions validation in ProofInfo 2025-03-12 20:51:03 +00:00
ok300
72dff95322 Merge pull request #653 from ok300/ok300-fix-update-mint-url
Wallet: fix `update_mint_url`
2025-03-11 18:41:52 +00:00
ok300
3ba3449c81 Integration tests: fix wait_for_mint_to_be_paid loop 2025-03-11 12:18:24 +01:00
benthecarman
8cd4ea301a chore: Update sqlx to 0.7.4 2025-03-10 19:01:57 -05:00
thesimplekid
a691df7916 Merge pull request #650 from benthecarman/rm-clone
fix: remove unnecessary clone
2025-03-10 16:31:55 +00:00
benthecarman
080f4ef2bf fix: remove unnecessary clone 2025-03-10 11:07:19 -05:00
thesimplekid
3bf908d89d Merge pull request #648 from TechVest/main
chore: remove redundant words in comment
2025-03-10 15:30:49 +00:00
thesimplekid
162507c492 feat: payment processor 2025-03-10 14:44:57 +00:00
TechVest
c5284b889f chore: remove redundant words in comment
Signed-off-by: TechVest <techdashen@qq.com>
2025-03-10 22:33:22 +08:00
ok300
1131711d91 Drop nostr_last_checked table, remove references (#647)
* cdk-sqlite: Drop unused table nostr_last_checked

* cdk-rexie: Drop unused object store nostr_last_checked

* cdk-redb: Remove unused table ref nostr_last_checked
2025-03-10 13:37:20 +00:00
thesimplekid (aider)
cb87fefacd refactor: Remove nostr last checked methods from database trait and implementations 2025-03-09 23:11:02 +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