@@ -1197,7 +1197,7 @@ def __call__(self, *args: Any, **kwargs: Any) -> "ContractFunction":
11971197 def call (
11981198 self ,
11991199 transaction : Optional [TxParams ] = None ,
1200- block_identifier : BlockIdentifier = "latest" ,
1200+ block_identifier : BlockIdentifier = None ,
12011201 state_override : Optional [CallOverride ] = None ,
12021202 ccip_read_enabled : Optional [bool ] = None ,
12031203 ) -> Any :
@@ -1308,7 +1308,7 @@ def __call__(self, *args: Any, **kwargs: Any) -> "AsyncContractFunction":
13081308 async def call (
13091309 self ,
13101310 transaction : Optional [TxParams ] = None ,
1311- block_identifier : BlockIdentifier = "latest" ,
1311+ block_identifier : BlockIdentifier = None ,
13121312 state_override : Optional [CallOverride ] = None ,
13131313 ccip_read_enabled : Optional [bool ] = None ,
13141314 ) -> Any :
@@ -1346,8 +1346,7 @@ async def call(
13461346 self ._return_data_normalizers ,
13471347 self .function_identifier ,
13481348 call_transaction ,
1349- # BlockIdentifier does have an Awaitable type in types.py
1350- block_id , # type: ignore
1349+ block_id ,
13511350 self .contract_abi ,
13521351 self .abi ,
13531352 state_override ,
@@ -2177,6 +2176,8 @@ async def async_call_contract_function(
21772176def parse_block_identifier (
21782177 w3 : "Web3" , block_identifier : BlockIdentifier
21792178) -> BlockIdentifier :
2179+ if block_identifier is None :
2180+ return w3 .eth .default_block
21802181 if isinstance (block_identifier , int ):
21812182 return parse_block_identifier_int (w3 , block_identifier )
21822183 elif block_identifier in {"latest" , "earliest" , "pending" , "safe" , "finalized" }:
@@ -2191,11 +2192,13 @@ def parse_block_identifier(
21912192
21922193async def async_parse_block_identifier (
21932194 w3 : "Web3" , block_identifier : BlockIdentifier
2194- ) -> Awaitable [BlockIdentifier ]:
2195+ ) -> BlockIdentifier :
2196+ if block_identifier is None :
2197+ return w3 .eth .default_block
21952198 if isinstance (block_identifier , int ):
21962199 return await async_parse_block_identifier_int (w3 , block_identifier )
21972200 elif block_identifier in {"latest" , "earliest" , "pending" , "safe" , "finalized" }:
2198- return block_identifier # type: ignore
2201+ return block_identifier
21992202 elif isinstance (block_identifier , bytes ) or is_hex_encoded_block_hash (
22002203 block_identifier
22012204 ):
@@ -2218,7 +2221,7 @@ def parse_block_identifier_int(w3: "Web3", block_identifier_int: int) -> BlockNu
22182221
22192222async def async_parse_block_identifier_int (
22202223 w3 : "Web3" , block_identifier_int : int
2221- ) -> Awaitable [ BlockNumber ] :
2224+ ) -> BlockNumber :
22222225 if block_identifier_int >= 0 :
22232226 block_num = block_identifier_int
22242227 else :
@@ -2227,7 +2230,7 @@ async def async_parse_block_identifier_int(
22272230 block_num = last_block_num + block_identifier_int + 1
22282231 if block_num < 0 :
22292232 raise BlockNumberOutofRange
2230- return BlockNumber (block_num ) # type: ignore
2233+ return BlockNumber (block_num )
22312234
22322235
22332236def transact_with_contract_function (
0 commit comments