EIP-5792 🫂 EIP-7702
there still seems to be some confusion about EIP 5792 and EIP 7702. tldr:
- 5792 and 7702 are complementary
- 7702 gives EOAs the ability to do atomic batching by giving them an upgrade path to smart contract accounts
- 5792 is about giving an apps a universal interface for submitting batch tx requests to wallets.
- 7702 alone is not enough because different wallets might upgrade their users’ EOAs to smart accounts with different batching interfaces. ie apps cannot know exactly how to encode a batch for any arbitrary wallet
- 5792 alone is not enough because without 7702, millions of users would not be able to access atomic batching (and more through capabilities) without switching wallets.
EIP-5792 and EIP-7702 are friends, not competitors.
Apps need to adopt 5792 so they can submit batch requests to any wallet, and wallets need to upgrade their users’ EOAs via 7702 so they can access atomic batching and much more.
fun fact: base pay user info collection is built on an eip-5792 “dataCallback” capability. it lets apps collect contact and shipping info as part of a wallet_sendCalls request. apps can also provide a callback url to “check” a user’s info and update the transaction request accordingly (for example, adding a shipping fee based on a user’s shipping address).
i finally got around to writing a draft erc for this, please check it out below and share feedback! i’d love to see more wallets and apps adopt it. there’s also a playground below you can try to see what else you can do with this capability.
excited to share results from some ZKP benchmarking i’ve been working on with @ltb and @bluepalowski wanted to see how popular frameworks perform when proving passkey signatures. such proofs enable exciting use cases like privacy-preserving auth and payments.
check out the code & full blog post below
Coinbase Smart Wallet session keys update!
session keys allow users to transact with their Smart Wallet without popups. we've been heads down working on the feature and just updated our docs to reflect some of the latest changes, including:
- getting the ERC-7715 grantPermissions request up to date with the latest spec
- adding in-browser key creation and signing with a fork of wevm's webauthn-p256
- an updated useSendCalls hook to support session keys
try it out and share feedback! https://smart-wallet-docs-git-conner-session-keys-coinbase-vercel.vercel.app/guides/session-keys
drop questions in the smart-wallet channel in the CDP discord (link below). feel free to shoot me a dm too. the feature is coming soon to mainnet & the team is eager to help people start integrating
Coinbase Smart Wallet session key demo! Session keys combine the enhanced UX of embedded wallets with the benefits of a unified account.
This video shows a demo and goes over some of the thinking behind our approach.
We're excited to get this in the hands of developers, so reach out to me if you're interested in experimenting with this and I'd be happy to help you get setup.
excited about this! better devx for app devs with this RPC, and better UX for users with one-click connection + SIWE + permissions.
looking forward to pushing this forward with @pedrouid@lukaisailovic.eth@symmetry and @jxom
good thread explaining EIP-5792. game changer for apps that enables things like batch and sponsored transactions.
support for these methods is also live in Coinbase Smart Wallet. try it out!
Spun up a site for ERC-7677
erc7677.xyz
ERC-7677 allows app developers to sponsor their users' transactions via an EIP-5792 capability. If you're an app developer, wallet developer, or you offer paymaster services, check out the site to learn more!
we recently merged an update to EIP-5792 that allows devs to tap into advanced wallet features via capabilities.
yesterday, we put up a proposal for a paymaster capability. this will allow apps to sponsor users' transactions. check it out & share feedback
https://github.com/ethereum/ERCs/pull/360
a few weeks ago I shared a proposal for new wallet RPC methods that would allow for things like batch and app-sponsored transactions.
today im sharing that we'll be moving forward with this proposal as an update to EIP-5792. the update can be found here https://github.com/ethereum/EIPs/pull/8361
this video showcases "wallet_sendTransaction" and "wallet_getTransactionStatus."
we're considering renaming these to "wallet_sendCalls" & "wallet_getCallsStatus" because multiple calls would not be a single transaction in the case of EOAs. curious to hear thoughts on this
sharing a demo of the new wallet RPCs we proposed a few weeks ago! support will be live in the smart wallet in the next couple of days. please reach out if you're interested in building with the new methods, would love to hear any feedback.
been cooking with @wilsoncusack on a proposal for how we can enhance communication between apps & wallets, motivated in part by the launch of our new Smart Wallet.
please check it out and feel free to leave comments / reach out. would love any feedback!
https://hackmd.io/@lsr/proposal-for-new-wallet-rpcs
op-wagmi is live! opwagmi.sh
Wagmi v2 style hooks for OP stack interactions. Simplifies all the actions you’d need to spin up a bridge for an OP stack chain, with more coming soon.
Check out the code here https://github.com/base-org/op-wagmi