Change it back to allow empty `blobs` list file

This commit is contained in:
Hsiao-Wei Wang 2023-07-31 19:47:53 +08:00
parent 32056b2d44
commit 39134d594a
No known key found for this signature in database
GPG Key ID: AE3D6B174F971DE4
2 changed files with 5 additions and 9 deletions

View File

@ -181,11 +181,8 @@ def add_block(spec,
# Check blob_data # Check blob_data
if blob_data is not None: if blob_data is not None:
blobs = spec.List[spec.Blob, spec.MAX_BLOBS_PER_BLOCK](blob_data.blobs) blobs = spec.List[spec.Blob, spec.MAX_BLOBS_PER_BLOCK](blob_data.blobs)
if len(blobs) > 0: blobs_root = blobs.hash_tree_root()
blobs_root = blobs.hash_tree_root() yield get_blobs_file_name(blobs_root=blobs_root), blobs
yield get_blobs_file_name(blobs_root=blobs_root), blobs
else:
blobs_root = None
is_blob_data_test = blob_data is not None is_blob_data_test = blob_data is not None
@ -193,7 +190,7 @@ def add_block(spec,
if is_blob_data_test: if is_blob_data_test:
test_steps.append({ test_steps.append({
'block': get_block_file_name(signed_block), 'block': get_block_file_name(signed_block),
'blobs': None if blobs_root is None else get_blobs_file_name(blobs_root=blobs_root), 'blobs': get_blobs_file_name(blobs_root=blobs_root),
'proofs': [encode_hex(proof) for proof in blob_data.proofs], 'proofs': [encode_hex(proof) for proof in blob_data.proofs],
'valid': valid, 'valid': valid,
}) })

View File

@ -85,9 +85,8 @@ The parameter that is required for executing `on_block(store, block)`.
{ {
block: string -- the name of the `block_<32-byte-root>.ssz_snappy` file. block: string -- the name of the `block_<32-byte-root>.ssz_snappy` file.
To execute `on_block(store, block)` with the given attestation. To execute `on_block(store, block)` with the given attestation.
blobs: string or `null` -- optional, the name of the `blobs_<32-byte-root>.ssz_snappy` file. blobs: string -- optional, the name of the `blobs_<32-byte-root>.ssz_snappy` file.
The blobs file content is a `List[Blob, MAX_BLOBS_PER_BLOCK]` SSZ object. The blobs file content is a `List[Blob, MAX_BLOBS_PER_BLOCK]` SSZ object.
If it's `null`, `blobs` is an empty list.
proofs: array of byte48 hex string -- optional, the proofs of blob commitments. proofs: array of byte48 hex string -- optional, the proofs of blob commitments.
valid: bool -- optional, default to `true`. valid: bool -- optional, default to `true`.
If it's `false`, this execution step is expected to be invalid. If it's `false`, this execution step is expected to be invalid.
@ -96,7 +95,7 @@ The parameter that is required for executing `on_block(store, block)`.
The file is located in the same folder (see below). The file is located in the same folder (see below).
`blobs` and `proofs` are new fields from Deneb EIP-4844. These are the expected values from `retrieve_blobs_and_proofs()` helper inside `is_data_available()` helper. `blobs` and `proofs` are new fields from Deneb EIP-4844. These fields indicate the expected values from `retrieve_blobs_and_proofs()` helper inside `is_data_available()` helper. If these two fields are not provided, `retrieve_blobs_and_proofs()` returns empty lists.
After this step, the `store` object may have been updated. After this step, the `store` object may have been updated.