Skip to content

feat(4337): entrypoint 0.8 + eip7702 #3535

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
wants to merge 26 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
f59058e
Add entrypoint 0.8 & 7702 support
plusminushalf Apr 1, 2025
d6b8025
Export entryPoint08Abi and entryPoint08Address
plusminushalf Apr 2, 2025
5db93c0
Add 7702 support to older entrypoints as well
plusminushalf Apr 2, 2025
13486e2
Add tests
plusminushalf Apr 2, 2025
bfeb250
Fix test
plusminushalf Apr 7, 2025
32e5774
Fix tests
plusminushalf Apr 10, 2025
27e4a0c
Merge pull request #1 from plusminushalf/tests
plusminushalf Apr 10, 2025
2febf91
Merge branch 'main' of github.com:wevm/viem into entrypoint-0.8
plusminushalf Apr 10, 2025
b98caff
No need for deploySimulationsContract
plusminushalf Apr 10, 2025
234b615
Add tests for getUserOperationReceipt
plusminushalf Apr 10, 2025
bc70a2f
Fic types for prepare user operation
plusminushalf Apr 10, 2025
c07fda0
Add more tests and introduce new anvil for AA tests
plusminushalf Apr 11, 2025
3bd98a9
Fix toSimple7702SmartAccount
plusminushalf Apr 12, 2025
f20f45f
Merge branch 'main' of github.com:wevm/viem into entrypoint-0.8
plusminushalf Apr 12, 2025
224c636
Reset anvil for AA tests
plusminushalf Apr 13, 2025
99fa27f
Fix todo
plusminushalf Apr 13, 2025
9858bd1
Fix toCoinbaseSmartAccount tests
plusminushalf Apr 13, 2025
d446b89
Merge branch 'main' into entrypoint-0.8
jxom Apr 16, 2025
56ac8b8
tests: tweak
jxom Apr 16, 2025
0ebad24
tests: tweak
jxom Apr 16, 2025
4a2f991
tests: up
jxom Apr 16, 2025
5f91ac1
chore: tweaks
jxom Apr 16, 2025
32ec2e3
chore: tweaks
jxom Apr 16, 2025
5619db5
chore: tweaks
jxom Apr 17, 2025
215ce10
Merge branch 'main' into entrypoint-0.8
jxom Apr 17, 2025
637adde
chore: up
jxom Apr 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,6 @@
[submodule "contracts/lib/solady-6c2d0da"]
path = contracts/lib/solady-6c2d0da
url = https://github.com/Vectorized/solady
[submodule "contracts/lib/account-abstraction-4cbc060"]
path = contracts/lib/account-abstraction-4cbc060
url = https://github.com/eth-infinitism/account-abstraction
1 change: 1 addition & 0 deletions contracts/foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ remappings = [
"solady/=lib/solady/src/",
"solady-dc09481/=lib/solady-dc09481/src/",
"solady-6c2d0da/=lib/solady-6c2d0da/src/",
"account-abstraction-4cbc060/=lib/account-abstraction-4cbc060/contracts/",
]
src = "src"
out = "out"
Expand Down
1 change: 1 addition & 0 deletions contracts/lib/account-abstraction-4cbc060
6 changes: 6 additions & 0 deletions contracts/src/accounts/Simple7702Account_08.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
// SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.13;

import {Simple7702Account} from "account-abstraction-4cbc060/accounts/Simple7702Account.sol";

contract Simple7702AccountV08 is Simple7702Account {}
5 changes: 1 addition & 4 deletions contracts/src/paymasters/VerifyingPaymaster.sol
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,5 @@ import {IEntryPoint} from "account-abstraction/interfaces/IEntryPoint.sol";
import {VerifyingPaymaster as VerifyingPaymaster_} from "account-abstraction/samples/VerifyingPaymaster.sol";

contract VerifyingPaymaster is VerifyingPaymaster_ {
constructor(
IEntryPoint entryPoint,
address verifyingSigner
) VerifyingPaymaster_(entryPoint, verifyingSigner) {}
constructor(IEntryPoint entryPoint, address verifyingSigner) VerifyingPaymaster_(entryPoint, verifyingSigner) {}
}
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@
{
"name": "import * from 'viem/account-abstraction'",
"path": "./src/_esm/account-abstraction/index.js",
"limit": "50 kB",
"limit": "55 kB",
"import": "*"
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -750,7 +750,6 @@ describe('smoke', async () => {
client,
owners: [owner],
})

await sendTransaction(client, {
account: accounts[9].address,
to: account.address,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import type * as WebAuthnP256 from 'ox/WebAuthnP256'

import type { LocalAccount } from '../../../accounts/types.js'
import { readContract } from '../../../actions/public/readContract.js'
import type { Client } from '../../../clients/createClient.js'
import { entryPoint06Address } from '../../../constants/address.js'
import { BaseError } from '../../../errors/base.js'
import type { Hash, Hex } from '../../../types/misc.js'
Expand Down Expand Up @@ -32,7 +31,7 @@ import type {

export type ToCoinbaseSmartAccountParameters = {
address?: Address | undefined
client: Client
client: CoinbaseSmartAccountImplementation['client']
ownerIndex?: number | undefined
owners: readonly (Address | OneOf<LocalAccount | WebAuthnAccount>)[]
nonce?: bigint | undefined
Expand Down
Loading
Loading