Skip to content

Commit

Permalink
chore(blockifier): add is_legacy method (#196)
Browse files Browse the repository at this point in the history
<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/starkware-libs/sequencer/196)
<!-- Reviewable:end -->
  • Loading branch information
dorimedini-starkware authored Aug 11, 2024
1 parent 10b4be1 commit eb66da4
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions crates/blockifier/src/test_utils/contracts.rs
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,10 @@ impl FeatureContract {
}
}

pub fn is_legacy(&self) -> bool {
matches!(self, Self::LegacyTestContract)
}

/// Unique integer representing each unique contract. Used to derive "class hash" and "address".
fn get_integer_base(self) -> u32 {
self.get_cairo_version_bit()
Expand Down Expand Up @@ -275,15 +279,16 @@ impl FeatureContract {
cairo0_compile(self.get_source_path(), extra_arg, false)
}
CairoVersion::Cairo1 => {
let (tag_override, cargo_nightly_arg) = match self {
Self::LegacyTestContract => (
let (tag_override, cargo_nightly_arg) = if self.is_legacy() {
(
// Legacy contract is designed to test behavior of code compiled with a
// specific (old) compiler tag. To run the (old) compiler, older rust
// version is required.
Some(LEGACY_CONTRACT_COMPILER_TAG.into()),
Some(LEGACY_CONTRACT_RUST_TOOLCHAIN.into()),
),
_ => (None, None),
)
} else {
(None, None)
};
cairo1_compile(self.get_source_path(), tag_override, cargo_nightly_arg)
}
Expand Down

0 comments on commit eb66da4

Please sign in to comment.