Skip to content

fix(tap-seller): canonicalize signature parameters - #86

Merged
nkavian merged 1 commit into
inflowpayai:mainfrom
nkavian:fix/tap-signature-parameters
Oct 4, 2026
Merged

nkavian merged 1 commit into
inflowpayai:mainfrom
nkavian:fix/tap-signature-parameters

Conversation

@nkavian

@nkavian nkavian commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Parse TAP signature parameters in signer-selected order, with Structured Field escaping and canonical serialization.
  • Apply the last value of duplicate parameters consistently to time validation, key resolution, replay claims and signature verification. Duplicate covered components remain invalid.
  • Require actual Ed25519 key material, including when the application supplies a custom resolver.
  • Exercise the public verifier, middleware, replay store and HTTP key resolver through the shared TAP corpus.

Verification

  • Full pnpm verify on Node 22 and 24.
  • pnpm check-exports and pnpm verify-publish.
  • All shared runtime, MPP, x402 and TAP cases on both Node versions, including 92 TAP cases.
  • Public-path regressions cover canonical duplicates, tampering, escaped values, malformed parameters, handler suppression and mislabeled RSA keys.

Merge order

Depends on inflowpayai/inflow-specs#25. Merge the specs PR first, then rerun this PR's shared-conformance workflow: its current-contract TAP check requires that corpus on specs main.

The contract pin also requires declaring the SDK's existing MPP Seller subscription capability; no MPP payment behavior changes here. SPT, CARD, instrument work and PR 85 are outside this PR. No live payments were performed.

@codecov

codecov Bot commented Oct 4, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@nkavian
nkavian marked this pull request as ready for review October 4, 2026 01:05
@nkavian
nkavian merged commit ca10a39 into inflowpayai:main Oct 4, 2026
9 of 13 checks passed
@nkavian
nkavian deleted the fix/tap-signature-parameters branch October 4, 2026 01:09
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.

1 participant