Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .changeset/curly-challenges-deny-empty-id.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/deprecate-uppercase-aliases.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/document-payment-request-name.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/document-secret-key-examples.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/fix-hono-audit.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/fix-sse-session-vouchers.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/harden-challenge-binding.md

This file was deleted.

9 changes: 0 additions & 9 deletions .changeset/mcp-client-inject.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/remove-wallet-authorize-challenge.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/sponsor-presimulate-cosigned.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/tempo-common-alias.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/update-proxy-route-docs.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/verify-subscription-renewal-transfer.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/wallet-authorize-challenge-support.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/wallet-bound-proof.md

This file was deleted.

27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,32 @@
# mppx

## 0.8.0

### Minor Changes

- daab9b8: **Breaking:** Collapsed `McpClient.wrap` and the in-place `wrapClient` variant into a single `McpClient.wrap` API on the `mppx/mcp/client` entrypoint.

`McpClient.wrap` now adds payment handling to an MCP SDK client in place: the client is mutated and the same reference is returned, so surfaces that keep using the original client become payment-aware (e.g. when another SDK owns the client reference, like Cloudflare Agents). The MCP SDK `callTool(params, resultSchema?, options?)` signature is preserved, payment challenges are handled whether they arrive as payment-required errors or as tool results carrying `org.paymentauth/payment-required` metadata, and the config accepts `orderChallenges` and `paymentPreferences` alongside `methods` and `onPaymentRequired`. Calling `wrap` on the same client again replaces its payment configuration.

Migration: move per-call options from the second argument to the third — `mcp.callTool(params, undefined, { context, timeout })` — and replace the approval-first overload `mcp.callTool(onPaymentRequired, params, options)` with the `onPaymentRequired` option: `mcp.callTool(params, undefined, { onPaymentRequired })` (pass `null` to bypass a configured hook). The MCP entrypoints moved to `mppx/mcp/client` and `mppx/mcp/server`; the `mppx/mcp-sdk/*` specifiers remain as aliases.

### Patch Changes

- 4c79a78: Rejected empty Payment challenge IDs during construction and deserialization.
- 7c38c17: Deprecated uppercase asset and chain aliases in favor of lowercase exports.
- 0e88d07: Corrected PaymentRequest documentation examples to use the exported namespace name.
- 8da60b5: Documented explicit server secret key configuration in README examples.
- b5d8657: Updated Hono dependencies to patched versions.
- 5e27ef2: Fixed SSE session accounting so voucher management posts no longer consumed stream charges.
- ec1ad50: Hardened server secret-key validation and capped oversized `WWW-Authenticate` request parameters.
- 11db0bd: Removed now-unused `wallet_authorizeChallenge` support.
- e80feeb: The Tempo fee-payer (sponsor) pre-broadcast simulation now simulates the co-signed transaction the sponsor actually broadcasts — with the concrete fee payer and chosen fee token — instead of the pre-cosign `0x78` envelope, for both local and hosted (`feePayerUrl`) fee payers. This catches reverts in the exact transaction the sponsor pays gas for, and fails closed (no broadcast) when the simulation reverts.
- c2611f6: Added `tempo.common()` as an explicit alias for the Tempo charge and session method bundle.
- 034315e: Updated proxy route examples to use current route handler APIs.
- 4e5abf4: Hardened confirmed Tempo subscription settlement against T6 (TIP-1028) receive policies. Activation and renewal payments that wait for confirmation now verify that a TIP-20 `TransferWithMemo` log credits the intended recipient for the expected amount with the generated settlement memo, instead of trusting transaction success alone. Transfers held by a receiver's receive policy (redirected to `ReceivePolicyGuard`) are now rejected rather than treated as paid, and the memo binding excludes unrelated transfer effects in the same receipt. Documented that the optimistic `waitForConfirmation: false` mode cannot prove recipient credit under T6.
- c15be54: Added `wallet_authorizeChallenge` support. JSON-RPC accounts now delegate Tempo charge and session challenges to wallets that advertise MPP support via `wallet_getCapabilities`, falling back to local signing otherwise.
- d14d933: Bound Tempo zero-amount proof credentials to the payer wallet. The EIP-712 `Proof` typed-data now includes an `account` field (domain version bumped to `3`), so a proof signature commits to a specific payer address and can no longer be replayed against a different account — including across an access key authorized for multiple accounts. Exposed the canonical proof contract via `tempo.Proof` (`types`, `domain`, `primaryType`, `message`, `typedData`, `hash`) and added deterministic conformance vectors covering the wallet-binding property.

## 0.7.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
"[!start-pkg]": "",
"name": "mppx",
"type": "module",
"version": "0.7.0",
"version": "0.8.0",
"main": "./dist/index.js",
"license": "MIT",
"homepage": "https://github.com/wevm/mppx#readme",
Expand Down