Skip to content

Commit 0fe2bd0

Browse files
committed
chore: use soldeer
1 parent f2dfc71 commit 0fe2bd0

9 files changed

Lines changed: 53 additions & 7 deletions

File tree

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,7 @@ docs/
1212

1313
# Dotenv file
1414
.env
15+
16+
17+
# Soldeer
18+
/dependencies

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Modular7702
22

3-
Using OpenZeppelin, create a contract account that complies with ERC-4337 and ERC-7579 and is compatible with 7702.
3+
A modular contract account designed for delegation by EOAs and compatible with EntryPoint v0.8.
44

55
## Foundry
66

foundry.toml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
[profile.default]
22
src = "src"
33
out = "out"
4-
libs = ["lib"]
4+
libs = ["lib", "dependencies"]
5+
6+
[dependencies]
7+
forge-std = "1.11.0"
8+
"oz-5.3" = { version = "5.3", git = "https://github.com/OpenZeppelin/openzeppelin-contracts", tag = "v5.3.0" }
9+
"oz-5.4" = { version = "5.4", git = "https://github.com/OpenZeppelin/openzeppelin-contracts", tag = "v5.4.0" }
10+
aa = { version = "0.8", git = "https://github.com/eth-infinitism/account-abstraction.git", tag = "v0.8.0" }
511

612
# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options

lib/account-abstraction

Submodule account-abstraction deleted from 4cbc060

lib/forge-std

Submodule forge-std deleted from 3b20d60

lib/openzeppelin-contracts

Submodule openzeppelin-contracts deleted from e4f7021

remappings.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
1-
aa-0.8=lib/account-abstraction/contracts
2-
oz-5.3=lib/openzeppelin-contracts/contracts
1+
aa-0.8/=dependencies/aa-0.8/contracts/
2+
forge-std/=dependencies/forge-std-1.11.0/src/
3+
oz-5.3/=dependencies/oz-5.3-5.3/contracts/
4+
oz-5.4/=dependencies/oz-5.4-5.4/contracts/

soldeer.lock

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
[[dependencies]]
2+
name = "aa"
3+
version = "0.8"
4+
git = "https://github.com/eth-infinitism/account-abstraction.git"
5+
rev = "4cbc06072cdc19fd60f285c5997f4f7f57a588de"
6+
7+
[[dependencies]]
8+
name = "forge-std"
9+
version = "1.11.0"
10+
url = "https://soldeer-revisions.s3.amazonaws.com/forge-std/1_11_0_09-10-2025_06:23:22_forge-std-1.11.zip"
11+
checksum = "0290ef84c693dc9086f98f6a9b4a69dc5c2b6aa1cfe10a989bd1def1a456c099"
12+
integrity = "84aa7d32f8c7329468cf16f31f0f74e68072e634fdbde98f3bb00c6b136103b2"
13+
14+
[[dependencies]]
15+
name = "oz-5.3"
16+
version = "5.3"
17+
git = "https://github.com/OpenZeppelin/openzeppelin-contracts"
18+
rev = "e4f70216d759d8e6a64144a9e1f7bbeed78e7079"
19+
20+
[[dependencies]]
21+
name = "oz-5.4"
22+
version = "5.4"
23+
git = "https://github.com/OpenZeppelin/openzeppelin-contracts"
24+
rev = "c64a1edb67b6e3f4a15cca8909c9482ad33a02b0"

src/Modular7702.sol

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// SPDX-License-Identifier: MIT
2+
pragma solidity ^0.8.30;
3+
4+
import {AccountERC7579, IERC7579AccountConfig} from "oz-5.4/account/extensions/draft-AccountERC7579.sol";
5+
// import {ERC7821} from "oz-5.4/account/extensions/draft-ERC7821.sol";
6+
7+
contract Modular7702 is AccountERC7579 {
8+
/// @inheritdoc IERC7579AccountConfig
9+
function accountId() public pure override returns (string memory) {
10+
// vendorname.accountname.semver
11+
return "ethaccount.Modular7702.v0.0.1";
12+
}
13+
}

0 commit comments

Comments
 (0)