Skip to content

Commit

Permalink
Revert "Update EIP-7702: adjust tx validity"
Browse files Browse the repository at this point in the history
This reverts commit c10db8f.
  • Loading branch information
lightclient committed Aug 30, 2024
1 parent 8a96c38 commit 989ec13
Showing 1 changed file with 9 additions and 12 deletions.
21 changes: 9 additions & 12 deletions EIPS/eip-7702.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,21 +44,18 @@ rlp([chain_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, dest
authorization_list = [[chain_id, address, nonce, y_parity, r, s], ...]
```

The fields `chain_id`, `nonce`, `max_priority_fee_per_gas`, `max_fee_per_gas`, `gas_limit`, `destination`, `value`, `data`, and `access_list` of the outer transaction follow the same semantics as [EIP-4844](./eip-4844.md). *Note, this means a null destination is not valid.*
Transaction is considered invalid if authorization list items can't be decoded as:

The `authorization_list` is a list of tuples that store the address to code which the signer desires to execute in the context of their EOA. The transaction is considered invalid if the length of `authorization_list` is zero.
* `chain_id`: unsigned 256-bit integer.
* `nonce`: unsigned 64-bit integer.
* `address`: 20 bytes array.
* `y_parity`: Value 0 or 1.
* `r`: unsigned 256-bit integer.
* `s`: unsigned 256-bit integer and value less or equal than `secp256k1n/2`, specified in [EIP-2](./eip-2.md).

The transaction is also considered invalid when any field in an authorization
tuple cannot fit within the following bounds:
The fields `chain_id`, `nonce`, `max_priority_fee_per_gas`, `max_fee_per_gas`, `gas_limit`, `destination`, `value`, `data`, and `access_list` of the outer transaction follow the same semantics as [EIP-4844](./eip-4844.md). *Note, this means a null destination is not valid.*

```python
assert auth.chain_id < 2**256
assert auth.nonce < 2**64
assert len(auth.address) == 20
assert auth.y_parity < 2**256
assert auth.r < 2**256
assert auth.z < 2**256
```
The `authorization_list` is a list of tuples that store the address to code which the signer desires to execute in the context of their EOA. The transaction is considered invalid if the length of `authorization_list` is zero.

The [EIP-2718](./eip-2718.md) `ReceiptPayload` for this transaction is `rlp([status, cumulative_transaction_gas_used, logs_bloom, logs])`.

Expand Down

0 comments on commit 989ec13

Please sign in to comment.