-
Notifications
You must be signed in to change notification settings - Fork 381
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: edit documentation for Account Abstraction and add Smart Backend Wallets #5516
base: main
Are you sure you want to change the base?
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #5516 +/- ##
=======================================
Coverage 43.84% 43.84%
=======================================
Files 1081 1081
Lines 56186 56186
Branches 3929 3929
=======================================
Hits 24635 24635
Misses 30868 30868
Partials 683 683
*This pull request uses carry forward flags. Click here to find out more. |
Your org has enabled the Graphite merge queue for merging into mainAdd the label “merge-queue” to the PR and Graphite will automatically add it to the merge queue when it’s ready to merge. Or use the label “hotfix” to add to the merge queue as a hot fix. You must have a Graphite account and log in to Graphite in order to use the merge queue. Sign up using this link. |
Smart backend wallets inherit smart account benefits and offer several advantages over traditional EOAs: | ||
|
||
- **Gas Management**: Built-in paymaster eliminates the need to maintain gas tokens. This means you never need to hold crypto or top up for gas. | ||
- **Better Nonce Management**: Smart accounts use multi-dimensnal nonces, which are more efficient than EOAs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There appears to be a typo in "multi-dimensnal" - it should be "multi-dimensional". This affects readability of an otherwise well-written technical explanation.
Spotted by Graphite Reviewer
Is this helpful? React 👍 or 👎 to let us know.
Smart backend wallets inherit smart account benefits and offer several advantages over traditional EOAs: | ||
|
||
- **Gas Management**: Built-in paymaster eliminates the need to maintain gas tokens. This means you never need to hold crypto or top up for gas. | ||
- **Better Nonce Management**: Smart accounts use multi-dimensnal nonces, which are more efficient than EOAs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There appears to be a typo in "multi-dimensnal" - it should be "multi-dimensional". This affects readability of an otherwise well-written technical explanation.
Spotted by Graphite Reviewer
Is this helpful? React 👍 or 👎 to let us know.
size-limit report 📦
|
Merge activity
|
@@ -8,6 +8,19 @@ export const metadata = createMetadata({ | |||
|
|||
# Account Abstraction | |||
|
|||
<Callout variant="info" title="Looking to use account abstraction for your backend operations?"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this prompt is unclear.
Engine's concept of "account abstraction" typically refers to Engine backend EOA wallets managing smart accounts.
So this callout is suggesting a different type of account abstraction that they may be looking for (which is incompatible with the above AA use cases).
I think we can downplay the fact that smart backend wallets are AA-based and just mention the benefits. I wouldn't put too much detail here since it's hard to convey what it is without the person just reading the other page.
Your backend wallets can be smart accounts too!
Use Smart Backend Wallets to get the benefits of account abstraction for your backend wallets, including:
...
Learn more about Smart Backend Wallets
Let's also put this below the intro sentence (line 24 below) since the developer doesn't even know what this page is about yet, and we're prompting them they might be looking for something else.
@@ -12,6 +13,50 @@ Engine performs blockchain actions using backend wallets that you own and manage | |||
|
|||
There are multiple options for securing backend wallets. | |||
|
|||
## Smart Backend Wallets |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMO less detail around "how it works" so we can focus the content on "why you should care" and "how to use it".
- Remove the note about EOA internally managed and default factory. It's sufficient to just say "it uses a smart account".
- Probably remove comment on multi-dimensional nonces. We can just say "Higher throughput: Transactions are sent from thirdweb's bundler to maximize onchain throughput."
|
||
The smart account is automatically deployed the first time you send a transaction on a chain. You don't need to think about deploying or managing the smart account - Engine handles everything behind the scenes. All transactions are sent as UserOperations to the EntryPoint contract on chain. | ||
|
||
<Details summary="How are Smart Backend Wallets different from existing engine AA features?"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: always capitalize Engine (product name)
Unlike the [previous account abstraction implementation in | ||
Engine](account-abstraction) where you had to manage both the account address | ||
(`x-account-address`) and the backend wallet address | ||
(`x-backend-wallet-address`) separately, smart backend wallets simplify this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: I've also been capitalizing Smart Backend Wallets.
"backend wallet" = a concept, lowercase is fine
"Smart Backend Wallet" = product/feature name (like "Contract Subscriptions")
The backend wallet address is now the smart account address itself. | ||
</Details> | ||
|
||
<Details summary="When not to use Smart Backend Wallets?"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm would someone need this, or would we build this in the future? Maybe this just belongs in an FAQ section at the bottom:
## FAQ
#### Can I import a smart account?
No, importing a smart account is currently not supported.
|
||
### Configuration Types | ||
|
||
- `smart:local` - Smart account backed by a local key |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"backed up locally in Engine" or something. Don't need to reference the EOA
### Pricing | ||
|
||
Smart backend wallets have no additional costs to use with your Engine instance. Transactions sent from smart backend wallets follow the [same billing model as regular account abstraction transactions with thirdweb](/connect/account-abstraction/infrastructure#pricing--billing). | ||
Smart accounts need to be deployed on each chain. This costs gas and is billed to your account like any other transaction. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A little more clear:
Note: Smart Backend Wallets deploy a smart account on each chain they send transactions on. You are billed for this deployment cost.
- `smart:aws-kms` - Smart account backed by AWS KMS | ||
- `smart:gcp-kms` - Smart account backed by Google Cloud KMS | ||
|
||
For AWS and Google Cloud KMS options, follow the setup instructions in the respective sections below. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To configure AWS and Google Cloud KMS, ...
|
||
### Pricing | ||
|
||
Smart backend wallets have no additional costs to use with your Engine instance. Transactions sent from smart backend wallets follow the [same billing model as regular account abstraction transactions with thirdweb](/connect/account-abstraction/infrastructure#pricing--billing). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should note the customer is charged for mainnet usage only.
You are billed for mainnet transactions sent from Smart Backend Wallets (see Account Abstraction pricing). There is no cost for testnet transactions.
closes INFRA-411
PR-Codex overview
This PR focuses on enhancing the documentation for
Account Abstraction
andBackend Wallets
in the thirdweb Engine, introducingSmart Backend Wallets
and their benefits, along with configuration types and pricing details.Detailed summary
Callout
inaccount-abstraction/page.mdx
recommendingSmart Backend Wallets
for backend operations.Smart Backend Wallets
inbackend-wallets/page.mdx
.Smart Backend Wallets
, including gas management and simple integration.Smart Backend Wallets
differ from previous implementations.Smart Backend Wallets
.Smart Backend Wallets
.