Skip to content

feat(explorer): follow the rollups-node 2.0.0-alpha.13 JSON-RPC API; bump dependencies - #210

Merged
tuler merged 3 commits into
prerelease/v2from
claude/peaceful-clarke-9tjjjj
Oct 14, 2026
Merged

tuler merged 3 commits into
prerelease/v2from
claude/peaceful-clarke-9tjjjj

Conversation

@tuler

@tuler tuler commented Oct 3, 2026 •

Copy link
Copy Markdown
Owner

Summary

Updates the explorer to the rollups-node 2.0.0-alpha.13 JSON-RPC API and the matching client libraries and contracts. Also bumps every dependency and moves bun to 1.4.3.

Dependencies for the API update

  • @cartesi/client 2.0.0-alpha.34 → 2.0.0-alpha.38
  • @cartesi/react 2.0.0-alpha.38 → 2.0.0-alpha.42
  • @cartesi/codec 1.0.0-alpha.0 → 1.0.0-alpha.5 — the new contracts moved the portal addresses; the old codec would stop recognizing deposits

API changes handled

  • Node info: the header uses cartesi_getNodeInfo (chain, version, default block) instead of the deprecated getChainId / getNodeVersion; tx links and the decoder take the chain ID from it too
  • Applications: dataAvailability removed; badge colors for the new statuses (GUEST_EXCEPTION, MACHINE_HALTED, MCYCLE_OVERFLOW, UNEXPECTED_YIELD, INVALID_OUTPUTS_ROOT)
  • Epochs: outputs merkle root/proof replaced by the TX-buffer, iflags.Y and HTIF tohost data blocks and their proofs
  • Inputs: outputsHash → txBufferDataBlock; new exceptionData shown on the input page; resource-limit statuses replaced by OVERFLOW / UNEXPECTED_YIELD / INVALID_OUTPUTS_ROOT
  • Tournaments: winner / final state / finish block moved into the current-state snapshot; page also shows kind, initial hash, base cycle, clock allowance and creation tx
  • Matches: advances keyed by tx hash + log index (getMatchAdvanced → getMatchAdvance)

Additions using new API data

  • Tournament page: current-state snapshot (standing, candidate/winner, inner result, bond recovery), bond refund/recovery events, commitment claimer and clock, match phase column
  • Match page: phase, timeout outcome, bisection or sealed state, deadlines, leaf seal
  • Overview: executed and pending executable output counts
  • Outputs list: "Executed" filter

Mock server

Serves the new record shapes and methods (getNodeInfo, getEpochByVirtualIndex, getMatchAdvance, listBondEvents / getBondEvent, executed / pending output counts), list-valued filters, from/to index ranges and the new portal addresses.

