2626)
2727
2828logger = get_logger (__name__ )
29-
3029BlockNumberType = int | Literal ["latest" , "earliest" , "pending" ]
3130
3231
@@ -81,14 +80,17 @@ def post_request(
8180 self ,
8281 * ,
8382 method : str ,
84- params : Any | None = None ,
83+ params : List [ Any ] | None = None ,
8584 extra_headers : Dict | None = None ,
8685 request_id : int | str | None = None ,
8786 timeout : int | None = None ,
8887 ) -> Any :
8988 """Send JSON-RPC POST request to the client RPC server at port defined in the url."""
9089 if extra_headers is None :
9190 extra_headers = {}
91+ if params is None :
92+ params = []
93+
9294 assert self .namespace , "RPC namespace not set"
9395
9496 next_request_id_counter = next (self .request_id_counter )
@@ -106,8 +108,7 @@ def post_request(
106108 }
107109 headers = base_header | extra_headers
108110
109- # print(f"Sending RPC request to {self.url}, timeout is set to {timeout}...")
110- print (f"Sending RPC request, timeout is set to { timeout } ..." ) # don't leak url in logs
111+ logger .debug (f"Sending RPC request, timeout is set to { timeout } ..." )
111112 response = requests .post (self .url , json = json , headers = headers , timeout = timeout )
112113 response .raise_for_status ()
113114 response_json = response .json ()
@@ -145,7 +146,7 @@ def config(self, timeout: int | None = None):
145146 try :
146147 response = self .post_request (method = "config" , timeout = timeout )
147148 if response is None :
148- print ("eth_config request: failed to get response" )
149+ logger . warning ("eth_config request: failed to get response" )
149150 return None
150151 return EthConfigResponse .model_validate (
151152 response , context = self .response_validation_context
@@ -154,7 +155,7 @@ def config(self, timeout: int | None = None):
154155 pprint (e .errors ())
155156 raise e
156157 except Exception as e :
157- print (f"exception occurred when sending JSON-RPC request: { e } " )
158+ logger . error (f"exception occurred when sending JSON-RPC request: { e } " )
158159 raise e
159160
160161 def chain_id (self ) -> int :
@@ -211,7 +212,7 @@ def get_transaction_by_hash(self, transaction_hash: Hash) -> TransactionByHashRe
211212 """`eth_getTransactionByHash`: Returns transaction details."""
212213 try :
213214 response = self .post_request (
214- method = "getTransactionByHash" , params = f"{ transaction_hash } "
215+ method = "getTransactionByHash" , params = [ f"{ transaction_hash } " ]
215216 )
216217 if response is None :
217218 return None
@@ -245,7 +246,7 @@ def send_raw_transaction(
245246 try :
246247 response = self .post_request (
247248 method = "sendRawTransaction" ,
248- params = f" { transaction_rlp .hex ()} " ,
249+ params = [ transaction_rlp .hex ()] ,
249250 request_id = request_id , # noqa: E501
250251 )
251252
@@ -261,7 +262,7 @@ def send_transaction(self, transaction: Transaction) -> Hash:
261262 try :
262263 response = self .post_request (
263264 method = "sendRawTransaction" ,
264- params = f" { transaction .rlp ().hex ()} " ,
265+ params = [ transaction .rlp ().hex ()] ,
265266 request_id = transaction .metadata_string (), # noqa: E501
266267 )
267268
@@ -431,7 +432,7 @@ def forkchoice_updated(
431432 if payload_attributes is None :
432433 params = [to_json (forkchoice_state )]
433434 else :
434- params = [to_json (forkchoice_state ), to_json ( payload_attributes ) ]
435+ params = [to_json (forkchoice_state ), None ]
435436
436437 return ForkchoiceUpdateResponse .model_validate (
437438 self .post_request (
@@ -456,7 +457,7 @@ def get_payload(
456457 return GetPayloadResponse .model_validate (
457458 self .post_request (
458459 method = method ,
459- params = f"{ payload_id } " ,
460+ params = [ f"{ payload_id } " ] ,
460461 ),
461462 context = self .response_validation_context ,
462463 )
@@ -499,4 +500,4 @@ class AdminRPC(BaseRPC):
499500
500501 def add_peer (self , enode : str ) -> bool :
501502 """`admin_addPeer`: Add a peer by enode URL."""
502- return self .post_request (method = "addPeer" , params = enode )
503+ return self .post_request (method = "addPeer" , params = [ enode ] )
0 commit comments