Skip to content

Commit

Permalink
fix: use OZ constants and adjust tooling
Browse files Browse the repository at this point in the history
  • Loading branch information
glihm committed Sep 6, 2024
1 parent adf0c76 commit 0c18109
Show file tree
Hide file tree
Showing 9 changed files with 31 additions and 76 deletions.
2 changes: 1 addition & 1 deletion .tool-versions
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
scarb 2.8.0
starknet-foundry 0.30.0
starknet-foundry 0.27.0
21 changes: 11 additions & 10 deletions Scarb.lock
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,14 @@ name = "openzeppelin_security"
version = "0.16.0"
source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.16.0#ba00ce76a93dcf25c081ab2698da20690b5a1cfb"

[[package]]
name = "openzeppelin_testing"
version = "0.16.0"
source = "git+https://github.com/OpenZeppelin/cairo-contracts.git?tag=v0.16.0#ba00ce76a93dcf25c081ab2698da20690b5a1cfb"
dependencies = [
"snforge_std",
]

[[package]]
name = "openzeppelin_token"
version = "0.16.0"
Expand All @@ -97,18 +105,11 @@ name = "piltover"
version = "0.1.0"
dependencies = [
"openzeppelin",
"openzeppelin_testing",
"snforge_std",
]

[[package]]
name = "snforge_scarb_plugin"
version = "0.1.0"
source = "git+https://github.com/foundry-rs/starknet-foundry?tag=v0.30.0#196f06b251926697c3d66800f2a93ae595e76496"

[[package]]
name = "snforge_std"
version = "0.30.0"
source = "git+https://github.com/foundry-rs/starknet-foundry?tag=v0.30.0#196f06b251926697c3d66800f2a93ae595e76496"
dependencies = [
"snforge_scarb_plugin",
]
version = "0.27.0"
source = "git+https://github.com/foundry-rs/starknet-foundry?tag=v0.27.0#2d99b7c00678ef0363881ee0273550c44a9263de"
3 changes: 2 additions & 1 deletion Scarb.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ starknet = "2.8.0"
openzeppelin = { git = "https://github.com/OpenZeppelin/cairo-contracts.git", tag = "v0.16.0" }

[dev-dependencies]
snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry", tag = "v0.30.0" }
snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry", tag = "v0.27.0" }
openzeppelin_testing = { git = "https://github.com/OpenZeppelin/cairo-contracts.git", tag = "v0.16.0" }

[lib]
sierra = true
Expand Down
10 changes: 3 additions & 7 deletions src/config/tests/test_config.cairo
Original file line number Diff line number Diff line change
@@ -1,18 +1,14 @@
use openzeppelin_testing::constants as c;
use piltover::config::{
config_cpt, config_cpt::InternalTrait as ConfigInternal, IConfig, IConfigDispatcherTrait,
IConfigDispatcher, config_mock
};
use piltover::messaging::tests::constants as c;
use snforge_std as snf;
use snforge_std::{ContractClassTrait, DeclareResult};
use snforge_std::ContractClassTrait;
use starknet::ContractAddress;

