Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test(starknet_api): use const for l1 handler tx version #2763

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions crates/blockifier/src/abi/constants.rs
Original file line number Diff line number Diff line change
@@ -1,9 +1,3 @@
use starknet_api::transaction::TransactionVersion;
use starknet_types_core::felt::Felt;

// The version is considered 0 for L1-Handler transaction hash calculation purposes.
pub const L1_HANDLER_VERSION: TransactionVersion = TransactionVersion(Felt::ZERO);

// OS-related constants.
pub const L1_TO_L2_MSG_HEADER_SIZE: usize = 5;
pub const L2_TO_L1_MSG_HEADER_SIZE: usize = 3;
Expand Down
3 changes: 1 addition & 2 deletions crates/blockifier/src/test_utils/l1_handler.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ use starknet_api::core::ContractAddress;
use starknet_api::executable_transaction::L1HandlerTransaction;
use starknet_api::test_utils::l1_handler::{executable_l1_handler_tx, L1HandlerTxArgs};
use starknet_api::transaction::fields::Fee;
use starknet_api::transaction::TransactionVersion;
use starknet_types_core::felt::Felt;

pub fn l1handler_tx(l1_fee: Fee, contract_address: ContractAddress) -> L1HandlerTransaction {
Expand All @@ -15,7 +14,7 @@ pub fn l1handler_tx(l1_fee: Fee, contract_address: ContractAddress) -> L1Handler
];

executable_l1_handler_tx(L1HandlerTxArgs {
version: TransactionVersion::ZERO,
version: starknet_api::transaction::L1HandlerTransaction::VERSION,
contract_address,
entry_point_selector: selector_from_name("l1_handler_set_value"),
calldata,
Expand Down
3 changes: 1 addition & 2 deletions crates/native_blockifier/src/py_l1_handler.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
use std::sync::Arc;

use blockifier::abi::constants;
use pyo3::prelude::*;
use starknet_api::core::{ContractAddress, EntryPointSelector, Nonce};
use starknet_api::executable_transaction::L1HandlerTransaction;
Expand All @@ -22,7 +21,7 @@ impl TryFrom<PyL1HandlerTransaction> for starknet_api::transaction::L1HandlerTra
type Error = NativeBlockifierInputError;
fn try_from(tx: PyL1HandlerTransaction) -> Result<Self, Self::Error> {
Ok(Self {
version: constants::L1_HANDLER_VERSION,
version: starknet_api::transaction::L1HandlerTransaction::VERSION,
nonce: Nonce(tx.nonce.0),
contract_address: ContractAddress::try_from(tx.contract_address.0)?,
entry_point_selector: EntryPointSelector(tx.entry_point_selector.0),
Expand Down
2 changes: 1 addition & 1 deletion crates/papyrus_protobuf/src/converters/transaction.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1253,7 +1253,7 @@ impl From<DeployTransaction> for protobuf::transaction::Deploy {
impl TryFrom<protobuf::transaction::L1HandlerV0> for L1HandlerTransaction {
type Error = ProtobufConversionError;
fn try_from(value: protobuf::transaction::L1HandlerV0) -> Result<Self, Self::Error> {
let version = TransactionVersion(Felt::ZERO);
let version = L1HandlerTransaction::VERSION;

let nonce = Nonce(
value
Expand Down
4 changes: 2 additions & 2 deletions crates/papyrus_rpc/src/v0_8/transaction_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ use starknet_api::transaction::fields::{
Tip,
TransactionSignature,
};
use starknet_api::transaction::{L1HandlerTransaction, Transaction, TransactionVersion};
use starknet_api::transaction::{L1HandlerTransaction, Transaction};
use starknet_api::{calldata, contract_address, felt, nonce};
use starknet_client::writer::objects::transaction as client_transaction;

Expand All @@ -38,7 +38,7 @@ use super::{
lazy_static::lazy_static! {
// A transaction from MAINNET with tx hash 0x439e12f67962c353182d72b4af12c3f11eaba4b36e552aebcdcd6db66971bdb.
static ref L1_HANDLER_TX: L1HandlerTransaction = L1HandlerTransaction {
version: TransactionVersion::ZERO,
version: L1HandlerTransaction::VERSION,
nonce: nonce!(0x18e94d),
contract_address: contract_address!(
"0x73314940630fd6dcda0d772d4c972c4e0a9946bef9dabf4ef84eda8ef542b82"
Expand Down
6 changes: 6 additions & 0 deletions crates/starknet_api/src/transaction.rs
Original file line number Diff line number Diff line change
Expand Up @@ -685,6 +685,12 @@ pub struct L1HandlerTransaction {
pub calldata: Calldata,
}

impl L1HandlerTransaction {
/// The transaction version is considered 0 for L1-Handler transaction for hash calculation
/// purposes.
pub const VERSION: TransactionVersion = TransactionVersion::ZERO;
}

impl TransactionHasher for L1HandlerTransaction {
fn calculate_transaction_hash(
&self,
Expand Down
Loading