fix(transaction-request): Support HEX TransactionRequest.chain_id
#344
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Support HEX TransactionRequest.chain_id` as per Ethereum JSON-RPC specification.
Motivation
While switching between node clients (GETH and RETH) there was an inconsistency in the
TransactionRequest.chain_id
implementation.To support the behavior, specified in Ethereum JSON-RPC specification the
chain_id
serialization was extended to supporthex input.
Specs: https://ethereum.github.io/execution-apis/api-documentation/
![image](https://private-user-images.githubusercontent.com/9192608/314529760-d0fa10b7-2122-4297-a7bb-d9e82ad46da8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODUzMDQsIm5iZiI6MTczOTU4NTAwNCwicGF0aCI6Ii85MTkyNjA4LzMxNDUyOTc2MC1kMGZhMTBiNy0yMTIyLTQyOTctYTdiYi1kOWU4MmFkNDZkYTgucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxNSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTVUMDIwMzI0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZTAxM2ExZDQ4MzRkOWE5OGZkYTA5N2RiZTYwYWFhMGIwZjUzNTlmOGY3ZDEyMTE5YmQ3MjdjYWFmYzNlNmFkNCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.KjmAjeK5jQ8AJ4H4qzLjrfHekH3omx09tXdV16wFRS8)
Solution
Reuse custom serializer, already implemented for
nonce
field to support hex input forchain_id
field.PR Checklist