engine: return -38003 for FCUv2 payloadAttributes mismatch#10014
engine: return -38003 for FCUv2 payloadAttributes mismatch#10014Muzry wants to merge 1 commit intobesu-eth:mainfrom
Conversation
|
@Muzry you'll need to add signoff to your commits to satisfy the DCO check. I need to check what's going on with hive tests as I'm not seeing any engine-withdrawal failures when running on main locally. what specific hive test is your PR addressing? |
6974548 to
5202660
Compare
Signed-off-by: muzry <muzrry@gmail.com>
5202660 to
5eac4f5
Compare
|
@macfarla Thanks, I’ve added signoff to my commit and re-ran the full Hive commit used for the run: commands: The run produced 34 test cases: 20 passed and 14 failed. The main failure cluster is exactly what this PR addresses: for So this PR is addressing the You can also check: https://hive.ethpandaops.io/#/test/generic/1773131670-9be21c1a6d01e061c51d963e43511cc1. The recent test runs there are also failing. |
This PR updates
engine_forkchoiceUpdatedV2to return-38003: Invalid payload attributeswhen the wrongpayloadAttributesversion is used.In particular, FCUv2 payload-attribute version mismatches such as:
withdrawalsat or after Shanghaiwithdrawalsbefore Shanghaishould be treated as
Invalid payload attributes, notInvalid params.Why
This change aligns the client with the latest Engine API spec update in:
It also follows the implementation discussion and prior client-side change in:
The spec was clarified so that FCUv2 now behaves consistently with newer forkchoiceUpdated versions for payloadAttributes structure/version
mismatches.
What changed
-38003for payloadAttributes version mismatches.Hive impact
This fixes the Hive
engine-withdrawalsfailure caused by returning the wrong error code for FCUv2 payloadAttributes mismatches.Relevant Hive failure:
After this change, the client returns the expected error code for the affected FCUv2 cases.
If my understanding or interpretation of the spec change is incorrect, please let me know and I can adjust the implementation accordingly.