Skip to content

chore: bump viem floor to ^2.48.11 across monorepo + refresh lockfiles#4

Draft
ryanRfox wants to merge 1 commit into
mainfrom
chore/viem-floor-bump
Draft

chore: bump viem floor to ^2.48.11 across monorepo + refresh lockfiles#4
ryanRfox wants to merge 1 commit into
mainfrom
chore/viem-floor-bump

Conversation

@ryanRfox
Copy link
Copy Markdown
Owner

@ryanRfox ryanRfox commented May 8, 2026

chore: bump viem floor to ^2.48.11 across monorepo + refresh lockfiles

Description

Closes #

Tightens the viem floor in every package.json that lists viem (41 refs across 40 files), refreshes all three lockfiles so every direct viem resolution reads 2.48.11, and regenerates the paywall bundled templates so the EVM/SVM/AVM bundles match the new viem chain database.

Why floor-tightening matters

PR x402-foundation#2013 bumped lockfiles to 2.47.14, but later PRs (x402-foundation#2061, x402-foundation#2197, others) added sub-packages with ^2.39.x / ^2.43.x floors. pnpm re-resolved on subsequent installs and the solver picked the lowest acceptable version across constraints. ^-ranges with low floors don't preserve a bump — lockfile refreshes erode the floor.

This PR fixes that incomplete tightening from x402-foundation#2013 by raising every floor to ^2.48.11.

Gate criterion for future PRs: new viem-using package.json files must use ^2.48.11 (or tighter). Without a tight floor, the same regression recurs.

Lockfile state

Workspace Pre-bump direct viem Post-bump direct viem
typescript/ 2.47.12 2.48.11
examples/typescript/ 2.40.3, 2.43.5 2.48.11
e2e/ 2.31.6, 2.40.3, 2.45.1 2.48.11

Transitive viem from @walletconnect/utils (2.23.2) is unaffected and remains pinned by walletconnect's own constraints.

Files changed

  • Every package.json in the monorepo that lists viem as a direct dep — 40 files, 41 refs.
  • 3 workspace lockfiles refreshed: typescript/pnpm-lock.yaml, examples/typescript/pnpm-lock.yaml, e2e/pnpm-lock.yaml.
  • 9 paywall bundled template files regenerated via pnpm --filter @x402/paywall run build:paywall (3 each for EVM/SVM/AVM in TS, Python, and Go).
  • 1 changeset entry under typescript/.changeset/.

Related

Tests

  • pnpm install --frozen-lockfile clean across typescript/, examples/typescript/, and e2e/.
  • pnpm format:check, lint:check, build, test green for typescript/ (23/23 tasks each).
  • pnpm format:check and lint:check green for examples/typescript/ (42/42 tasks each).
  • examples/typescript/ build clean for all viem-using packages. Pre-existing build failures in @x402/next-example and @x402/miniapp-example are unrelated to viem and tracked separately.
  • Every direct viem entry in all three refreshed lockfiles resolves to 2.48.11.
  • Paywall bundled templates regenerated via pnpm --filter @x402/paywall run build:paywall; CI's check-paywall-template regen-and-diff gate passes.

Checklist

  • I have formatted and linted my code
  • All new and existing tests pass
  • My commits are signed (required for merge) -- you may need to rebase if you initially pushed unsigned commits
  • I added a changelog fragment for user-facing changes (docs-only changes can skip)

AI disclosure

This PR used an agentic coding workflow and was reviewed by Ryan R. Fox (an actual human) before posting.

Tightens the viem floor in every package.json that lists viem (41 refs
across 40 files), refreshes all three lockfiles so every direct viem
resolution reads 2.48.11, and regenerates the paywall bundled templates
so the EVM/SVM/AVM bundles match the new viem chain database.

## Why floor-tightening matters

PR x402-foundation#2013 bumped lockfiles to 2.47.14, but later PRs (x402-foundation#2061, x402-foundation#2197, ...)
added sub-packages with ^2.39.x / ^2.43.x floors. pnpm re-resolved on
subsequent installs and the solver picked the lowest acceptable version
across constraints. ^-ranges with low floors do NOT preserve a bump --
lockfile refreshes erode the floor.

This PR fixes that incomplete tightening from x402-foundation#2013 by raising every
floor to ^2.48.11. The same regression will recur if any future PR adds
a viem-using sub-package with a lower floor. Gate criterion: new
packages must use ^2.48.11 (or tighter) for viem.

## Acceptance verification

- pnpm install --frozen-lockfile clean across typescript/,
  examples/typescript/, and e2e/.
- pnpm format:check, lint:check, build, test green for typescript/.
- pnpm format:check, lint:check green for examples/typescript/.
- All direct viem resolutions read 2.48.11 in all three workspaces.
- Paywall bundled templates regenerated via
  pnpm --filter @x402/paywall run build:paywall.
@ryanRfox ryanRfox force-pushed the chore/viem-floor-bump branch from 803854e to fba5197 Compare May 8, 2026 13:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant