File tree 4 files changed +40
-0
lines changed
ethereum_test_forks/forks
4 files changed +40
-0
lines changed Original file line number Diff line number Diff line change @@ -16,6 +16,8 @@ Test fixtures for use by clients are available for each release on the [Github r
16
16
17
17
### 📋 Misc
18
18
19
+ - ✨ Engine API updates for Osaka, add ` get_blobs ` rpc method ([ #1510 ] ( https://github.com/ethereum/execution-spec-tests/pull/1510 ) ).
20
+
19
21
### 🧪 Test Cases
20
22
21
23
## [ v4.4.0] ( https://github.com/ethereum/execution-spec-tests/releases/tag/v4.4.0 ) - 2025-04-29
Original file line number Diff line number Diff line change @@ -1284,6 +1284,13 @@ def engine_forkchoice_updated_version(
1284
1284
class Osaka (Prague , solc_name = "cancun" ):
1285
1285
"""Osaka fork."""
1286
1286
1287
+ @classmethod
1288
+ def engine_get_payload_version (
1289
+ cls , block_number : int = 0 , timestamp : int = 0
1290
+ ) -> Optional [int ]:
1291
+ """From Osaka, get payload calls must use version 5."""
1292
+ return 5
1293
+
1287
1294
@classmethod
1288
1295
def evm_code_types (cls , block_number : int = 0 , timestamp : int = 0 ) -> List [EVMCodeType ]:
1289
1296
"""EOF V1 is supported starting from Osaka."""
Original file line number Diff line number Diff line change 15
15
from .types import (
16
16
ForkchoiceState ,
17
17
ForkchoiceUpdateResponse ,
18
+ GetBlobsResponse ,
18
19
GetPayloadResponse ,
19
20
JSONRPCError ,
20
21
PayloadAttributes ,
@@ -344,3 +345,18 @@ def get_payload(
344
345
),
345
346
context = self .response_validation_context ,
346
347
)
348
+
349
+ def get_blobs (
350
+ self ,
351
+ params : List [Hash ],
352
+ * ,
353
+ version : int ,
354
+ ) -> GetBlobsResponse :
355
+ """`engine_getBlobsVX`: Retrieves blobs from an execution layers tx pool."""
356
+ return GetBlobsResponse .model_validate (
357
+ self .post_request (
358
+ f"getBlobsV{ version } " ,
359
+ * [to_json (param ) for param in params ],
360
+ ),
361
+ context = self .response_validation_context ,
362
+ )
Original file line number Diff line number Diff line change @@ -136,9 +136,24 @@ def blob_versioned_hashes(self) -> List[Hash]:
136
136
return [Hash (b"\1 " + commitment [1 :]) for commitment in self .commitments ]
137
137
138
138
139
+ class BlobAndProof (CamelModel ):
140
+ """Represents a blob and proof structure."""
141
+
142
+ blob : Bytes
143
+ proofs : List [Bytes ] | None = None # >= Osaka (V2)
144
+
145
+ proof : Bytes | None = None # <= Prague (V1)
146
+
147
+
139
148
class GetPayloadResponse (CamelModel ):
140
149
"""Represents the response of a get payload request."""
141
150
142
151
execution_payload : FixtureExecutionPayload
143
152
blobs_bundle : BlobsBundle | None = None
144
153
execution_requests : List [Bytes ] | None = None
154
+
155
+
156
+ class GetBlobsResponse (CamelModel ):
157
+ """Represents the response of a get blobs request."""
158
+
159
+ result : List [BlobAndProof | None ]
You can’t perform that action at this time.
0 commit comments