Summary
PR #1774 added Mezo Testnet mUSD (chain ID 31611) as a default stablecoin and was merged to main on 2026-03-24. However, PR #1773 ("add upto to typescript sdk"), merged one day later on 2026-03-25, refactored all default assets from exact/server/scheme.ts into a new shared module at shared/defaultAssets.ts. The Mezo entry was not carried over during the extraction.
As a result, v2.9.0 includes Mezo in the CHANGELOG (011e680: Add Mezo Testnet (chain ID 31611) support with mUSD as the default stablecoin) but the code does not contain the entry. Servers using getDefaultAsset("eip155:31611") throw No default asset configured for network eip155:31611.
Steps to Reproduce
import { getDefaultAsset } from "@x402/evm/exact/server";
getDefaultAsset("eip155:31611"); // throws: No default asset configured for network eip155:31611
Expected Behavior
Returns the Mezo Testnet mUSD config, matching the v2.9.0 CHANGELOG entry and the original PR #1774.
Root Cause
PR #1773 (d352574) created shared/defaultAssets.ts by extracting the stablecoins map from scheme.ts. The extraction was based on a branch that predated the #1774 merge, so the Mezo entry was silently dropped. Subsequent PRs (#1786 Stable testnet, #1877 Arbitrum, #1791 Polygon) added their entries to the new location but Mezo was never re-added.
Impact
- Mezo Testnet is listed as supported in the v2.9.0 CHANGELOG but is not functional
- Downstream projects relying on the SDK for Mezo payment discovery cannot use v2.9.0 without inline workarounds
- The Go and Python SDKs are unaffected (their Mezo entries were added in separate files)
Suggested Fix
Re-add the entry to DEFAULT_STABLECOINS in typescript/packages/mechanisms/evm/src/shared/defaultAssets.ts. This is a 7-line addition matching the pattern used by MegaETH (also Permit2 + EIP-2612). Requesting a patch release (v2.9.1) to align the TypeScript SDK with Go and Python, and to correct the CHANGELOG discrepancy.
Summary
PR #1774 added Mezo Testnet mUSD (chain ID 31611) as a default stablecoin and was merged to main on 2026-03-24. However, PR #1773 ("add upto to typescript sdk"), merged one day later on 2026-03-25, refactored all default assets from
exact/server/scheme.tsinto a new shared module atshared/defaultAssets.ts. The Mezo entry was not carried over during the extraction.As a result, v2.9.0 includes Mezo in the CHANGELOG (
011e680: Add Mezo Testnet (chain ID 31611) support with mUSD as the default stablecoin) but the code does not contain the entry. Servers usinggetDefaultAsset("eip155:31611")throwNo default asset configured for network eip155:31611.Steps to Reproduce
Expected Behavior
Returns the Mezo Testnet mUSD config, matching the v2.9.0 CHANGELOG entry and the original PR #1774.
Root Cause
PR #1773 (d352574) created
shared/defaultAssets.tsby extracting the stablecoins map fromscheme.ts. The extraction was based on a branch that predated the #1774 merge, so the Mezo entry was silently dropped. Subsequent PRs (#1786 Stable testnet, #1877 Arbitrum, #1791 Polygon) added their entries to the new location but Mezo was never re-added.Impact
Suggested Fix
Re-add the entry to
DEFAULT_STABLECOINSintypescript/packages/mechanisms/evm/src/shared/defaultAssets.ts. This is a 7-line addition matching the pattern used by MegaETH (also Permit2 + EIP-2612). Requesting a patch release (v2.9.1) to align the TypeScript SDK with Go and Python, and to correct the CHANGELOG discrepancy.