Skip to content

NUT-XX: Cairo Spending Conditions implementation#1100

Closed
vincentpalma wants to merge 53 commits intocashubtc:mainfrom
clealabs:feature/spending-conditions
Closed

NUT-XX: Cairo Spending Conditions implementation#1100
vincentpalma wants to merge 53 commits intocashubtc:mainfrom
clealabs:feature/spending-conditions

Conversation

@vincentpalma
Copy link

@vincentpalma vincentpalma commented Sep 21, 2025

Description

Modified mint + cdk-cli wallet with an implementation of the Cairo Spending Conditions NUT.


Notes to the reviewers

We changed the Rust version from stable to nightly because stwo_cairo_prover requires some nigthly features. We also had to increase the default body limit for /swap in cdk-axum because CairoProof's are typically 10-15mb in size.

Before merging:

  • Find a solution for the rust version
  • Wait for this PR to be merged and then rename all occurences of NUT-XX, nutxx, etc with the proper number.

Suggested CHANGELOG Updates

CHANGED

cdk-axum: increased body limit for /swap because of Cairo proof size constraint

ADDED

cashu: add support for new Cairo Spending Condition
cdk-integration-tests: e2e Cairo Spending Condition test for the mint using a hardcoded program
cdk-cli: add support for new Cairo Spending Condition
cdk-common: add new error types for Cairo
cdk-mintd: add new mint config for nutxx Cairo

REMOVED

FIXED


Checklist

Vincent and others added 30 commits July 24, 2025 20:54
TODO: the test doesnt compile because the under nutxx/example_proof.json was created using the package cairo-prove, which at the latest version still uses an old version of stwo_cairo_prover and stwo_cairo_verifier, but in the project we use the more recent version (we use commit 335de15 but cairo-prove uses commit 62c3c4a). There are two option: 1. modify our project to use older packages 62c3c4a or 2. fork cairo-prove and update the packages to the latest version. I think option 2 would be better since the verify_cairo function doesn't require a PcsConfig in the newer version, which makes things cleaner to use in cashu
Cairo verification working. Tested locally works just fine.
…ified when transformed into memory values...
feat: output verification using custom tags
YofiY and others added 23 commits August 3, 2025 18:42
… for /swap to because to default can't handle cairo proofs
…t Make sure to have a mint running at localhost:8085
This reverts commit 0f0d8d9d197bcf90bcef8e4398b0f33c73cd1a02.
M3 & M4: Cairo cdk-cli & NUTXX Mint Info

Closes #10 and #11
@vincentpalma vincentpalma changed the title Feature/spending conditions Cairo Spending Conditions NUT implementation Sep 21, 2025
@vincentpalma vincentpalma changed the title Cairo Spending Conditions NUT implementation NUT-XX: Cairo Spending Conditions implementation Sep 21, 2025
@github-actions
Copy link
Contributor

This PR is stale because it has been open for 60 days with no activity.

@github-actions github-actions bot added the stale label Nov 22, 2025
@github-actions
Copy link
Contributor

This PR was closed because it has been inactive for 21 days since being marked as stale.

@github-actions github-actions bot closed this Dec 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants