Skip to content

feat: add EIP-5792 wallet call bridge - #148

Merged
0xpantera merged 1 commit into
mainfrom
feature/issue-94-eip5792-batch-calls
Jun 24, 2026
Merged

feat: add EIP-5792 wallet call bridge#148
0xpantera merged 1 commit into
mainfrom
feature/issue-94-eip5792-batch-calls

Conversation

@0xpantera

Copy link
Copy Markdown
Collaborator

Summary

  • add EIP-5792 wallet_getCapabilities, wallet_sendCalls, and wallet_getCallsStatus to the browser bridge
  • support only v2.0.0, atomicRequired: false, and calls that lower to Deckard's clear-signable transaction intents
  • keep atomic batching, required unsupported capabilities, EIP-7702 authorization payloads, and arbitrary calldata fail-closed
  • update the extension allowlist and signerd-backed WalletBeat local-chain QA lane to cover EIP-5792

Security model

This PR does not claim smart-account atomic execution. Batches are executed sequentially through the existing signerd approval path and wallet_getCallsStatus reports atomic: false. atomicRequired: true is explicitly refused until Deckard has an atomic execution path and reviewed UI.

Test Plan

  • cargo test -p deckard-browser-bridge eip5792 -- --nocapture
  • pnpm run qa:walletbeat:local-chain
  • cargo fmt --all --check
  • just check
  • cargo test --workspace
  • pnpm run qa:extension
  • pnpm run qa:extension:real
  • pnpm run qa:walletbeat
  • pnpm run qa:walletbeat:signatures
  • pnpm run qa:walletbeat:transactions
  • git diff --check

Closes #94

@0xpantera 0xpantera self-assigned this Jun 24, 2026
@0xpantera
0xpantera force-pushed the feature/issue-94-eip5792-batch-calls branch from 745d648 to e1a1101 Compare June 24, 2026 14:43
@0xpantera
0xpantera merged commit c369587 into main Jun 24, 2026
5 checks passed
@0xpantera
0xpantera deleted the feature/issue-94-eip5792-batch-calls branch June 24, 2026 14:52
hellno added a commit that referenced this pull request Jul 10, 2026
…-bridge doc (#220)

- ADR 0006: accept the shipped 127.0.0.1:8765 loopback bridge as the alpha
  transport (temporary/experimental); native messaging stays the post-audit
  target; priority is the two ends (core + extension). Resolves the #202 decision.
- browser-bridge.md: correct two stale claims — the bridge forwards the full
  EIP-1193 set (personal_sign / eth_signTypedData_v4 / eth_sendTransaction /
  EIP-5792), not 'only 3 methods', and those are no longer 'not implemented'
  (#139/#141/#146/#148, attributed via #198).
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.

Implement WalletBeat EIP-5792 batch-call support

1 participant