1010 ContractsNonce ,
1111 DAMode ,
1212 DeclaredContractHash ,
13- DeclareTransaction ,
1413 DeclareTransactionResponse ,
1514 DeclareTransactionTrace ,
15+ DeclareTransactionV0 ,
16+ DeclareTransactionV1 ,
17+ DeclareTransactionV2 ,
1618 DeclareTransactionV3 ,
17- DeployAccountTransaction ,
1819 DeployAccountTransactionResponse ,
1920 DeployAccountTransactionTrace ,
21+ DeployAccountTransactionV1 ,
2022 DeployAccountTransactionV3 ,
2123 DeployedContract ,
2224 DeployTransaction ,
2830 ExecutionResources ,
2931 FeePayment ,
3032 FunctionInvocation ,
31- InvokeTransaction ,
3233 InvokeTransactionTrace ,
34+ InvokeTransactionV0 ,
35+ InvokeTransactionV1 ,
3336 InvokeTransactionV3 ,
3437 L1HandlerTransaction ,
3538 L1HandlerTransactionTrace ,
7477 Uint64 ,
7578 Uint128 ,
7679)
77- from starknet_py .net .schemas .utils import (
78- _extract_tx_version ,
79- _replace_invoke_contract_address_with_sender_address ,
80- )
80+ from starknet_py .net .schemas .utils import _extract_tx_version
8181
8282# pylint: disable=unused-argument, no-self-use
8383
@@ -253,50 +253,77 @@ class TransactionV3Schema(TransactionSchema):
253253 )
254254
255255
256- class DeprecatedInvokeTransactionSchema (DeprecatedTransactionSchema ):
257- contract_address = Felt (data_key = "contract_address" , load_default = None )
258- sender_address = Felt (data_key = "sender_address" , load_default = None )
259- entry_point_selector = Felt (data_key = "entry_point_selector" , load_default = None )
256+ class InvokeTransactionV0Schema (DeprecatedTransactionSchema ):
260257 calldata = fields .List (Felt (), data_key = "calldata" , required = True )
261- nonce = Felt (data_key = "nonce" , load_default = None )
258+ contract_address = Felt (data_key = "contract_address" , required = True )
259+ entry_point_selector = Felt (data_key = "entry_point_selector" , required = True )
262260
263261 @post_load
264- def make_transaction (self , data , ** kwargs ) -> InvokeTransaction :
265- _replace_invoke_contract_address_with_sender_address (data )
266- return InvokeTransaction (** data )
262+ def make_transaction (self , data , ** kwargs ) -> InvokeTransactionV0 :
263+ return InvokeTransactionV0 (** data )
267264
268265
269- class InvokeTransactionV3Schema (TransactionV3Schema ):
266+ class InvokeTransactionV1Schema (DeprecatedTransactionSchema ):
267+ calldata = fields .List (Felt (), data_key = "calldata" , required = True )
270268 sender_address = Felt (data_key = "sender_address" , required = True )
269+ nonce = Felt (data_key = "nonce" , required = True )
270+
271+ @post_load
272+ def make_transaction (self , data , ** kwargs ) -> InvokeTransactionV1 :
273+ return InvokeTransactionV1 (** data )
274+
275+
276+ class InvokeTransactionV3Schema (TransactionV3Schema ):
271277 calldata = fields .List (Felt (), data_key = "calldata" , required = True )
278+ sender_address = Felt (data_key = "sender_address" , required = True )
279+ nonce = Felt (data_key = "nonce" , required = True )
272280 account_deployment_data = fields .List (
273- Felt (), data_key = "account_deployment_data" , load_default = []
281+ Felt (), data_key = "account_deployment_data" , required = True
274282 )
275- nonce = Felt (data_key = "nonce" , required = True )
276283
277284 @post_load
278285 def make_transaction (self , data , ** kwargs ) -> InvokeTransactionV3 :
279286 return InvokeTransactionV3 (** data )
280287
281288
282- class DeprecatedDeclareTransactionSchema (DeprecatedTransactionSchema ):
289+ class DeclareTransactionV0Schema (DeprecatedTransactionSchema ):
290+ sender_address = Felt (data_key = "sender_address" , required = True )
283291 class_hash = Felt (data_key = "class_hash" , required = True )
292+
293+ @post_load
294+ def make_dataclass (self , data , ** kwargs ) -> DeclareTransactionV0 :
295+ return DeclareTransactionV0 (** data )
296+
297+
298+ class DeclareTransactionV1Schema (DeprecatedTransactionSchema ):
284299 sender_address = Felt (data_key = "sender_address" , required = True )
285- nonce = Felt (data_key = "nonce " , load_default = None )
286- compiled_class_hash = Felt (data_key = "compiled_class_hash " , load_default = None )
300+ class_hash = Felt (data_key = "class_hash " , required = True )
301+ nonce = Felt (data_key = "nonce " , required = True )
287302
288303 @post_load
289- def make_dataclass (self , data , ** kwargs ) -> DeclareTransaction :
290- return DeclareTransaction (** data )
304+ def make_dataclass (self , data , ** kwargs ) -> DeclareTransactionV1 :
305+ return DeclareTransactionV1 (** data )
291306
292307
293- class DeclareTransactionV3Schema (TransactionV3Schema ):
308+ class DeclareTransactionV2Schema (DeprecatedTransactionSchema ):
309+ sender_address = Felt (data_key = "sender_address" , required = True )
294310 class_hash = Felt (data_key = "class_hash" , required = True )
295- compiled_class_hash = Felt (data_key = "compiled_class_hash" , load_default = None )
311+ compiled_class_hash = Felt (data_key = "compiled_class_hash" , required = True )
296312 nonce = Felt (data_key = "nonce" , required = True )
313+
314+ @post_load
315+ def make_dataclass (self , data , ** kwargs ) -> DeclareTransactionV2 :
316+ return DeclareTransactionV2 (** data )
317+
318+
319+ class DeclareTransactionV3Schema (TransactionV3Schema ):
297320 sender_address = Felt (data_key = "sender_address" , required = True )
321+ class_hash = Felt (data_key = "class_hash" , required = True )
322+
323+ compiled_class_hash = Felt (data_key = "compiled_class_hash" , required = True )
324+ nonce = Felt (data_key = "nonce" , required = True )
298325 account_deployment_data = fields .List (
299- Felt (), data_key = "account_deployment_data" , load_default = []
326+ Felt (), data_key = "account_deployment_data" , required = True
300327 )
301328
302329 @post_load
@@ -316,26 +343,26 @@ def make_dataclass(self, data, **kwargs) -> DeployTransaction:
316343 return DeployTransaction (** data )
317344
318345
319- class DeprecatedDeployAccountTransactionSchema (DeprecatedTransactionSchema ):
346+ class DeployAccountTransactionV1Schema (DeprecatedTransactionSchema ):
347+ nonce = Felt (data_key = "nonce" , required = True )
320348 contract_address_salt = Felt (data_key = "contract_address_salt" , required = True )
321349 constructor_calldata = fields .List (
322350 Felt (), data_key = "constructor_calldata" , required = True
323351 )
324352 class_hash = Felt (data_key = "class_hash" , required = True )
325- nonce = Felt (data_key = "nonce" , load_default = None )
326353
327354 @post_load
328- def make_dataclass (self , data , ** kwargs ) -> DeployAccountTransaction :
329- return DeployAccountTransaction (** data )
355+ def make_dataclass (self , data , ** kwargs ) -> DeployAccountTransactionV1 :
356+ return DeployAccountTransactionV1 (** data )
330357
331358
332359class DeployAccountTransactionV3Schema (TransactionV3Schema ):
360+ nonce = Felt (data_key = "nonce" , required = True )
333361 contract_address_salt = Felt (data_key = "contract_address_salt" , required = True )
334362 constructor_calldata = fields .List (
335363 Felt (), data_key = "constructor_calldata" , required = True
336364 )
337365 class_hash = Felt (data_key = "class_hash" , required = True )
338- nonce = Felt (data_key = "nonce" , required = True )
339366
340367 @post_load
341368 def make_dataclass (self , data , ** kwargs ) -> DeployAccountTransactionV3 :
@@ -344,9 +371,9 @@ def make_dataclass(self, data, **kwargs) -> DeployAccountTransactionV3:
344371
345372class DeclareTransactionSchema (OneOfSchema ):
346373 type_schemas = {
347- 0 : DeprecatedDeclareTransactionSchema ,
348- 1 : DeprecatedDeclareTransactionSchema ,
349- 2 : DeprecatedDeclareTransactionSchema ,
374+ 0 : DeclareTransactionV0Schema ,
375+ 1 : DeclareTransactionV1Schema ,
376+ 2 : DeclareTransactionV2Schema ,
350377 3 : DeclareTransactionV3Schema ,
351378 }
352379
@@ -356,8 +383,8 @@ def get_data_type(self, data):
356383
357384class InvokeTransactionSchema (OneOfSchema ):
358385 type_schemas = {
359- 0 : DeprecatedInvokeTransactionSchema ,
360- 1 : DeprecatedInvokeTransactionSchema ,
386+ 0 : InvokeTransactionV0Schema ,
387+ 1 : InvokeTransactionV1Schema ,
361388 3 : InvokeTransactionV3Schema ,
362389 }
363390
@@ -367,7 +394,7 @@ def get_data_type(self, data):
367394
368395class DeployAccountTransactionSchema (OneOfSchema ):
369396 type_schemas = {
370- 1 : DeprecatedDeployAccountTransactionSchema ,
397+ 1 : DeployAccountTransactionV1Schema ,
371398 3 : DeployAccountTransactionV3Schema ,
372399 }
373400
0 commit comments