Skip to content

Commit a10cec8

Browse files
committed
fix headings
1 parent 893a065 commit a10cec8

File tree

1 file changed

+12
-12
lines changed
  • public/content/roadmap/pectra/7702

1 file changed

+12
-12
lines changed

public/content/roadmap/pectra/7702/index.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ description: Learn more about 7702 in the Pectra release
44
lang: en
55
---
66

7-
## Abstract
8-
9-
![7702 diagram](7702_diagram.png)
7+
# Pectra 77O2
108

9+
## Abstract {#abstract}
1110

11+
![7702 diagram](7702_diagram.png)
1212

1313
EIP 7702 defines a mechanism to add code to an EOA. This proposal allows EOAs, the legacy ethereum accounts, to receive short-term functionality improvements, increasing the usability of applications. This is done by setting a pointer to already deployed code using a new transaction type: 4.
1414

@@ -27,7 +27,7 @@ A delegation can be reset by delegating to the null address.
2727

2828
The private key of the EOA retains full control over the account after the delegation. For example delegating to a Safe doesn't make the account a multisig because there's still a single key that can bypass any signing policy. Going forward, developers should design with the assumption that any participant in the system could be a smart contract. For smart contract developers, it’s no longer safe to assume that `tx.origin` refers to an EOA.
2929

30-
## **Best practices**
30+
## Best practices {#best-practices}
3131

3232
**Account Abstraction**: A delegation contract should align with Ethereum’s broader account abstraction (AA) standards to maximize compatibility. In particular, it should ideally be ERC-4337 compliant or compatible.
3333

@@ -76,7 +76,7 @@ Cons of the Proxy Pattern:
7676
- **Reliance on external actors**: You have to rely on an external team to not upgrade to an unsafe contract.
7777

7878

79-
## **Security Considerations**
79+
## Security Considerations {#security-considerations}
8080

8181

8282
**Reentrancy guard**: With the introduction of EIP-7702 delegation, a user’s account can dynamically switch between an Externally Owned Account (EOA) and a Smart Contract (SC). This flexibility enables the account to both initiate transactions and be the target of calls. As a result, scenarios where an account calls itself and makes external calls will have `msg.sender` equal to `tx.origin`, which undermines certain security assumptions that previously relied on `tx.origin` always being an EOA.
@@ -112,7 +112,7 @@ When users perform delegated signatures, the target contract receiving the deleg
112112

113113
**Minimal Trusted Surface & Security**: While offering flexibility, a delegation contract should keep its core logic minimal and auditable. The contract is effectively an extension of the user’s EOA, so any flaw can be catastrophic. Implementations should follow best practices from the smart contract security community. For instance, constructor or initializer functions must be carefully secured – as highlighted by Alchemy, if using a proxy pattern under 7702, an unprotected initializer could let an attacker take over the account. Teams should aim to keep the on-chain code simple: Ambire’s 7702 contract is only ~200 lines of Solidity, deliberately minimizing complexity to reduce bugs. A balance must be struck between feature-rich logic and the simplicity that eases auditing.
114114

115-
### **Known implementations**
115+
### Known implementations {#known-implementations}
116116

117117
Due to the nature of EIP 7702, it is recommended wallets use caution when helping users delegate to a 3rd party contract. Listed below is a collection of known implementations that have been audited:
118118

@@ -121,30 +121,30 @@ Due to the nature of EIP 7702, it is recommended wallets use caution when helpin
121121
- address TBD [[MetaMask/delegation-framework]](https://github.com/MetaMask/delegation-framework) / [audits](https://github.com/MetaMask/delegation-framework/tree/main/audits)
122122
- 0x4Cd241E8d1510e30b2076397afc7508Ae59C66c9 [[Ethereum Foundation AA team]](https://github.com/eth-infinitism/account-abstraction/blob/develop/contracts/accounts/Simple7702Account.sol) / [audits](https://github.com/eth-infinitism/account-abstraction/blob/develop/audits/SpearBit%20Account%20Abstraction%20Security%20Review%20-%20Mar%202025.pdf)
123123

124-
## **Hardware wallet guidelines**
124+
## Hardware wallet guidelines {#hardware-wallet-guidelines}
125125

126126
Hardware wallets shouldn't expose arbitrary delegation. The consensus in the Hardware wallet space is to use a list of trusted delegator contracts. We suggest to allow known implementations listed above and to consider others on a case by case basis. As delegating your EOA to a contract gives control over all the assets, hardware wallets should be cautious with the way they implement 7702.
127127

128128

129-
### **Integration scenarios for companion apps**
129+
### Integration scenarios for companion apps {#integration-scenarios-for-companion-apps}
130130

131-
#### **Lazy**
131+
#### Lazy {#lazy}
132132

133133
As the EOA still operates as usual, there's nothing to do.
134134

135135
Note : some assets could be automatically rejected by the delegation code, such as ERC 1155 NFTs, and support should be aware of it.
136136

137-
#### **Aware**
137+
#### Aware {#aware}
138138

139139
Notify the user that a delegation is in place for the EOA by checking its code, and optionally offer to remove the delegation.
140140

141-
#### **Common delegation**
141+
#### Common delegation {#common-delegation}
142142

143143
Hardware provider whitelists known delegation contracts and implements their support in software companion. It is recommended to choose a contract with full ERC 4337 support.
144144

145145
EOAs delegated to a different one will be handled as standard EOAs.
146146

147-
#### **Custom delegation**
147+
#### Custom delegation {#custom-delegation}
148148

149149
Hardware provider implements its own delegation contract and adds it to the lists implements its support in softaware companion. It is recommended to build a contract with full ERC 4337 support.
150150

0 commit comments

Comments
 (0)