Skip to content

nipcash, nipcw: client-side request checks, resend safety, and the remaining test gaps - #125

Merged
naliyi merged 11 commits into
mainfrom
test/nipcash-step6-gaps
Oct 14, 2026
Merged

naliyi merged 11 commits into
mainfrom
test/nipcash-step6-gaps

Conversation

@naliyi

@naliyi naliyi commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

Closes #124

Summary

  • Request builders refuse an empty mint_cash, a connection_key without ia_pubkey, a negative or sub-second expiry, duplicate consolidate sources and a nil transfer target (previously a panic).
  • ItemOutcome.SafeToResend is false for a Hub success the client could not decode (new Undecodable flag).
  • BatchSession's *Many methods refuse a bill minted by another node instead of sending it into silence.
  • The private transport's "no relay reachable" errors name every relay tried.
  • Adds tests for proof bindings, wire literals, decoder TLV rules, the proof freshness window and the kind-23199 builder; end-to-end tests now use the test deadline instead of fixed 20–30 s timeouts.

Test plan

  • Each behavior fix fails its new test when the fix is removed; each test-only addition was checked against the mutation it guards (mutant red, reverted green).
  • go vet, go mod tidy, gofmt, golangci-lint v2.13.2, govulncheck, go test -race -count=1 ./...
  • nipcash/client race suite run three times concurrently on a loaded machine: green.
  • Downstream against this branch: cashctl build/vet/tests, lokihub build/vet/tests, ncli build/vet + Decode tests.

@naliyi
naliyi marked this pull request as ready for review October 14, 2026 18:24
@naliyi
naliyi merged commit 96802e3 into main Oct 14, 2026
3 checks passed
@naliyi
naliyi deleted the test/nipcash-step6-gaps branch October 17, 2026 20:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

nipcash, nipcw: close the remaining conformance test gaps and client-side checks

1 participant