diff --git a/crates/apollo_protobuf/src/converters/transaction.rs b/crates/apollo_protobuf/src/converters/transaction.rs index 6478c8d963d..b75bef30b01 100644 --- a/crates/apollo_protobuf/src/converters/transaction.rs +++ b/crates/apollo_protobuf/src/converters/transaction.rs @@ -647,6 +647,9 @@ impl TryFrom for InvokeTransactionV3 { fee_data_availability_mode, paymaster_data, account_deployment_data, + // TODO(AvivG): Get proof_facts from P2P protocol, until then, lost during protobuf + // serialization/deserialization. + proof_facts: vec![], }) } } diff --git a/crates/apollo_protobuf/src/converters/transaction_test.rs b/crates/apollo_protobuf/src/converters/transaction_test.rs index 04fae6505dc..93feab48546 100644 --- a/crates/apollo_protobuf/src/converters/transaction_test.rs +++ b/crates/apollo_protobuf/src/converters/transaction_test.rs @@ -121,6 +121,8 @@ fn convert_invoke_transaction_v3_to_vec_u8_and_back() { let mut transaction = starknet_api::transaction::InvokeTransactionV3::get_test_instance(&mut rng); transaction.resource_bounds = *RESOURCE_BOUNDS_MAPPING; + // TODO(AvivG): Remove this once proof_facts is added to P2P protocol. + transaction.proof_facts = vec![]; let transaction = StarknetApiTransaction::Invoke(InvokeTransaction::V3(transaction)); let transaction_output = create_transaction_output!(InvokeTransactionOutput, Invoke); diff --git a/crates/apollo_rpc/src/v0_8/api/mod.rs b/crates/apollo_rpc/src/v0_8/api/mod.rs index c1c597a2d33..40212fa20ca 100644 --- a/crates/apollo_rpc/src/v0_8/api/mod.rs +++ b/crates/apollo_rpc/src/v0_8/api/mod.rs @@ -630,6 +630,8 @@ impl From for starknet_api::transaction::InvokeTransaction { fee_data_availability_mode, paymaster_data, account_deployment_data, + // TODO(AvivG): Get proof facts from rpc_v8 once supported. + proof_facts: vec![], }), } } diff --git a/crates/apollo_rpc/src/v0_8/transaction.rs b/crates/apollo_rpc/src/v0_8/transaction.rs index 547a4270c5d..a89b96daa7c 100644 --- a/crates/apollo_rpc/src/v0_8/transaction.rs +++ b/crates/apollo_rpc/src/v0_8/transaction.rs @@ -447,6 +447,7 @@ pub struct InvokeTransactionV3 { pub account_deployment_data: AccountDeploymentData, pub nonce_data_availability_mode: DataAvailabilityMode, pub fee_data_availability_mode: DataAvailabilityMode, + // TODO(AvivG): Add proof facts to rpc_v8. } impl From for client_transaction::InvokeTransaction { @@ -536,6 +537,7 @@ impl TryFrom for InvokeTransaction fee_data_availability_mode, paymaster_data, account_deployment_data, + proof_facts: _, }, ) => Ok(Self::Version3(InvokeTransactionV3 { sender_address, diff --git a/crates/apollo_starknet_client/src/reader/objects/transaction.rs b/crates/apollo_starknet_client/src/reader/objects/transaction.rs index bc414726278..bd995e5bedf 100644 --- a/crates/apollo_starknet_client/src/reader/objects/transaction.rs +++ b/crates/apollo_starknet_client/src/reader/objects/transaction.rs @@ -515,6 +515,7 @@ pub struct IntermediateInvokeTransaction { pub account_deployment_data: Option, pub transaction_hash: TransactionHash, pub version: TransactionVersion, + // TODO(AvivG): Consider adding proof facts. } // TODO(shahak, 01/11/2023): Add conversion tests. @@ -628,6 +629,7 @@ impl TryFrom for starknet_api::transaction::Invok msg: "Invoke V3 must contain account_deployment_data field.".to_string(), }, )?, + proof_facts: vec![], }) } } diff --git a/crates/apollo_storage/src/serialization/serializers.rs b/crates/apollo_storage/src/serialization/serializers.rs index 2ba5f658030..0d5ce3fbc95 100644 --- a/crates/apollo_storage/src/serialization/serializers.rs +++ b/crates/apollo_storage/src/serialization/serializers.rs @@ -1292,6 +1292,7 @@ auto_storage_serde_conditionally_compressed! { pub fee_data_availability_mode: DataAvailabilityMode, pub paymaster_data: PaymasterData, pub account_deployment_data: AccountDeploymentData, + pub proof_facts: Vec, } pub struct L1HandlerTransaction { diff --git a/crates/apollo_test_utils/src/lib.rs b/crates/apollo_test_utils/src/lib.rs index c4c46a23e43..bcecc7e28e1 100644 --- a/crates/apollo_test_utils/src/lib.rs +++ b/crates/apollo_test_utils/src/lib.rs @@ -725,6 +725,7 @@ auto_impl_get_test_instance! { pub fee_data_availability_mode: DataAvailabilityMode, pub paymaster_data: PaymasterData, pub account_deployment_data: AccountDeploymentData, + pub proof_facts: Vec, } pub enum L1DataAvailabilityMode { Calldata = 0, diff --git a/crates/native_blockifier/src/py_invoke_function.rs b/crates/native_blockifier/src/py_invoke_function.rs index a6a4c2cadca..3a21efee49a 100644 --- a/crates/native_blockifier/src/py_invoke_function.rs +++ b/crates/native_blockifier/src/py_invoke_function.rs @@ -81,6 +81,7 @@ struct PyInvokeTransactionV3 { pub fee_data_availability_mode: PyDataAvailabilityMode, pub paymaster_data: Vec, pub account_deployment_data: Vec, + // TODO(AvivG): Add proof facts. } impl TryFrom for InvokeTransactionV3 { @@ -101,6 +102,8 @@ impl TryFrom for InvokeTransactionV3 { account_deployment_data: AccountDeploymentData(from_py_felts( tx.account_deployment_data, )), + // TODO(AvivG): Get from PyInvokeTransactionV3 once supported. + proof_facts: vec![], }) } } diff --git a/crates/starknet_api/src/rpc_transaction.rs b/crates/starknet_api/src/rpc_transaction.rs index 5c8e15cd072..c813c385a1c 100644 --- a/crates/starknet_api/src/rpc_transaction.rs +++ b/crates/starknet_api/src/rpc_transaction.rs @@ -573,6 +573,7 @@ pub struct RpcInvokeTransactionV3 { pub account_deployment_data: AccountDeploymentData, pub nonce_data_availability_mode: DataAvailabilityMode, pub fee_data_availability_mode: DataAvailabilityMode, + // TODO(AvivG): Add proof facts. } impl InvokeTransactionV3Trait for RpcInvokeTransactionV3 { @@ -628,6 +629,8 @@ impl From for InvokeTransactionV3 { fee_data_availability_mode: tx.fee_data_availability_mode, paymaster_data: tx.paymaster_data, account_deployment_data: tx.account_deployment_data, + // TODO(AvivG): Get from RpcInvokeTransactionV3 once supported. + proof_facts: vec![], } } } diff --git a/crates/starknet_api/src/test_utils/invoke.rs b/crates/starknet_api/src/test_utils/invoke.rs index 99b92ce8b4a..b8bdb83a296 100644 --- a/crates/starknet_api/src/test_utils/invoke.rs +++ b/crates/starknet_api/src/test_utils/invoke.rs @@ -49,6 +49,7 @@ pub struct InvokeTxArgs { pub nonce: Nonce, pub only_query: bool, pub tx_hash: TransactionHash, + // TODO(AvivG): add proof_facts for testing. } impl Default for InvokeTxArgs { @@ -120,6 +121,8 @@ pub fn invoke_tx(invoke_args: InvokeTxArgs) -> InvokeTransaction { fee_data_availability_mode: invoke_args.fee_data_availability_mode, paymaster_data: invoke_args.paymaster_data, account_deployment_data: invoke_args.account_deployment_data, + // TODO(AvivG): Get from invoke_args once supported. + proof_facts: vec![], }) } else { panic!("Unsupported transaction version: {:?}.", invoke_args.version) diff --git a/crates/starknet_api/src/transaction.rs b/crates/starknet_api/src/transaction.rs index a2055add3bd..ac7601e6017 100644 --- a/crates/starknet_api/src/transaction.rs +++ b/crates/starknet_api/src/transaction.rs @@ -678,6 +678,8 @@ pub struct InvokeTransactionV3 { pub fee_data_availability_mode: DataAvailabilityMode, pub paymaster_data: PaymasterData, pub account_deployment_data: AccountDeploymentData, + #[serde(default)] + pub proof_facts: Vec, } impl TransactionHasher for InvokeTransactionV3 {