@@ -43,6 +43,7 @@ pub const ENGINE_GET_PAYLOAD_V2: &str = "engine_getPayloadV2";
4343pub const ENGINE_GET_PAYLOAD_V3 : & str = "engine_getPayloadV3" ;
4444pub const ENGINE_GET_PAYLOAD_V4 : & str = "engine_getPayloadV4" ;
4545pub const ENGINE_GET_PAYLOAD_V5 : & str = "engine_getPayloadV5" ;
46+ pub const ENGINE_GET_PAYLOAD_V6 : & str = "engine_getPayloadV6" ;
4647pub const ENGINE_GET_PAYLOAD_TIMEOUT : Duration = Duration :: from_secs ( 2 ) ;
4748
4849pub const ENGINE_FORKCHOICE_UPDATED_V1 : & str = "engine_forkchoiceUpdatedV1" ;
@@ -82,6 +83,7 @@ pub static LIGHTHOUSE_CAPABILITIES: &[&str] = &[
8283 ENGINE_GET_PAYLOAD_V3 ,
8384 ENGINE_GET_PAYLOAD_V4 ,
8485 ENGINE_GET_PAYLOAD_V5 ,
86+ ENGINE_GET_PAYLOAD_V6 ,
8587 ENGINE_FORKCHOICE_UPDATED_V1 ,
8688 ENGINE_FORKCHOICE_UPDATED_V2 ,
8789 ENGINE_FORKCHOICE_UPDATED_V3 ,
@@ -1052,10 +1054,25 @@ impl HttpJsonRpc {
10521054 . try_into ( )
10531055 . map_err ( Error :: BadResponse )
10541056 }
1057+ _ => Err ( Error :: UnsupportedForkVariant ( format ! (
1058+ "called get_payload_v5 with {}" ,
1059+ fork_name
1060+ ) ) ) ,
1061+ }
1062+ }
1063+
1064+ pub async fn get_payload_v6 < E : EthSpec > (
1065+ & self ,
1066+ fork_name : ForkName ,
1067+ payload_id : PayloadId ,
1068+ ) -> Result < GetPayloadResponse < E > , Error > {
1069+ let params = json ! ( [ JsonPayloadIdRequest :: from( payload_id) ] ) ;
1070+
1071+ match fork_name {
10551072 ForkName :: Gloas => {
10561073 let response: JsonGetPayloadResponseGloas < E > = self
10571074 . rpc_request (
1058- ENGINE_GET_PAYLOAD_V5 ,
1075+ ENGINE_GET_PAYLOAD_V6 ,
10591076 params,
10601077 ENGINE_GET_PAYLOAD_TIMEOUT * self . execution_timeout_multiplier ,
10611078 )
@@ -1065,7 +1082,7 @@ impl HttpJsonRpc {
10651082 . map_err ( Error :: BadResponse )
10661083 }
10671084 _ => Err ( Error :: UnsupportedForkVariant ( format ! (
1068- "called get_payload_v5 with {}" ,
1085+ "called get_payload_v6 with {}" ,
10691086 fork_name
10701087 ) ) ) ,
10711088 }
@@ -1237,6 +1254,7 @@ impl HttpJsonRpc {
12371254 get_payload_v3 : capabilities. contains ( ENGINE_GET_PAYLOAD_V3 ) ,
12381255 get_payload_v4 : capabilities. contains ( ENGINE_GET_PAYLOAD_V4 ) ,
12391256 get_payload_v5 : capabilities. contains ( ENGINE_GET_PAYLOAD_V5 ) ,
1257+ get_payload_v6 : capabilities. contains ( ENGINE_GET_PAYLOAD_V6 ) ,
12401258 get_client_version_v1 : capabilities. contains ( ENGINE_GET_CLIENT_VERSION_V1 ) ,
12411259 get_blobs_v1 : capabilities. contains ( ENGINE_GET_BLOBS_V1 ) ,
12421260 get_blobs_v2 : capabilities. contains ( ENGINE_GET_BLOBS_V2 ) ,
@@ -1429,10 +1447,10 @@ impl HttpJsonRpc {
14291447 }
14301448 }
14311449 ForkName :: Gloas => {
1432- if engine_capabilities. get_payload_v5 {
1433- self . get_payload_v5 ( fork_name, payload_id) . await
1450+ if engine_capabilities. get_payload_v6 {
1451+ self . get_payload_v6 ( fork_name, payload_id) . await
14341452 } else {
1435- Err ( Error :: RequiredMethodUnsupported ( "engine_getPayloadv5 " ) )
1453+ Err ( Error :: RequiredMethodUnsupported ( "engine_getPayloadV6 " ) )
14361454 }
14371455 }
14381456 ForkName :: Base | ForkName :: Altair => Err ( Error :: UnsupportedForkVariant ( format ! (
0 commit comments