Releases: wevm/mppx
Releases · wevm/mppx
mppx@0.5.1
Patch Changes
- dd27cb1: Validate the
did:pkh:eip155source DID on zero-dollar Tempo proof credentials. Servers now reject malformed proof source DIDs and chain ID mismatches between the source DID and the challenge signing domain.
mppx@0.5.0
Minor Changes
- 5e7750b: Added a
proofcredential type for zero-amount Tempo charge requests. Clients now sign an EIP-712 proof over the challenge ID instead of creating a broadcastable transaction, and servers verify the proof against the credential source DID before accepting the request. This prevents zero-dollar auth flows from burning gas when the payer would otherwise have been the fee payer.
mppx@0.4.12
Patch Changes
- 5684b94: Fixed
settleOnChainandcloseOnChainto use the payee account as
msg.senderinstead of the fee payer when submitting fee-sponsored
transactions. Previously,sendFeePayerTxused the fee payer as both
sender and gas sponsor, causing the escrow contract to revert with
NotPayee(). Addedaccountoption totempo.settle()so callers can
specify the signing account separately from the fee payer. - 3bc8657: Added compile-time guard to
tempo.session()andtempo.charge(). Unknown properties (e.g.streaminstead ofsse) now cause a type error instead of being silently accepted. - 0531edd: Added split-payment support to Tempo charge requests, including client transaction construction and stricter server verification for split transfers.
- 6188184: Added
realmauto-detection from the requestHostheader when not explicitly configured. Resolution order: explicit value → env vars (MPP_REALM,FLY_APP_NAME,VERCEL_URL, etc.) → request URL hostname →"MPP Payment"fallback with a one-time warning. Removed the hard-coded"MPP Payment"default and deprioritizedHOST/HOSTNAMEenv vars in favor of platform-specific alternatives. - ba79504: Return
410 ChannelClosedErrorinstead of402 AmountExceedsDepositErrorwhen a channel's on-chain deposit is zero but the channel still exists (payer is non-zero). This handles a race window during settlement where the escrow contract zeros the deposit before setting the finalized flag.
mppx@0.4.11
Patch Changes
- Fixed close voucher validation to reject vouchers equal to the on-chain settled amount. (GHSA-mv9j-8jvg-j8mr)
- Added Stripe credential replay protection via the
Idempotent-Replayedheader. (GHSA-8mhj-rffc-rcvw)
mppx@0.4.10
Patch Changes
-
b4e1a3d: Add OpenAPI-first discovery tooling via
mppx/discovery, frameworkdiscovery()helpers, andmppx discover validate.This also changes
mppx/proxydiscovery routes:GET /openapi.jsonis now the canonical machine-readable discovery document.GET /llms.txtremains available as the text-friendly discovery view.- Legacy
/discover*routes now return410 Gone.
-
70f6595: Fix two production session/SSE robustness issues.
- Accept exact voucher replays (
cumulativeAmount == highestVoucherAmount) as idempotent success after signature verification, while still rejecting lower cumulative amounts and preserving monotonic state advancement rules. - Prevent invalid null-body response wrapping in SSE receipt transport by returning
101/204/205/304responses directly instead of stream-wrapping them.
- Accept exact voucher replays (
-
3c713c9:
tempo.session()now throws immediately at initialization if no viemAccountis provided, instead of failing later with an opaque error during channel close. The error message includes an example fix.
mppx@0.4.9
Patch Changes
- d9b651d: Added
Store.redis()adapter for standard Redis clients (ioredis, node-redis, Valkey) with BigInt-safe serialization. - b69bbee: Fixed Express middleware hanging by constructing a Fetch
Requestdirectly from Express'sreqAPI. - 7da6cfd: Fixed SSE header normalization.
- a2c6cc9: Skipped route amount/currency/recipient validation for topUp and voucher credentials. These
POSTs carry no application body so the route's request hook may produce a different amount than the challenge echoed from the original request. The on-chain voucher signature is the real validation.
mppx@0.4.8
Patch Changes
- 99920d0: Updated validation.
mppx@0.4.7
Patch Changes
- 2a0b88e: Fixed cooperative close to sign the server-reported spent amount instead of the high-water mark (
cumulativeAmount), preventing overcharging when actual usage was below the pre-authorized voucher amount.
mppx@0.4.6
Patch Changes
- 281005c: Added support for
feePayeras a URL string ontempomethod.
mppx@0.4.5
Patch Changes
- bbd4b3f: Updated Moderato (testnet) escrow contract address to
0xe1c4d3dce17bc111181ddf716f75bae49e61a336.