fn deploy_mock() -> IConfigDispatcher {
let contract = match snf::declare("config_mock").unwrap() {
DeclareResult::Success(contract) => contract,
DeclareResult::AlreadyDeclared(contract) => contract,
};

let contract = snf::declare("config_mock").unwrap();
let calldata = array![c::OWNER().into()];
let (contract_address, _) = contract.deploy(@calldata).unwrap();
IConfigDispatcher { contract_address }
Expand Down
5 changes: 2 additions & 3 deletions src/lib.cairo
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,8 @@ mod messaging {
use interface::{IMessaging, IMessagingDispatcher, IMessagingDispatcherTrait};
use mock::messaging_mock;

#[cfg(target: "test")]
#[cfg(test)]
mod tests {
mod constants;
mod test_messaging;
}
}
Expand All @@ -47,7 +46,7 @@ mod state {
use interface::{IState, IStateDispatcher, IStateDispatcherTrait};
use mock::state_mock;

#[cfg(target: "test")]
#[cfg(test)]
mod tests {
mod test_state;
}
Expand Down
22 changes: 0 additions & 22 deletions src/messaging/tests/constants.cairo

This file was deleted.

10 changes: 3 additions & 7 deletions src/messaging/tests/test_messaging.cairo
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use core::array::ArrayTrait;
use core::zeroable::Zeroable;
use piltover::messaging::tests::constants as c;
use openzeppelin_testing::constants as c;
use piltover::messaging::{
messaging_cpt, messaging_cpt::InternalTrait as MessagingInternal, IMessaging,
IMessagingDispatcherTrait, IMessagingDispatcher, messaging_mock,
Expand All @@ -12,16 +12,12 @@ use piltover::messaging::{
output_process::{MessageToStarknet, MessageToAppchain}, hash, output_process,
};
use snforge_std as snf;
use snforge_std::{ContractClassTrait, EventSpy, EventSpyAssertionsTrait, DeclareResult};
use snforge_std::{ContractClassTrait, EventSpy, EventSpyAssertionsTrait};
use starknet::ContractAddress;

/// Deploys the mock with a specific cancellation delay.
fn deploy_mock_with_delay(cancellation_delay_secs: u64) -> (IMessagingDispatcher, EventSpy) {
let contract = match snf::declare("messaging_mock").unwrap() {
DeclareResult::Success(contract) => contract,
DeclareResult::AlreadyDeclared(contract) => contract,
};

let contract = snf::declare("messaging_mock").unwrap();
let calldata = array![cancellation_delay_secs.into()];
let (contract_address, _) = contract.deploy(@calldata).unwrap();

Expand Down
8 changes: 2 additions & 6 deletions src/state/tests/test_state.cairo
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,13 @@ use piltover::state::{
IStateDispatcherTrait, state_mock,
};
use snforge_std as snf;
use snforge_std::{ContractClassTrait, DeclareResult};
use snforge_std::ContractClassTrait;

/// Deploys the mock with a specific state.
fn deploy_mock_with_state(
state_root: felt252, block_number: felt252, block_hash: felt252,
) -> IStateDispatcher {
let contract = match snf::declare("state_mock").unwrap() {
DeclareResult::Success(contract) => contract,
DeclareResult::AlreadyDeclared(contract) => contract,
};

let contract = snf::declare("state_mock").unwrap();
let calldata = array![state_root, block_number, block_hash];
let (contract_address, _) = contract.deploy(@calldata).unwrap();
IStateDispatcher { contract_address }
Expand Down
26 changes: 7 additions & 19 deletions tests/test_appchain.cairo
Original file line number Diff line number Diff line change
@@ -1,26 +1,22 @@
use core::result::ResultTrait;
//! Appchain testing.
//!
use openzeppelin_testing::constants as c;
use piltover::appchain::appchain::{Event, LogStateUpdate, LogStateTransitionFact};
use piltover::config::{IConfig, IConfigDispatcherTrait, IConfigDispatcher};
use piltover::interface::{IAppchain, IAppchainDispatcherTrait, IAppchainDispatcher};
//! Appchain testing.
//!
use piltover::messaging::tests::constants as c;
use piltover::messaging::{IMessaging, IMessagingDispatcherTrait, IMessagingDispatcher};
use piltover::mocks::{
fact_registry_mock, IFactRegistryMockDispatcher, IFactRegistryMockDispatcherTrait
}; // To change when Herodotus finishes implementing FactRegistry.
use piltover::snos_output::ProgramOutput;
use snforge_std as snf;
use snforge_std::{ContractClassTrait, EventSpy, EventSpyAssertionsTrait, DeclareResult};
use snforge_std::{ContractClassTrait, EventSpy, EventSpyAssertionsTrait};
use starknet::ContractAddress;

/// Deploys the appchain contract.
fn deploy_with_owner(owner: felt252) -> (IAppchainDispatcher, EventSpy) {
let contract = match snf::declare("appchain").unwrap() {
DeclareResult::Success(contract) => contract,
DeclareResult::AlreadyDeclared(contract) => contract,
};

let contract = snf::declare("appchain").unwrap();
let calldata = array![owner, 0, 0, 0];
let (contract_address, _) = contract.deploy(@calldata).unwrap();

Expand All @@ -33,11 +29,7 @@ fn deploy_with_owner(owner: felt252) -> (IAppchainDispatcher, EventSpy) {
fn deploy_with_owner_and_state(
owner: felt252, state_root: felt252, block_number: felt252, block_hash: felt252,
) -> (IAppchainDispatcher, EventSpy) {
let contract = match snf::declare("appchain").unwrap() {
DeclareResult::Success(contract) => contract,
DeclareResult::AlreadyDeclared(contract) => contract,
};

let contract = snf::declare("appchain").unwrap();
let calldata = array![owner, state_root, block_number, block_hash];
let (contract_address, _) = contract.deploy(@calldata).unwrap();

Expand All @@ -48,11 +40,7 @@ fn deploy_with_owner_and_state(

/// Deploys the fact registry mock contract.
fn deploy_fact_registry_mock() -> IFactRegistryMockDispatcher {
let contract = match snf::declare("fact_registry_mock").unwrap() {
DeclareResult::Success(contract) => contract,
DeclareResult::AlreadyDeclared(contract) => contract,
};

let contract = snf::declare("fact_registry_mock").unwrap();
let (contract_address, _) = contract.deploy(@array![]).unwrap();
IFactRegistryMockDispatcher { contract_address }
}
Expand Down

0 comments on commit 0c18109

Please sign in to comment.