Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update EIP-4844: clarify to must be non-nil #7100

Merged
merged 3 commits into from
Jun 1, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 4 additions & 6 deletions EIPS/eip-4844.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,10 +107,11 @@ We introduce a new [EIP-2718](./eip-2718.md) transaction, "blob transaction", wh
rlp([chain_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, to, value, data, access_list, max_fee_per_data_gas, blob_versioned_hashes, y_parity, r, s])`.
```

The `max_priority_fee_per_gas` and `max_fee_per_gas` fields follow [EIP-1559](./eip-1559.md) semantics
and `access_list` follows [EIP-2930](./eip-2930.md).
The fields `chain_id`, `nonce`, `max_priority_fee_per_gas`, `max_fee_per_gas`, `gas_limit`, `value`, `data`, and `access_list` follow the same semantics as [EIP-1559](./eip-1559.md).

The `max_fee_per_data_gas` is `uint256` and the `blob_versioned_hashes` field represents a list of hash outputs from `kzg_to_versioned_hash`.
The field `to` deviates slightly from the semantics with the exception that it MUST NOT be `nil` and therefore must always represent a 20-byte address. This means that blob transactions cannot have the form of a create transaction.

The field `max_fee_per_data_gas` is a `uint256` and the field `blob_versioned_hashes` represents a list of hash outputs from `kzg_to_versioned_hash`.

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

Expand Down Expand Up @@ -269,9 +270,6 @@ def validate_block(block: Block) -> None:

# add validity logic specific to blob txs
if type(tx) is SignedBlobTransaction:

# destination must be not be empty
assert tx.to != None
# there must be at least one blob
assert len(tx.blob_versioned_hashes) > 0

Expand Down