diff --git a/EIPS/eip-7702.md b/EIPS/eip-7702.md index a26738263d52c8..66960805c78120 100644 --- a/EIPS/eip-7702.md +++ b/EIPS/eip-7702.md @@ -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])`.