Skip to content

feat(tempo): sync configurable accounts with Tempo main (0.x) - #519

Merged
jxom merged 9 commits into
0.xfrom
jxom/peaceful-lovelace-1528gj-v0
Oct 21, 2026
Merged

jxom merged 9 commits into
0.xfrom
jxom/peaceful-lovelace-1528gj-v0

Conversation

@jxom

@jxom jxom commented Oct 20, 2026 •

Copy link
Copy Markdown
Member

Backport of #518 to 0.x, for the viem release line (ox@0.14.x).

Same changes, synced with tempoxyz/tempo joshie/configurable-t14-devnet-checkpoint:

  • tempo:configurable-account:* hash domains, pinned to Tempo's Rust vectors.
  • Wire names configurableAccount and configurableAccountSimulation, plus the optional simulation signer.
  • AccountConfig.fromUpgrade (TIP-1113).
  • Unbound configurable key grants.
  • The simulation keyData fix.
  • The e2e on ghcr.io/tempoxyz/tempo:sha-04e67d3.
  • The browser job pinned to ubuntu-24.04.

Differences from main:

  • 0.x has no zod tempo modules or AGENTS.md, so those parts are dropped.
  • 0.x also required account for configurable grants at the type level (the KeyAuthorization.Input and KeyAuthorization.Rpc unions), so account is now optional in both.

🤖 Generated with Claude Code

https://claude.ai/code/session_01UUGrLTHJy3Rheqc2GoFoTB

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UUGrLTHJy3Rheqc2GoFoTB
(cherry picked from commit b126168)
Rename the configurable account hash domains to tempo:configurable-account:*
(tempoxyz/tempo#8502) and pin Tempo's Rust vectors in tests. Add
AccountConfig.fromUpgrade for TIP-1113 in-place migration, reject admin
key authorizations signed by configurable accounts (TIP-1137), and stop
passing empty or 3-byte simulation keyData the node rejects.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UUGrLTHJy3Rheqc2GoFoTB
(cherry picked from commit f52be77)
Point the e2e at the image built from tempoxyz/tempo#8486, rename the
genesis key to configurableAccountRecoveryFactory, and activate T14.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UUGrLTHJy3Rheqc2GoFoTB
(cherry picked from commit cf0b920)
The node binds a root-signed grant to its signer and only requires
`account` on admin-signed grants (TIP-1049), so ox rejected valid grants.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UUGrLTHJy3Rheqc2GoFoTB
(cherry picked from commit 88a0e8d)
0.x also required `account` for configurable grants at the type level, in
`KeyAuthorization.Input` and `KeyAuthorization.Rpc`.

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

vercel Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
ox Error Error Oct 21, 2026 10:07pm UTC

Request Review

@pkg-pr-new

pkg-pr-new Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/ox@519

commit: b7deb6f

@jxom
jxom marked this pull request as ready for review October 20, 2026 23:05
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-21T22:09:01.957257Z b7deb6f New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

jxom commented Oct 20, 2026

Copy link
Copy Markdown
Member Author

Red checks on this head (8d6a754), none from this diff:

  • Test Runtime (tempo, env: localnet, tag: edge): the only failure is ZoneRpcAuthentication > e2e > succeeds with auth token. It calls the live https://rpc-zone-b.testnet.tempo.xyz with VITE_TEMPO_CREDENTIALS and gets 401 unauthorized: invalid API key. This PR doesn't touch zone authentication, and the last green 0.x run was Oct 11. main changed the test to zone A and marked it test.skip. I haven't ported that because it disables the test; it needs either valid credentials for the testnet zone or an explicit call to skip it on 0.x too.
  • Test Runtime (tempo multisig): same blocker as feat(tempo): sync configurable accounts with Tempo main #518. The pr-8486 node can't decode 0x05 configurable signatures yet.

The browser job is green with the ubuntu-24.04 pin.


Generated by Claude Code

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8d6a754939

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread test/tempo/configurableAccounts.ts Outdated
Comment thread src/tempo/KeyAuthorization.ts Outdated
Comment thread src/tempo/KeyAuthorization.ts Outdated
Configurable key types only exist from T14, where TIP-1137 rejects every
admin grant, so an isAdmin grant of a configurable key is always invalid,
whoever signs it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UUGrLTHJy3Rheqc2GoFoTB
(cherry picked from commit 121d138)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UUGrLTHJy3Rheqc2GoFoTB
snario added a commit to tempoxyz/docs that referenced this pull request Oct 21, 2026
…#1047)

* feat(accounts): point the Accounts demos at the t14-checkpoint devnet

The t14-checkpoint devnet runs joshie/configurable-t14-devnet-checkpoint, which
renames the configurable account hash domains and RPC fields.

- Repoint the RPC proxy, tailnet URL and Node snippet from multisig-1113.
- Pin viem's ox to the wevm/ox#519 preview for the new hash domains.
- Rename multisigSimulation to configurableAccountSimulation in the proxy,
  so the node estimates a new account's first transaction correctly.

Configuration updates still fail until viem ships the renamed precompile ABI.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(accounts): parse the renamed config update event and upgrade salt domain

The t14-checkpoint node emits ConfigurableAccountConfigUpdated and salts
in-place upgrades with tempo:configurable-account:upgrade. viem still
expects MultisigConfigUpdated, so updateConfigSync threw after a
successful update. Send the update directly and parse the new event.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(deps): scope the ox preview override to the docs' viem

viem>ox also replaced ox under transitive viem 2.54.6, which imports the
MultisigConfig export the preview dropped, and broke the build.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Match tempoxyz/tempo joshie/configurable-t14-devnet-checkpoint: the RPC key
type is configurableAccount and the request field is
configurableAccountSimulation, the simulation spec carries an optional grant
signer, and configurable accounts may be or authorize admin keys, so the
TIP-1137 guard is removed. The e2e runs against image sha-04e67d3.

(cherry picked from commit e7be197)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UUGrLTHJy3Rheqc2GoFoTB
@jxom
jxom merged commit e9b66c2 into 0.x Oct 21, 2026
25 of 28 checks passed
@jxom
jxom deleted the jxom/peaceful-lovelace-1528gj-v0 branch October 21, 2026 23:45
@github-actions github-actions Bot mentioned this pull request Oct 21, 2026

This branch had an error being deployed

1 failed deployment
Preview — b7deb6fd Deployed Oct 21, 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