Skip to content

Commit 807f4e0

Browse files
authored
Update EIP-6189: Add transaction validity section
Merged by EIP-Bot.
1 parent 27f06ff commit 807f4e0

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

EIPS/eip-6189.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,18 @@ This opcode remains unchanged; `ADDRESS` points to the address that doesn't have
8383

8484
Transfers to the zero address continue to have the same effect as the `CREATE` opcode, and will cost extra gas as discussed in the [`CREATE` and `CREATE2`](#create-and-create2) section.
8585

86+
### Transaction Validity
87+
88+
The "origin" refers to the account that sent the transaction to be validated.
89+
90+
If the nonce of the origin is `2^64-1`, the origin MUST be updated to the address stored in the `0`th storage slot of the current origin (as if the origin was the address stored in the `0`th storage slot of the current origin). This MUST repeat until a non-alias contract is reached.
91+
92+
If there is more than one alias contract in the chain, the original origin and all subsequent origins (except the last one) MUST have their `0`th storage slot set to the address of the final non-alias contract. Then, the call MUST be forwarded as usual.
93+
94+
An additional `25` gas per account accessed in this manner (including the final one, and including if no aliased accounts were used), in addition to all the regular costs incurred by accessing accounts (see [EIP-2929](./eip-2929.md)) is added to the validation costs. For every account whose `0`th storage slot is updated, it also costs an additional `5000` gas.
95+
96+
Finally, validation proceeds as normal.
97+
8698
### RPC Endpoint Changes
8799

88100
#### `eth_getStorageAt`

0 commit comments

Comments
 (0)