Parameters
- declare_transactionobjectREQUIRED
Declare transaction required to declare a new class on Starknet. Starknet JSON-RPC 0.9 only accepts v3 transactions, which contain the following fields:
- typestringREQUIRED
The type of declare. It can take only one value - 'DECLARE'
- sender_addressstringREQUIRED
The address of the account contract sending the declaration transaction
- compiled_class_hashstringREQUIRED
The hash of the Cairo assembly resulting from the Sierra compilation
- versionstringREQUIRED
The version of the transaction scheme
- signaturestringREQUIRED
The signature associated with the transaction
- noncestringREQUIRED
The nonce value
- contract_classobjectREQUIRED
The class to be declared
- sierra_programarrayREQUIRED
The list of Sierra instructions of which the program consists
- contract_class_versionstringREQUIRED
The version of the contract class object. Currently, the Starknet OS supports version 0.1.0
- entry_points_by_typeobjectREQUIRED
The entry points by type object which contains the following fields:
- CONSTRUCTORarrayREQUIRED
The list of Sierra instructions of which the program consists
- selectorstringREQUIRED
A unique identifier of the entry point (function) in the program
- function_idxintegerREQUIRED
The index of the function in the program
- EXTERNALarrayREQUIRED
The list of Sierra instructions of which the program consists
- selectorstringREQUIRED
A unique identifier of the entry point (function) in the program
- function_idxintegerREQUIRED
The index of the function in the program
- L1_HANDLERarrayREQUIRED
The list of Sierra instructions of which the program consists
- selectorstringREQUIRED
A unique identifier of the entry point (function) in the program
- function_idxintegerREQUIRED
The index of the function in the program
- abistring
The class ABI, as supplied by the user declaring the class
- resource_boundsobjectREQUIRED
The resource bounds for the transaction execution
- l1_gasobjectREQUIRED
The max amount and max price per unit of L1 gas used in this tx
- max_amountstringREQUIRED
The max amount of the resource that can be used in the tx
- max_price_per_unitstringREQUIRED
The max price per unit of this resource for this tx
- l1_data_gasobjectREQUIRED
The max amount and max price per unit of L1 data gas used in this tx
- max_amountstringREQUIRED
The max amount of the resource that can be used in the tx
- max_price_per_unitstringREQUIRED
The max price per unit of this resource for this tx
- l2_gasobjectREQUIRED
The max amount and max price per unit of L2 gas used in this tx
- max_amountstringREQUIRED
The max amount of the resource that can be used in the tx
- max_price_per_unitstringREQUIRED
The max price per unit of this resource for this tx
- tipstringREQUIRED
The tip for the transaction
- paymaster_dataarrayREQUIRED
The data needed to allow the paymaster to pay for the transaction in native tokens
- account_deployment_dataarrayREQUIRED
The data needed to deploy the account contract from which this tx will be initiated
- nonce_data_availability_modestringREQUIRED
The storage domain of the account's nonce (an account has a nonce per DA mode). It can be one of 'L1' or 'L2'
- fee_data_availability_modestringREQUIRED
The storage domain of the account's balance from which fee will be charged. It can be one of 'L1' or 'L2'
Returns
- resultobject
The result of the transaction submission
- transaction_hashstring
The result of the transaction submission
- class_hashstring
The hash of the declared class