1919proc setupEngineAPI * (server: RpcServer ) =
2020 # https://github.com/ethereum/execution-apis/blob/v1.0.0-beta.4/src/engine/paris.md#engine_newpayloadv1
2121 # cannot use `params` as param name. see https:#github.com/status-im/nim-json-rpc/issues/128
22- server.rpc (" engine_newPayloadV1" ) do (payload: ExecutionPayloadV1 ) -> PayloadStatusV1 :
22+ server.rpc (" engine_newPayloadV1" , EthJson ) do (payload: ExecutionPayloadV1 ) -> PayloadStatusV1 :
2323 info " engine_newPayloadV1" ,
2424 number = $ (distinctBase payload.blockNumber), hash = payload.blockHash
2525
@@ -28,15 +28,15 @@ proc setupEngineAPI*(server: RpcServer) =
2828 )
2929
3030 # https://github.com/ethereum/execution-apis/blob/v1.0.0-beta.4/src/engine/shanghai.md#engine_newpayloadv2
31- server.rpc (" engine_newPayloadV2" ) do (payload: ExecutionPayloadV2 ) -> PayloadStatusV1 :
31+ server.rpc (" engine_newPayloadV2" , EthJson ) do (payload: ExecutionPayloadV2 ) -> PayloadStatusV1 :
3232 info " engine_newPayloadV2" , payload
3333
3434 return PayloadStatusV1 (
3535 status: PayloadExecutionStatus .syncing,
3636 )
3737
3838 # https://github.com/ethereum/execution-apis/blob/v1.0.0-beta.4/src/engine/paris.md#engine_getpayloadv1
39- server.rpc (" engine_getPayloadV1" ) do (payloadId: Bytes8 ) -> ExecutionPayloadV1 :
39+ server.rpc (" engine_getPayloadV1" , EthJson ) do (payloadId: Bytes8 ) -> ExecutionPayloadV1 :
4040 info " engine_getPayloadV1" ,
4141 id = payloadId.toHex
4242
@@ -46,7 +46,7 @@ proc setupEngineAPI*(server: RpcServer) =
4646 )
4747
4848 # https://github.com/ethereum/execution-apis/blob/v1.0.0-beta.4/src/engine/paris.md#engine_forkchoiceupdatedv1
49- server.rpc (" engine_forkchoiceUpdatedV1" ) do (
49+ server.rpc (" engine_forkchoiceUpdatedV1" , EthJson ) do (
5050 update: ForkchoiceStateV1 ,
5151 payloadAttributes: Opt [PayloadAttributesV1 ]) -> ForkchoiceUpdatedResponse :
5252 info " engine_forkchoiceUpdatedV1" ,
@@ -58,7 +58,7 @@ proc setupEngineAPI*(server: RpcServer) =
5858 status: PayloadExecutionStatus .syncing))
5959
6060 # https://github.com/ethereum/execution-apis/blob/v1.0.0-beta.4/src/engine/shanghai.md#engine_forkchoiceupdatedv2
61- server.rpc (" engine_forkchoiceUpdatedV2" ) do (
61+ server.rpc (" engine_forkchoiceUpdatedV2" , EthJson ) do (
6262 forkchoiceState: ForkchoiceStateV1 , payloadAttributes: Opt [PayloadAttributesV2 ]) -> ForkchoiceUpdatedResponse :
6363 info " engine_forkchoiceUpdatedV2" ,
6464 forkchoiceState, payloadAttributes
@@ -67,22 +67,22 @@ proc setupEngineAPI*(server: RpcServer) =
6767 payloadStatus: PayloadStatusV1 (
6868 status: PayloadExecutionStatus .syncing))
6969
70- server.rpc (" eth_getBlockByNumber" ) do (
70+ server.rpc (" eth_getBlockByNumber" , EthJson ) do (
7171 quantityTag: string , fullTransactions: bool ) -> JsonString :
7272 info " eth_getBlockByNumber" , quantityTag, fullTransactions
7373
7474 return if quantityTag == " latest" :
75- JrpcConv .encode (BlockObject (number: 1000 .Quantity )).JsonString
75+ EthJson .encode (BlockObject (number: 1000 .Quantity )).JsonString
7676 else :
7777 " {}" .JsonString
7878
79- server.rpc (" eth_getBlockByHash" ) do (
79+ server.rpc (" eth_getBlockByHash" , EthJson ) do (
8080 data: string , fullTransactions: bool ) -> BlockObject :
8181 info " eth_getBlockByHash" , data = toHex (data), fullTransactions
8282
8383 return BlockObject (number: 1000 .Quantity )
8484
85- server.rpc (" eth_chainId" ) do () -> UInt256 :
85+ server.rpc (" eth_chainId" , EthJson ) do () -> UInt256 :
8686 info " eth_chainId"
8787
8888 return 1 .u256
0 commit comments