Skip to content

Commit 0766b38

Browse files
authored
fix(erc-7562): amend typo and case inconsistency (eth-infinitism#421)
1 parent 900a6a8 commit 0766b38

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

erc/ERCS/erc-7562.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ However, the rules apply to any account-abstraction framework that uses EVM code
4444

4545
All transactions initiated by EOAs have an implicit validation phase where balance, nonce, and signature are
4646
checked to be valid for the current state of the Ethereum blockchain.
47-
Once the transaction is checked to be valid by a node, only another transaction by the same EOA can modify the Ethereum.
47+
Once the transaction is checked to be valid by a node, only another transaction by the same EOA can modify the Ethereum
4848
state in a way that makes the first transaction invalid.
4949

5050
With Account Abstraction, however, the validation can also include an arbitrary EVM code and rely on storage as well,
@@ -137,7 +137,7 @@ Also, if the invalidation of `N` UserOperations from the mempool costs `N*X` wit
137137

138138
## Specification
139139

140-
### Rule types
140+
### Rule Types
141141

142142
There are two types of rules:
143143

@@ -156,7 +156,7 @@ There are two types of rules:
156156
- Bundlers SHOULD NOT propagate such UserOperations to other bundlers.
157157
- Bundlers SHOULD NOT consider another bundler a "spammer" if it does.
158158

159-
### Constants:
159+
### Constants
160160

161161
| Title | Value | Comment |
162162
|--------------------------------------|-----------------------------|---------------------------------------------------------------------------------|
@@ -193,7 +193,7 @@ There are two types of rules:
193193
6. **Using an address**: accessing the code of a given address in any way.
194194
This can be done by executing `*CALL` or `EXTCODE*` opcodes for a given address.
195195

196-
### Reputation Definitions:
196+
### Reputation Definitions
197197
1. **opsSeen**: a per-entity counter of how many times a unique valid `UserOperation` referencing this entity
198198
was received by this bundler.
199199
This includes `UserOperation` received via incoming RPC calls or through a P2P mempool protocol.
@@ -207,7 +207,7 @@ There are two types of rules:
207207
4. **inclusionRate**: Relation of `opsIncluded` to `opsSeen`
208208

209209

210-
### Reputation calculation
210+
### Reputation Calculation
211211

212212
We define a value `max_seen = opsSeen // MIN_INCLUSION_RATE_DENOMINATOR`.
213213

@@ -298,7 +298,7 @@ To help make sense of these params, note that a malicious paymaster can at most
298298
entity, or referenced library, may not be changed.\
299299
If the code is modified, the UserOperation is considered invalid.
300300

301-
### Storage rules.
301+
### Storage Rules
302302

303303
The permanent storage access with `SLOAD` and `SSTORE` instructions within each phase is limited as follows:
304304

@@ -318,8 +318,8 @@ Local storage rules protect the bundler against denial of service at the time of
318318
This means that `Paymaster` and `Factory` contracts cannot practically be an "account" contract as well.
319319
* **[STO-041]** `UserOperation` may not use associated storage (of either its account or from staked entity) in a contract that is a "sender" of another UserOperation in the mempool.
320320

321+
### General Reputation Rules
321322

322-
### General Reputation rules
323323
The following reputation rules apply for all staked entities, and for unstaked paymasters. All rules apply to all of these entities unless specified otherwise.
324324

325325
* **[GREP-010]** A `BANNED` address is not allowed into the mempool.\
@@ -337,7 +337,7 @@ The following reputation rules apply for all staked entities, and for unstaked p
337337
* Allowed in unlimited numbers in the mempool.
338338
* Allowed in unlimited numbers in a bundle.
339339

340-
### Entity-specific rules:
340+
### Entity-specific Rules
341341

342342
* **[EREP-010]** For each `paymaster`, the mempool must maintain the total gas `UserOperations` using this `paymaster` may consume.
343343
* Do not add a `UserOperation` to the mempool if the maximum total gas cost, including the new `UserOperation`, is above the deposit of the `paymaster` at the current gas price.
@@ -360,7 +360,7 @@ The following reputation rules apply for all staked entities, and for unstaked p
360360
`opsAllowed = SAME_UNSTAKED_ENTITY_MEMPOOL_COUNT + inclusionRate * min(opsIncluded, MAX_OPS_ALLOWED_UNSTAKED_ENTITY)`.
361361
* This is a default of `SAME_UNSTAKED_ENTITY_MEMPOOL_COUNT` for new entity
362362

363-
### Alt-mempools rules:
363+
### Alt-mempools Rules
364364

365365
Alternate mempool is an agreed-upon rule that the bundlers may opt into, in addition to the canonical mempool
366366
The alt-mempool "topic" is a unique identifier. By convention, this is the IPFS hash of the document describing (in clear test and YAML file) the specifics of this alt mempool
@@ -373,7 +373,7 @@ The alt-mempool "topic" is a unique identifier. By convention, this is the IPFS
373373
The receiving bundler validates the `UserOperations`, and based on the above rules (and subscribed alt-mempools) decides which alt-mempools to propagate it to.
374374
* **[ALT-040]** opsInclude and opsSeen of entities are kept per alt-mempool. That is, an entity can be considered throttled (or banned) in one mempool, while still active on another.
375375

376-
### Alt-mempool reputation:
376+
### Alt-mempool Reputation
377377

378378
Alt-mempools are served by the same bundlers participating in the canonical mempool, but change the rules and may introduce denial-of-service attack vectors. To prevent them from taking the canonical mempool or other alt mempools down with them, a reputation is managed for each. An alt mempool that causes too many invalidations gets throttled. This limits the scope of the attack and lets the bundler continue doing its work for other mempools.
379379

0 commit comments

Comments
 (0)