From d2873c46e41e26cc0c7740269fafc66a68e9409c Mon Sep 17 00:00:00 2001 From: Dexie Date: Sat, 14 Jun 2025 10:24:51 +0100 Subject: [PATCH 01/10] Spellcheck docs/pages/sdk/permissions/intro.mdx --- docs/pages/sdk/permissions/intro.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/sdk/permissions/intro.mdx b/docs/pages/sdk/permissions/intro.mdx index e4bf7ab..4ea6ee7 100644 --- a/docs/pages/sdk/permissions/intro.mdx +++ b/docs/pages/sdk/permissions/intro.mdx @@ -72,7 +72,7 @@ Actions are arbitrary functions that the smart account will `delegatecall` to. Note that actions are NOT to be confused with the calls you actually want to execute. For example, if you want to interact with Uniswap, that's just the call you want to execute. "Action" here specifically refers to the execution function by which Uniswap is called. -If that's confusing, just forget about actions. Mostly commonly you will only be setting up signers and policies, and the `action` will default to Kernel's default `execute()` function, which is enough for most needs. +If that's confusing, just forget about actions. Most commonly you will only be setting up signers and policies, and the `action` will default to Kernel's default `execute()` function, which is enough for most needs. ## Next Steps From 3f411e033e18c238c2b41056595bed169f8a6481 Mon Sep 17 00:00:00 2001 From: Dexie Date: Sat, 14 Jun 2025 10:24:52 +0100 Subject: [PATCH 02/10] Spellcheck docs/pages/sdk/getting-started/quickstart-7702.mdx --- docs/pages/sdk/getting-started/quickstart-7702.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/sdk/getting-started/quickstart-7702.mdx b/docs/pages/sdk/getting-started/quickstart-7702.mdx index 5bdd8cc..bc7482e 100644 --- a/docs/pages/sdk/getting-started/quickstart-7702.mdx +++ b/docs/pages/sdk/getting-started/quickstart-7702.mdx @@ -1,6 +1,6 @@ # Quickstart -- EIP-7702 -[EIP-7702](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7702.md) is an upcoming Ethereum upgrade that will allow for attaching a piece of EVM code to a EOA, effectively turning it into a "dual account" that can function simultaneously as a EOA and a smart account. You can learn more about EIP-7702 from our blog series [here](/blog/7702-adoption) and [here](/blog/7702-for-dapps). +[EIP-7702](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7702.md) is an upcoming Ethereum upgrade that will allow for attaching a piece of EVM code to an EOA, effectively turning it into a "dual account" that can function simultaneously as a EOA and a smart account. You can learn more about EIP-7702 from our blog series [here](/blog/7702-adoption) and [here](/blog/7702-for-dapps). In practical terms, this means that EOA users can now enjoy most of the benefits of AA, such as gas sponsorship, transaction batching, session keys, chain abstraction, and more. From cd0a9f0b8bfc3dfceb15841d255a75a82a495d47 Mon Sep 17 00:00:00 2001 From: Dexie Date: Sat, 14 Jun 2025 10:24:53 +0100 Subject: [PATCH 03/10] Spellcheck docs/pages/sdk/getting-started/quickstart-7702.mdx --- docs/pages/sdk/getting-started/quickstart-7702.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/sdk/getting-started/quickstart-7702.mdx b/docs/pages/sdk/getting-started/quickstart-7702.mdx index bc7482e..cd7bb04 100644 --- a/docs/pages/sdk/getting-started/quickstart-7702.mdx +++ b/docs/pages/sdk/getting-started/quickstart-7702.mdx @@ -1,6 +1,6 @@ # Quickstart -- EIP-7702 -[EIP-7702](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7702.md) is an upcoming Ethereum upgrade that will allow for attaching a piece of EVM code to an EOA, effectively turning it into a "dual account" that can function simultaneously as a EOA and a smart account. You can learn more about EIP-7702 from our blog series [here](/blog/7702-adoption) and [here](/blog/7702-for-dapps). +[EIP-7702](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7702.md) is an upcoming Ethereum upgrade that will allow for attaching a piece of EVM code to an EOA, effectively turning it into a "dual account" that can function simultaneously as an EOA and a smart account. You can learn more about EIP-7702 from our blog series [here](/blog/7702-adoption) and [here](/blog/7702-for-dapps). In practical terms, this means that EOA users can now enjoy most of the benefits of AA, such as gas sponsorship, transaction batching, session keys, chain abstraction, and more. From 932e4e4b015a532013cea644201c3fe51efb3bb1 Mon Sep 17 00:00:00 2001 From: Dexie Date: Sat, 14 Jun 2025 10:24:54 +0100 Subject: [PATCH 04/10] Spellcheck docs/pages/sdk/getting-started/quickstart-7702.mdx --- docs/pages/sdk/getting-started/quickstart-7702.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/sdk/getting-started/quickstart-7702.mdx b/docs/pages/sdk/getting-started/quickstart-7702.mdx index cd7bb04..74fae03 100644 --- a/docs/pages/sdk/getting-started/quickstart-7702.mdx +++ b/docs/pages/sdk/getting-started/quickstart-7702.mdx @@ -4,7 +4,7 @@ In practical terms, this means that EOA users can now enjoy most of the benefits of AA, such as gas sponsorship, transaction batching, session keys, chain abstraction, and more. -In this example, we will upgrade a EOA into a ZeroDev smart account ([Kernel](https://github.com/zerodevapp/kernel)) and send a gasless batched transaction from it. +In this example, we will upgrade an EOA into a ZeroDev smart account ([Kernel](https://github.com/zerodevapp/kernel)) and send a gasless batched transaction from it. ## Complete example From 1640cfc493eae0b2ff1c6b8089f23288f70f5a39 Mon Sep 17 00:00:00 2001 From: Dexie Date: Sat, 14 Jun 2025 10:24:54 +0100 Subject: [PATCH 05/10] Spellcheck docs/pages/sdk/getting-started/quickstart-7702.mdx --- docs/pages/sdk/getting-started/quickstart-7702.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/sdk/getting-started/quickstart-7702.mdx b/docs/pages/sdk/getting-started/quickstart-7702.mdx index 74fae03..96ec502 100644 --- a/docs/pages/sdk/getting-started/quickstart-7702.mdx +++ b/docs/pages/sdk/getting-started/quickstart-7702.mdx @@ -36,7 +36,7 @@ Use the ZeroDev RPC on your project page from the dashboard. ## Upgrade EOA to smart account -To upgrade a EOA to a smart account, you need to sign an "authorization." You can create this authorization manually and pass it to the ZeroDev SDK, or you can let ZeroDev create this authorization automatically. +To upgrade an EOA to a smart account, you need to sign an "authorization." You can create this authorization manually and pass it to the ZeroDev SDK, or you can let ZeroDev create this authorization automatically. ### Automatically create the authorization From 0720dd8c7a90232b8557b0c1df3767f508608f25 Mon Sep 17 00:00:00 2001 From: Dexie Date: Sat, 14 Jun 2025 10:24:55 +0100 Subject: [PATCH 06/10] Spellcheck docs/pages/sdk/getting-started/quickstart-7702.mdx --- docs/pages/sdk/getting-started/quickstart-7702.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/sdk/getting-started/quickstart-7702.mdx b/docs/pages/sdk/getting-started/quickstart-7702.mdx index 96ec502..3fc94e4 100644 --- a/docs/pages/sdk/getting-started/quickstart-7702.mdx +++ b/docs/pages/sdk/getting-started/quickstart-7702.mdx @@ -132,6 +132,6 @@ await kernelClient.waitForUserOperationReceipt({ console.log("UserOp completed") ``` -Congratulations! You just sent your first gasless, batched transaction using a EOA. You can see it by looking up your account on [the Sepolia explorer](https://sepolia.etherscan.io/). Note that you may need to look under "Internal Transactions" because UserOps do not appear as regular transactions. +Congratulations! You just sent your first gasless, batched transaction using an EOA. You can see it by looking up your account on [the Sepolia explorer](https://sepolia.etherscan.io/). Note that you may need to look under "Internal Transactions" because UserOps do not appear as regular transactions. Easy, right? Now try some of the more advanced [examples](https://7702.zerodev.app/) for building with 7702, or explore the rest of the ZeroDev docs! From 25106b9a816459ee3dc0e232cef1c7904b5ccc44 Mon Sep 17 00:00:00 2001 From: Dexie Date: Sat, 14 Jun 2025 10:24:56 +0100 Subject: [PATCH 07/10] Spellcheck docs/pages/blog/3074-pitfalls.mdx --- docs/pages/blog/3074-pitfalls.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/blog/3074-pitfalls.mdx b/docs/pages/blog/3074-pitfalls.mdx index bad880e..ef3945d 100644 --- a/docs/pages/blog/3074-pitfalls.mdx +++ b/docs/pages/blog/3074-pitfalls.mdx @@ -13,7 +13,7 @@ layout: minimal [EIP-3074](https://eips.ethereum.org/EIPS/eip-3074) has been confirmed for the next Ethereum hardfork (”Pectra”), which is amazing news for the Ethereum community. For the first time, EOA users will be able to enjoy the benefits of account abstraction (AA) — gas sponsorship, transaction batching, session keys, passkeys, etc. At ZeroDev, we cannot be more excited to bring these smart account features to EOA users. -At its core, 3074 is a very simple proposal. Two new opcodes, `AUTH` and `AUTHCALL`, together enable a smart contract (known as an “invoker”) to take over the address of a EOA. Most of the complexity in enabling the aforementioned AA features is left out of the protocol itself, and left to the application layer (specifically invokers and relayers) to handle. +At its core, 3074 is a very simple proposal. Two new opcodes, `AUTH` and `AUTHCALL`, together enable a smart contract (known as an “invoker”) to take over the address of an EOA. Most of the complexity in enabling the aforementioned AA features is left out of the protocol itself, and left to the application layer (specifically invokers and relayers) to handle. By leaving complexity out of the spec, however, EIP-3074 opens up many possible paths to account abstraction. **The danger is that some of these paths may lead to a future of AA that is more centralized and permissioned than any of us intended or desired.** This blog post explains: From fbbc28b198344d83db7a01960c325c926364016d Mon Sep 17 00:00:00 2001 From: Dexie Date: Sat, 14 Jun 2025 10:24:56 +0100 Subject: [PATCH 08/10] Spellcheck docs/pages/blog/3074-pitfalls.mdx --- docs/pages/blog/3074-pitfalls.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/blog/3074-pitfalls.mdx b/docs/pages/blog/3074-pitfalls.mdx index ef3945d..10e5fb9 100644 --- a/docs/pages/blog/3074-pitfalls.mdx +++ b/docs/pages/blog/3074-pitfalls.mdx @@ -50,7 +50,7 @@ Smart account transactions are particularly challenging for DoS protection, beca - It takes more computational resources to validate a transaction, since validation is implemented with smart contracts and therefore can consume significant computational resources. - Since the validation contract can read chain state, valid transactions may become invalid as the chain state changes. -As a result, a mempool of nodes that verify smart account transactions are particularly vulnerable to DoS attacks. The second problem is especially tricky, because if a relayer thinks that a smart account transaction is valid, packages it into a EOA, and submits it on-chain, only to find out that it’s invalid after all, the relayer will have wasted not just computational resources but also gas, which makes the attack particularly economically disruptive. +As a result, a mempool of nodes that verify smart account transactions are particularly vulnerable to DoS attacks. The second problem is especially tricky, because if a relayer thinks that a smart account transaction is valid, packages it into an EOA, and submits it on-chain, only to find out that it’s invalid after all, the relayer will have wasted not just computational resources but also gas, which makes the attack particularly economically disruptive. Since EIP-3074 doesn’t address this problem, the problem must be solved by invokers and relayers. If it’s not solved, **the default behavior would be for all 3074 relayers to only accept transactions from trusted senders, resulting in fragmented and permissioned mempools, and a low degree of censorship resistance.** From 498f07447f83ebd191179cca0fb81a5304e06d1d Mon Sep 17 00:00:00 2001 From: Dexie Date: Sat, 14 Jun 2025 10:24:57 +0100 Subject: [PATCH 09/10] Spellcheck docs/pages/sdk/faqs/use-with-gelato.mdx --- docs/pages/sdk/faqs/use-with-gelato.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/sdk/faqs/use-with-gelato.mdx b/docs/pages/sdk/faqs/use-with-gelato.mdx index d7b3faf..6684c81 100644 --- a/docs/pages/sdk/faqs/use-with-gelato.mdx +++ b/docs/pages/sdk/faqs/use-with-gelato.mdx @@ -1,6 +1,6 @@ # Using ZeroDev with Gelato -Gelato's has a unique approach to handling transaction fees without the need for an EntryPoint deposit or an on-chain paymaster. Instead, transaction fees are settled post-execution via [1Balance](https://docs.gelato.network/web3-services/relay/subscriptions-and-payments/1balance-and-relay) across all supported networks, ensuring accurate charging of gas consumed without necessitating per-chain user deposits. +Gelato has a unique approach to handling transaction fees without the need for an EntryPoint deposit or an on-chain paymaster. Instead, transaction fees are settled post-execution via [1Balance](https://docs.gelato.network/web3-services/relay/subscriptions-and-payments/1balance-and-relay) across all supported networks, ensuring accurate charging of gas consumed without necessitating per-chain user deposits. For a deeper understanding of Gelato's capabilities, refer to [their comprehensive documentation](https://docs.gelato.network/web3-services/account-abstraction/advantages-and-highlights). From 1b0b1cc713269284df91b8989af42440cc560d47 Mon Sep 17 00:00:00 2001 From: Dexie Date: Sat, 14 Jun 2025 10:24:57 +0100 Subject: [PATCH 10/10] Spellcheck docs/pages/smart-wallet/permissions/intro.mdx --- docs/pages/smart-wallet/permissions/intro.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/smart-wallet/permissions/intro.mdx b/docs/pages/smart-wallet/permissions/intro.mdx index 49bd16f..39318fd 100644 --- a/docs/pages/smart-wallet/permissions/intro.mdx +++ b/docs/pages/smart-wallet/permissions/intro.mdx @@ -72,7 +72,7 @@ Actions are arbitrary functions that the smart account will `delegatecall` to. Note that actions are NOT to be confused with the calls you actually want to execute. For example, if you want to interact with Uniswap, that's just the call you want to execute. "Action" here specifically refers to the execution function by which Uniswap is called. -If that's confusing, just forget about actions. Mostly commonly you will only be setting up signers and policies, and the `action` will default to Kernel's default `execute()` function, which is enough for most needs. +If that's confusing, just forget about actions. Most commonly you will only be setting up signers and policies, and the `action` will default to Kernel's default `execute()` function, which is enough for most needs. ## Next Steps