Skip to content

[codex] add multisig relay handling - #613

Closed
gakonst wants to merge 9 commits into
mainfrom
codex/native-multisig-relay
Closed

[codex] add multisig relay handling#613
gakonst wants to merge 9 commits into
mainfrom
codex/native-multisig-relay

Conversation

@gakonst

@gakonst gakonst commented Jun 5, 2026

Copy link
Copy Markdown

What changed

Adds native multisig support to Handler.relay behind a new multisig option.

  • Intercepts native multisig eth_sendRawTransaction and eth_sendRawTransactionSync submissions.
  • Collects owner approvals in the configured store and broadcasts once owner weight reaches threshold.
  • Uses the canonical native multisig operation id from MultisigConfig.getSignPayload while quorum is pending.
  • Resolves that operation id through standard eth_getTransactionByHash and eth_getTransactionReceipt polling. Pending receipts return null; after quorum the relay proxies to the real submitted hash and clears the alias once a receipt exists.
  • Validates resolveConfig output against the multisig account and genesis config id, and reuses the stored bootstrap config for later approvals that omit init.
  • Handles Tempo fee-payer handoff envelopes (0x78) using viem/ox constants instead of hardcoded transaction prefixes.
  • Composes with feePayer: finalized multisig transactions can be fee-payer signed at quorum, including sponsor/default fee-token preservation.
  • Supports local native Tempo binaries in VITE_NODE_TAG for localnet testing while preserving Docker tag/HTTP URL support.

Validation

  • pnpm check
  • pnpm exec tsc -b --noEmit
  • pnpm test src/core/Client.test.ts src/server/internal/handlers/relay.test.ts
  • VITE_NODE_TAG=/Users/georgios/github/tempoxyz/tempo/target/debug/tempo VITE_RPC_PORT=18645 pnpm test src/server/internal/handlers/relay.localnet.test.ts (54 passed)

Localnet note

The Tempo Docker images tested locally (ghcr.io/tempoxyz/tempo:sha-3da8342 and latest) are amd64-only, and prool/testcontainers forces linux/x86_64. On this Apple Silicon machine they fail before RPC startup with MDBX failed to open the database: Operation not supported (95). The localnet validation above used the native Tempo PR 5178 binary at commit 3da83424774c714f1d20ffa1962a3531d0dd06d2.

@vercel

vercel Bot commented Jun 5, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
accounts-site Ready Ready Preview, Comment Jun 7, 2026 11:26am

Request Review

@pkg-pr-new

pkg-pr-new Bot commented Jun 5, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/tempoxyz/accounts@613

commit: cae54ee

@github-actions

github-actions Bot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor
Worker Preview
Wagmi https://684ce0e9-accounts-wagmi.porto.workers.dev

@github-actions

github-actions Bot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor
Worker Preview
Playground https://c038d2c4-accounts-playground.porto.workers.dev

Comment thread .changeset/native-multisig-relay.md Outdated
@tmm

tmm commented Jun 9, 2026

Copy link
Copy Markdown
Member

closing in favor of #624

@tmm tmm closed this Jun 9, 2026
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