Dependency bump

  • bun 1.4.2 → 1.4.3 (packageManager)
  • npm: every dependency moved to its newest release, and transitive deps refreshed. @cartesi/* follow their alpha tag: @cartesi/rollup 1.0.0-alpha.3 and @cartesi/codec 1.0.0-alpha.5 in the wallet, docs and examples. Others include viem 2.57, react 19.3, vite 8.3, turbo 2.11, biome 2.5.15, vocs 2.10, waku 1.0.0-rc.3, vitest 5.0.4 and @tanstack/react-query 5.104.
  • TypeScript 7 for the explorer only. It is the only package that uses TypeScript purely through the tsc CLI. TypeScript 7 no longer ships the classic compiler API, which tsup's .d.ts generation and the docs' twoslash depend on, so those packages stay on 6.0.3 (the newest 6.x).
  • GitHub Actions: setup-node 7.1.0, upload-artifact 7.0.2, download-artifact 8.0.2 and changesets/action 2.1.2, still pinned by SHA. checkout and setup-bun were already at their latest.
  • create-app's Dockerfile template: Node.js 24.17.0 → 24.20.0. That is the newest version with both a cartesi/node riscv64 image and an upstream node trixie image; 24.21 has no cartesi/node image yet.
  • Already current: machine-guest-tools 0.18.0, and the genext2fs / libarchive submodules (v1.5.6 / v3.8.9).

Changesets

  • @deroll/decoder minor — it re-exports the Input record, which changed shape.
  • @deroll/create-app, @deroll/decoder, @deroll/genext2fs, @deroll/wallet patch for the dependency bump. The wallet now recognizes deposits from the new portal addresses.

Testing

  • Not run against a real alpha.13 node.
  • Called every client action (real @cartesi/client@2.0.0-alpha.38 parsers) against the updated mock; all parsed.
  • Rendered the changed explorer pages in Chromium against the mock: no console errors, and portal deposits decode with the new addresses.
  • From a clean bun install --frozen-lockfile on bun 1.4.3: bun run lint, bun run build (all 6 packages) and bun run test pass (wallet 30/30, genext2fs 19/19 with the native addon rebuilt).
  • All six apps/examples dev:* scripts exit 0 against the libcmt mock with @cartesi/rollup 1.0.0-alpha.3.
  • Docs on vocs 2.10 / waku rc.3: served the build and loaded pages in Chromium side by side with a build of the base commit. Titles, rendered text and twoslash blocks match, with no type errors.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Uovoe2koh5SneMR2JLaKtY

Bump @cartesi/client to 2.0.0-alpha.38, @cartesi/react to 2.0.0-alpha.42
and @cartesi/codec to 1.0.0-alpha.5 (new contract/portal addresses), and
adapt the explorer and its mock server to the new API:

- node bar uses cartesi_getNodeInfo (chain, version, default block)
  instead of the deprecated getChainId/getNodeVersion
- applications: data availability removed; new terminal statuses
- epochs: outputs merkle root/proof replaced by the TX-buffer, iflags.Y
  and HTIF tohost data blocks and proofs
- inputs: outputsHash -> txBufferDataBlock, exception data, new statuses
- tournaments: kind, initial hash, base cycle, allowance, creation tx,
  current-state snapshot and bond events; commitment claimer/clock
- matches: phase, timeout outcome, bisection/sealed state, deadlines,
  leaf seal; advances keyed by tx hash + log index (getMatchAdvance)
- overview: executed / pending executable output counts; outputs list
  gains an Executed filter
- mock server serves the new shapes, filters and methods

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Uovoe2koh5SneMR2JLaKtY
@changeset-bot

changeset-bot Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 41c3bb4

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 4 packages
Name Type
@deroll/decoder Minor
@deroll/create-app Patch
@deroll/genext2fs Patch
@deroll/wallet Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel

vercel Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
deroll Ready Ready Preview Oct 14, 2026 3:27am UTC
deroll-explorer Ready Ready Preview Oct 14, 2026 3:27am UTC

@deroll/explorer is private and not tracked by changesets.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Uovoe2koh5SneMR2JLaKtY
@tuler tuler changed the title Migrate to Cartesi Rollups v2 and restructure monorepo feat(explorer): follow the rollups-node 2.0.0-alpha.13 JSON-RPC API Oct 3, 2026
@tuler
tuler changed the base branch from main to prerelease/v2 October 3, 2026 02:46
- bun 1.4.3 (packageManager)
- every npm dependency to its newest release: @cartesi/rollup
  1.0.0-alpha.3 and @cartesi/codec 1.0.0-alpha.5 (follow the alpha tag),
  viem 2.57, react 19.3, vite 8.3, turbo 2.11, biome 2.5.15, vocs 2.10,
  waku 1.0.0-rc.3, vitest 5.0.4, and the rest; transitive deps refreshed
- TypeScript 7 for the explorer only: it uses just the tsc CLI. The
  tsup-built packages and the docs (twoslash) stay on 6.0.3, because
  TypeScript 7 no longer ships the compiler API they rely on
- GitHub Actions: setup-node 7.1.0, upload-artifact 7.0.2,
  download-artifact 8.0.2, changesets/action 2.1.2
- create-app's Dockerfile template: Node.js 24.20.0, the newest version
  with both a cartesi/node riscv64 image and a node trixie image

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Uovoe2koh5SneMR2JLaKtY
@tuler tuler changed the title feat(explorer): follow the rollups-node 2.0.0-alpha.13 JSON-RPC API feat(explorer): follow the rollups-node 2.0.0-alpha.13 JSON-RPC API; bump dependencies Oct 14, 2026
@tuler
tuler merged commit c1f731d into prerelease/v2 Oct 14, 2026
4 checks passed
@tuler
tuler deleted the claude/peaceful-clarke-9tjjjj branch October 14, 2026 03:29

This branch was successfully deployed

2 active (1 outdated) deployments
Preview – deroll-explorer — 41c3bb4f Deployed Oct 14, 2026 by vercel[bot]
Preview – deroll — 9cfba4f7 Deployed Oct 3, 2026 by vercel[bot]
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.

2 participants