[NUT-11] SIG_ALL non-standard construction breaks interop with spec-compliant mints
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 25/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- go
- Domain
- cryptography, payments
Research direction
The issue names no source files, and its cited audit report sits on a local machine, so start by reading NUT-11 in the Cashu spec and locating the P2PK signing and verification code in this Go repo. The first task is to check whether the SIG_ALL, n_sigs_refund, n_sigs=0, duplicate-key and expired-lock findings still reproduce on upstream main. Done means each finding is either reproduced with a test or closed as no longer applicable.
Written by the indexing model from the issue text.
Description
Migrated from Amperstrand/tollgate-module-basic-go#81 as part of the fork retirement — OpenTollGate/tollgate-module-basic-go is the single source of truth; the fork issue carries the original discussion and any lab evidence. Retirement plan: #758.]
NUT-11 P2PK implementation uses a non-standard SIG_ALL construction that breaks interoperability with spec-compliant mints. Gonuts puts the witness on outputs with per-output signatures over sha256(B_), while the spec requires: first-input witness over aggregated message.
Additional issues:
n_sigs_refundtag not implemented at alln_sigs=0accepted (spec: malformed, MUST reject)- Duplicate-key-per-pathway not rejected
- Expired-lock drops the primary pathway (spec: both continue)
Result: gonuts↔gonuts interop only; cannot interoperate with nutshell/cdk/cashu-ts mints.
Fix: Implement SIG_INPUTS construction per spec; implement missing tag validation; fix expired-lock handling.
Evidence: /home/ubuntu/src/tollgate_audit_report_2026-08-26.md §6, line 101; §7
Section reference: /home/ubuntu/src/tollgate_audit_report_2026-08-26.md §6
Migrated 2026-10-09. Applicability to current upstream main (4614ac2, post-rc1) was not re-verified during migration — confirming whether the finding still reproduces upstream is this issue's first task.
- Dominant language
- Go
- Stars
- 12
- Forks
- 14
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 239
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from OpenTollGate/tollgate-module-basic-go
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
OpenTollGate/tollgate-module-basic-go#833 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
OpenTollGate/tollgate-module-basic-go#813 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
OpenTollGate/tollgate-module-basic-go#804 ·
Maintainers usually reply within 1 day
-
go-battery needs an ndsctl on PATH: TestPurchaseSessionGuardHoldsThroughTheOutcomeUnknownWindow fails on bare hosts (passes with stub)Possibly taken @Amperstrand claimed this 2 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
OpenTollGate/tollgate-module-basic-go#726 · 2 comments ·
Maintainers usually reply within 1 day
-
rebrand-literal-gutter: uhttpd section-vocabulary check trips on a COMMENT (uhttpd.luci in 92-tollgate-admin-setup:178)Possibly taken @Amperstrand claimed this 2 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
OpenTollGate/tollgate-module-basic-go#723 ·
Maintainers usually reply within 1 day
All issues in OpenTollGate/tollgate-module-basic-go
Similar issues
-
agent-review-finding bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
jordansmall/spindrift#5281 ·
Maintainers usually reply within 1 day
-
unbounded value for n in `/v1/logs` can panic/OOMPossibly taken A pull request linked to this issue is open or already merged. Opensmall item
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
canonical/pebble#1127 · 2 comments ·
Maintainers usually reply within 1 day
-
[schema-coverage] elasticstack_elasticsearch_synonym_set (data source)Possibly taken @github-actions claimed this today. Openacceptance-tests phase-coding schema-coverage testing triaged
Difficulty 2/5 1-3 hours Newbie friendliness 81/100
elastic/terraform-provider-elasticstack#5211 ·
Maintainers usually reply within 1 day
-
Prevent Integer Overflow in the substring Built-in FunctionPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 89/100
open-policy-agent/opa#9366 · 1 reaction ·
Maintainers usually reply within 1 day
-
defect
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
nats-io/nats-server#8752 ·
Maintainers usually reply within 1 day