Skip to content

abstract NUT-17 subscription kinds#280

Open
gudnuf wants to merge 6 commits intomainfrom
gudnuf/abstract-nut-17
Open

abstract NUT-17 subscription kinds#280
gudnuf wants to merge 6 commits intomainfrom
gudnuf/abstract-nut-17

Conversation

@gudnuf
Copy link
Collaborator

@gudnuf gudnuf commented Aug 19, 2025

closes #279

I made NUT-17 general so that it can easily be extended with new subscription kinds. For now I just defined the proof_state kind in NUT-07 and bolt11_mint_quote/bolt11_melt_quote in NUT-23. We will want the ability to add new kinds for things like new payment methods (ie. bolt12).

For the examples I decided to just leave the concrete examples showing bolt11 of proof states instead of trying to make a general example. The other thing I considered was removing examples from NUT-17 and include the specific examples in the corresponding NUTs, but that makes those NUTs unnecessarily long.

@gudnuf gudnuf self-assigned this Aug 19, 2025
@callebtc
Copy link
Contributor

we can add bolt12 since #259 is now merged

@gudnuf gudnuf force-pushed the gudnuf/abstract-nut-17 branch from 8a23d12 to 6345a5c Compare August 28, 2025 19:54
@gudnuf
Copy link
Collaborator Author

gudnuf commented Aug 28, 2025

we can add bolt12 since #259 is now merged

done

Copy link
Collaborator

@thesimplekid thesimplekid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once open question I had on nut17 and don't think this address is how to handle the info endpoint. Currently the proof state is inside a specific method but a proof isn't tied to a method. Does proof state need to be included in each method?

"nuts": {
    "17": {
      "supported": [
        {
          "method": "bolt11",
          "unit": "sat",
          "commands": [
            "bolt11_mint_quote",
            "bolt11_melt_quote",
            "proof_state"
            ]
        },
      ]
    }
}

@gudnuf
Copy link
Collaborator Author

gudnuf commented Aug 31, 2025

Does proof state need to be included in each method?

I was thinking that too when doing this. It should be specified outside the methods.

Should we do that in this PR? Will require implementations to change so we should probably keep it in just the bolt11 method for compatibility.

Copy link
Collaborator

@thesimplekid thesimplekid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets do that separate since this requires no impl changes.

@prusnak
Copy link
Collaborator

prusnak commented Jan 5, 2026

@thesimplekid can you please resolve the merge conflicts?

@callebtc afterwards this should be OK to merge, ACK?

@thesimplekid thesimplekid force-pushed the gudnuf/abstract-nut-17 branch from 9a944f5 to 0865941 Compare January 5, 2026 12:09
Copy link
Collaborator

@thesimplekid thesimplekid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rebased.

ACK ca8caf3

@ye0man ye0man added this to nuts Jan 13, 2026
@github-project-automation github-project-automation bot moved this to Backlog in nuts Jan 13, 2026
@ye0man ye0man moved this from Backlog to Needs Review in nuts Jan 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Needs Review

Development

Successfully merging this pull request may close these issues.

Abstract NUT-17 subscription kinds to their respective NUTs

4 participants