Repository navigation
feat(tempo): sync configurable accounts with Tempo T14 - #5260
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UUGrLTHJy3Rheqc2GoFoTB
Syncs `viem/tempo` configurable accounts with tempoxyz/tempo `joshie/configurable-t14-devnet-checkpoint`, using the ox 0.x prerelease (`pkg.pr.new/ox@e9b66c2`) until 0.14.57 is published. - Rename `nativeMultisig` ABI, address and selector exports to `configurableAccount`, and regenerate ABIs (adds `upgradeAccount`, `AccountUpgraded`, `verifyConfigurableAccount`, `RootKeyRetired`). - Add `accounts.upgrade`/`upgradeSync` (TIP-1113) and the `upgrade` form of `Account.fromConfig`; the relay caches configs installed by upgrades. - Add hardforks t7..t14 and fix `Hardfork.lt` for unknown hardforks. - Send `configurableAccountSimulation` and map key type 3 to `configurable`. - Point the accounts e2e at `sha-04e67d3` with the renamed genesis key and T14. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UUGrLTHJy3Rheqc2GoFoTB
🦋 Changeset detectedLatest commit: ca0c8ea The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
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 |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UUGrLTHJy3Rheqc2GoFoTB
commit: |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 57dc57bf4e
ℹ️ 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".
Adds `accounts.deriveAccount` and `accounts.verifyHash` for the configurable account precompiles, verifies configurable signatures in Tempo `verifyHash`, and adds a `factory` option to `Account.fromConfig` that defaults to the shared recovery factory. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UUGrLTHJy3Rheqc2GoFoTB
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a31b66aae1
ℹ️ 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".
Verified locally against the sha-04e67d3 node binary: all tempo-accounts suites pass. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UUGrLTHJy3Rheqc2GoFoTB
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 94c79202e1
ℹ️ 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".
- Make the relay's upgrade config cache best-effort after the node accepts. - Return non-success receipts from upgradeSync instead of extracting the event. - Add parameter examples to the new action pages. - Add client.scope to the decorator snapshot and raise two size limits. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UUGrLTHJy3Rheqc2GoFoTB
- Point the relay account and compat suite gates at sha-04e67d3. - Reject extra calls, call data or authorizations passed to accounts.upgrade. - Verify byte-array configurable signatures in verifyHash. - Use Return Value headings and add decorator examples for the new actions. 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
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UUGrLTHJy3Rheqc2GoFoTB
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Generated by Claude Code |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 01ce7d1f50
ℹ️ 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".
…sults - Always send accounts.upgrade as a Tempo envelope so relays cache the installed config, and cover the no-Tempo-field path in the relay test. - Type upgradeSync's pending and reverted results as receipt-only. - Add examples for the new Account.fromConfig factory and upgrade fields. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UUGrLTHJy3Rheqc2GoFoTB
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ca0c8ea151
ℹ️ 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".
| ## Usage | ||
|
|
||
| :::code-group | ||
|
|
||
| ```ts twoslash [example.ts] |
There was a problem hiding this comment.
Add standalone action examples to the new action pages
The Usage section demonstrates only the decorated client.accounts.* API and omits the required ### Standalone Action subsection. Add focused Actions.accounts.*(client, ...) examples here and on the new accounts.upgrade, accounts.upgradeSync, and accounts.verifyHash pages so users can discover the standalone exports.
AGENTS.md reference: AGENTS.md:L312-L317
Useful? React with 👍 / 👎.
| ``` | ||
|
|
||
| <ReadParameters /> |
There was a problem hiding this comment.
Document the errors thrown by verifyHash
This page explicitly states that malformed signatures and approvals below quorum throw, but it ends after Parameters without the required Errors section. Add an Error/Description table listing the concrete error classes callers should handle.
AGENTS.md reference: AGENTS.md:L348-L351
Useful? React with 👍 / 👎.
| if (envelope.type === 'configurable') | ||
| return await ( |
There was a problem hiding this comment.
Preserve ERC-1271 verification for contract accounts
When address has contract code and its ERC-1271 implementation accepts signature bytes that deserialize as a configurable envelope, this unconditional return sends the signature to the configurable-account precompile and returns false instead of invoking the contract verifier. The P256/WebAuthn branch below avoids the same problem by checking getCode and falling through for contracts; apply an equivalent guard here so configurable-looking bytes remain valid opaque ERC-1271 signatures.
Useful? React with 👍 / 👎.
| badge: { text: 'EXP', variant: 'warning' }, | ||
| text: 'deriveAccount', | ||
| link: '/tempo/actions/accounts.deriveAccount', |
There was a problem hiding this comment.
Use task phrases for the new sidebar labels
The four new Accounts entries use the raw identifiers deriveAccount, upgrade, upgradeSync, and verifyHash as their labels. Replace them with short Title Case task phrases such as “Derive Account,” “Upgrade Account,” “Upgrade and Wait,” and “Verify Signature” so the additions follow the sidebar convention rather than merely echoing API names.
AGENTS.md reference: AGENTS.md:L354-L357
Useful? React with 👍 / 👎.
Syncs
viem/tempoconfigurable accounts with tempoxyz/tempojoshie/configurable-t14-devnet-checkpoint, matching wevm/ox#518 and wevm/ox#519, and bumps ox to 0.14.57.nativeMultisigABI, address and selector exports toconfigurableAccountand regenerates the ABIs. This fixesupdateConfigSyncthrowing after a successful update, because the event was renamed. The new ABIs addupgradeAccount,AccountUpgraded,verifyConfigurableAccountandRootKeyRetired.Actions.accounts.upgrade/upgradeSyncfor in-place migration (TIP-1113), plus theupgradeform ofAccount.fromConfig. The relay caches the config an upgrade installs after the node accepts the transaction.Actions.accounts.deriveAccountandActions.accounts.verifyHash, which wrap the precompiles.verifyHashon Tempo chains now verifies configurable account signatures.Account.fromConfigtakes afactoryoption, which defaults to the shared recovery factory.t7–t14and fixesHardfork.ltreturningtrueforlt('t14', 't3').configurableAccountSimulation, maps key type 3 toconfigurable, and stores relay state underconfigurableAccount:*keys.sha-04e67d3, with the renamed genesis key and T14.Needs attention:
Abis.tswas regenerated with the newTEMPO_REF. Tempo main moved theIZonePortalandIZoneVerifierbindings out ofprecompiles/, andIZoneFactorychanged. The Zone exports are kept at their previous generated values, and the generator needs a follow-up to read the new location.Account.ts.🤖 Generated with Claude Code
https://claude.ai/code/session_01UUGrLTHJy3Rheqc2GoFoTB