From a4ccc2ee1619c1dbb8a61749f19812eae545e49e Mon Sep 17 00:00:00 2001 From: glihm Date: Tue, 26 Mar 2024 16:00:57 -0600 Subject: [PATCH 1/5] fix: add script to teardown tests and updated cargo lock (#1707) --- Cargo.lock | 2 +- .../types-test/manifests/base/contracts/records.toml | 2 +- scripts/teardown_test_artifacts.sh | 8 ++++++++ 3 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 scripts/teardown_test_artifacts.sh diff --git a/Cargo.lock b/Cargo.lock index 40368d83b0..4e00cb0894 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10427,7 +10427,7 @@ dependencies = [ [[package]] name = "saya-provider" -version = "0.6.0-alpha.7" +version = "0.6.0-alpha.8" dependencies = [ "anyhow", "async-trait", diff --git a/crates/torii/types-test/manifests/base/contracts/records.toml b/crates/torii/types-test/manifests/base/contracts/records.toml index 1c7550826c..630a528484 100644 --- a/crates/torii/types-test/manifests/base/contracts/records.toml +++ b/crates/torii/types-test/manifests/base/contracts/records.toml @@ -1,5 +1,5 @@ kind = "DojoContract" -class_hash = "0x5f0a221b80b5667c20574d62953f99eb6ddf7d351f531a9f0c56f96adb0d48b" +class_hash = "0xf6347423d9f59912d0b441646d448f5d4d30869e634061670e090266a41d0d" abi = "abis/base/contracts/records.json" reads = [] writes = [] diff --git a/scripts/teardown_test_artifacts.sh b/scripts/teardown_test_artifacts.sh new file mode 100644 index 0000000000..5c324ed7bd --- /dev/null +++ b/scripts/teardown_test_artifacts.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +# When tests are run, the `build.rs` of `dojo-test-utils` is re-building the +# cairo artifacts ONLY if they don't exist. +# This script gives an easy way to remove those artifacts. + +rm -rf examples/spawn-and-move/target +rm -rf crates/torii/types-test/target From 7f47a49c6391e1b04dfa1407e6cb74cb8f1ca797 Mon Sep 17 00:00:00 2001 From: Tarrence van As Date: Tue, 26 Mar 2024 21:12:46 -0400 Subject: [PATCH 2/5] Update devcontainer image hash: 5340720 (#1706) Co-authored-by: kariy --- .devcontainer/devcontainer.json | 2 +- .github/workflows/bench.yml | 2 +- .github/workflows/release-dispatch.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 8c85ce685b..25ed6cbf30 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -2,7 +2,7 @@ // https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/rust { "name": "Rust", - "image": "ghcr.io/dojoengine/dojo-dev:5d61184", + "image": "ghcr.io/dojoengine/dojo-dev:5340720", "runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", diff --git a/.github/workflows/bench.yml b/.github/workflows/bench.yml index 7562d587c0..3edc299449 100644 --- a/.github/workflows/bench.yml +++ b/.github/workflows/bench.yml @@ -14,7 +14,7 @@ jobs: build: runs-on: ubuntu-latest container: - image: ghcr.io/dojoengine/dojo-dev:5d61184 + image: ghcr.io/dojoengine/dojo-dev:5340720 steps: - uses: actions/checkout@v3 - run: git config --global --add safe.directory "$GITHUB_WORKSPACE" diff --git a/.github/workflows/release-dispatch.yml b/.github/workflows/release-dispatch.yml index f060c096ae..fc9364f192 100644 --- a/.github/workflows/release-dispatch.yml +++ b/.github/workflows/release-dispatch.yml @@ -14,7 +14,7 @@ jobs: contents: write runs-on: ubuntu-latest container: - image: ghcr.io/dojoengine/dojo-dev:5d61184 + image: ghcr.io/dojoengine/dojo-dev:5340720 steps: # Workaround described here: https://github.com/actions/checkout/issues/760 - uses: actions/checkout@v3 From 3976f31d5f5fa8a957b37a6d2741a456886c904a Mon Sep 17 00:00:00 2001 From: Fabricio Robles Date: Tue, 26 Mar 2024 22:05:00 -0600 Subject: [PATCH 3/5] Sozo CLI --version displaying more info (#1710) * Creation of fn generate_version that gathers versions of requested tools. * fix: ensure saya test always wait tx to be executed * fix: fmt --------- Co-authored-by: glihm --- bin/sozo/src/args.rs | 15 +++++++- crates/katana/rpc/rpc/tests/saya.rs | 56 +++++++++++++++++++---------- 2 files changed, 51 insertions(+), 20 deletions(-) diff --git a/bin/sozo/src/args.rs b/bin/sozo/src/args.rs index fc3c7c5f5b..4a065764a9 100644 --- a/bin/sozo/src/args.rs +++ b/bin/sozo/src/args.rs @@ -20,8 +20,21 @@ use crate::commands::model::ModelArgs; use crate::commands::register::RegisterArgs; use crate::commands::test::TestArgs; +fn generate_version() -> String { + const DOJO_VERSION: &str = env!("CARGO_PKG_VERSION"); + let scarb_version = scarb::version::get().version; + let scarb_sierra_version = scarb::version::get().sierra.version; + let scarb_cairo_version = scarb::version::get().cairo.version; + + let version_string = format!( + "{}\nscarb: {}\ncairo: {}\nsierra: {}", + DOJO_VERSION, scarb_version, scarb_cairo_version, scarb_sierra_version, + ); + version_string +} + #[derive(Parser)] -#[command(author, version, about, long_about = None)] +#[command(author, version=generate_version(), about, long_about = None)] #[command(propagate_version = true)] pub struct SozoArgs { #[arg(long)] diff --git a/crates/katana/rpc/rpc/tests/saya.rs b/crates/katana/rpc/rpc/tests/saya.rs index dd1135c4b2..75de2d3edb 100644 --- a/crates/katana/rpc/rpc/tests/saya.rs +++ b/crates/katana/rpc/rpc/tests/saya.rs @@ -68,33 +68,51 @@ async fn process_sealed_block_only() { client.get_transactions_executions(cursor).await.unwrap(); assert!(response.transactions_executions.is_empty()); - assert!(response.cursor.block_number == 1); - assert!(response.cursor.transaction_index == 0); - assert!(response.cursor.chunk_size == CHUNK_SIZE_DEFAULT); + assert_eq!(response.cursor.block_number, 1); + assert_eq!(response.cursor.transaction_index, 0); + assert_eq!(response.cursor.chunk_size, CHUNK_SIZE_DEFAULT); - let _declare_res = account.declare(contract.clone(), compiled_class_hash).send().await.unwrap(); + let declare_res = account.declare(contract.clone(), compiled_class_hash).send().await.unwrap(); + + let max_retry = 10; + let mut attempt = 0; + loop { + match client.transaction_status(declare_res.transaction_hash).await { + Ok(s) => { + if s != TransactionStatus::Received { + break; + } + } + Err(_) => { + assert!(attempt < max_retry); + sleep(Duration::from_millis(300)).await; + attempt += 1; + } + } + } // Should still return 0 transactions execution for the block 0. let response: TransactionsExecutionsPage = client.get_transactions_executions(cursor).await.unwrap(); assert!(response.transactions_executions.is_empty()); - assert!(response.cursor.block_number == 1); - assert!(response.cursor.transaction_index == 0); - assert!(response.cursor.chunk_size == CHUNK_SIZE_DEFAULT); + assert_eq!(response.cursor.block_number, 1); + assert_eq!(response.cursor.transaction_index, 0); + assert_eq!(response.cursor.chunk_size, CHUNK_SIZE_DEFAULT); // Create block 1. let _: () = client.generate_block().await.unwrap(); // Should now return 1 transaction from the mined block. cursor.block_number = 1; + let response: TransactionsExecutionsPage = client.get_transactions_executions(cursor).await.unwrap(); - assert!(response.transactions_executions.len() == 1); - assert!(response.cursor.block_number == 2); - assert!(response.cursor.transaction_index == 0); - assert!(response.cursor.chunk_size == CHUNK_SIZE_DEFAULT); + assert_eq!(response.transactions_executions.len(), 1); + assert_eq!(response.cursor.block_number, 2); + assert_eq!(response.cursor.transaction_index, 0); + assert_eq!(response.cursor.chunk_size, CHUNK_SIZE_DEFAULT); } #[tokio::test(flavor = "multi_thread")] @@ -160,17 +178,17 @@ async fn executions_chunks_logic_ok() { let response: TransactionsExecutionsPage = client.get_transactions_executions(cursor).await.unwrap(); - assert!(response.transactions_executions.len() == 15); - assert!(response.cursor.block_number == 1); - assert!(response.cursor.transaction_index == 15); + assert_eq!(response.transactions_executions.len(), 15); + assert_eq!(response.cursor.block_number, 1); + assert_eq!(response.cursor.transaction_index, 15); // Should get the remaining 15 transactions and cursor to the next block. let response: TransactionsExecutionsPage = client.get_transactions_executions(response.cursor).await.unwrap(); - assert!(response.transactions_executions.len() == 15); - assert!(response.cursor.block_number == 2); - assert!(response.cursor.transaction_index == 0); + assert_eq!(response.transactions_executions.len(), 15); + assert_eq!(response.cursor.block_number, 2); + assert_eq!(response.cursor.transaction_index, 0); // Create block 2. let _: () = client.generate_block().await.unwrap(); @@ -179,8 +197,8 @@ async fn executions_chunks_logic_ok() { client.get_transactions_executions(response.cursor).await.unwrap(); assert!(response.transactions_executions.is_empty()); - assert!(response.cursor.block_number == 3); - assert!(response.cursor.transaction_index == 0); + assert_eq!(response.cursor.block_number, 3); + assert_eq!(response.cursor.transaction_index, 0); sequencer.stop().expect("failed to stop sequencer"); } From 1b884d5377922742abd0b7af17443a10a13664e2 Mon Sep 17 00:00:00 2001 From: glihm Date: Wed, 27 Mar 2024 20:41:21 -0600 Subject: [PATCH 4/5] fix: ensure world contract is used by ref and add tests for auth grant (#1715) * fix: ensure world contract is used by ref and add tests for auth grant * fix: clippy --- bin/sozo/src/commands/auth.rs | 11 +- bin/sozo/src/commands/execute.rs | 2 +- crates/dojo-test-utils/src/migration.rs | 2 + crates/dojo-test-utils/src/sequencer.rs | 19 +++ crates/sozo/ops/src/auth.rs | 13 ++- crates/sozo/ops/src/execute.rs | 4 +- crates/sozo/ops/src/lib.rs | 3 + crates/sozo/ops/src/tests/auth.rs | 148 ++++++++++++++++++++++++ crates/sozo/ops/src/tests/mod.rs | 1 + 9 files changed, 185 insertions(+), 18 deletions(-) create mode 100644 crates/sozo/ops/src/tests/auth.rs create mode 100644 crates/sozo/ops/src/tests/mod.rs diff --git a/bin/sozo/src/commands/auth.rs b/bin/sozo/src/commands/auth.rs index c07157077d..32e78d5cdc 100644 --- a/bin/sozo/src/commands/auth.rs +++ b/bin/sozo/src/commands/auth.rs @@ -1,11 +1,8 @@ use anyhow::Result; use clap::{Args, Subcommand}; -use dojo_world::contracts::WorldContractReader; use dojo_world::metadata::Environment; use scarb::core::Config; use sozo_ops::auth; -use starknet::accounts::ConnectedAccount; -use starknet::core::types::{BlockId, BlockTag}; use super::options::account::AccountOptions; use super::options::starknet::StarknetOptions; @@ -52,19 +49,15 @@ pub async fn grant( kind: AuthKind, transaction: TransactionOptions, ) -> Result<()> { - let world_address = world.world_address.unwrap_or_default(); let world = utils::world_from_env_metadata(world, account, starknet, &env_metadata).await.unwrap(); - let provider = world.account.provider(); - let world_reader = WorldContractReader::new(world_address, &provider) - .with_block(BlockId::Tag(BlockTag::Pending)); match kind { AuthKind::Writer { models_contracts } => { - auth::grant_writer(&world, models_contracts, world_reader, transaction.into()).await + auth::grant_writer(&world, models_contracts, transaction.into()).await } AuthKind::Owner { owners_resources } => { - auth::grant_owner(world, owners_resources, transaction.into()).await + auth::grant_owner(&world, owners_resources, transaction.into()).await } } } diff --git a/bin/sozo/src/commands/execute.rs b/bin/sozo/src/commands/execute.rs index ed3f1b11c8..a777dd19b0 100644 --- a/bin/sozo/src/commands/execute.rs +++ b/bin/sozo/src/commands/execute.rs @@ -54,7 +54,7 @@ impl ExecuteArgs { .unwrap(); let tx_config = self.transaction.into(); - execute::execute(self.contract, self.entrypoint, self.calldata, world, tx_config).await + execute::execute(self.contract, self.entrypoint, self.calldata, &world, tx_config).await }) } } diff --git a/crates/dojo-test-utils/src/migration.rs b/crates/dojo-test-utils/src/migration.rs index e696fc5157..56ee222b06 100644 --- a/crates/dojo-test-utils/src/migration.rs +++ b/crates/dojo-test-utils/src/migration.rs @@ -12,6 +12,8 @@ pub fn prepare_migration( ) -> Result { let manifest = BaseManifest::load_from_path(&manifest_dir.join(MANIFESTS_DIR).join(BASE_DIR)).unwrap(); + let world = WorldDiff::compute(manifest, None); + prepare_for_migration(None, Some(felt!("0x12345")), &target_dir, world) } diff --git a/crates/dojo-test-utils/src/sequencer.rs b/crates/dojo-test-utils/src/sequencer.rs index 7017c6cc3c..ba61129898 100644 --- a/crates/dojo-test-utils/src/sequencer.rs +++ b/crates/dojo-test-utils/src/sequencer.rs @@ -101,6 +101,25 @@ impl TestSequencer { ) } + pub fn account_at_index( + &self, + index: usize, + ) -> SingleOwnerAccount, LocalWallet> { + let accounts: Vec<_> = self.sequencer.backend.config.genesis.accounts().collect::<_>(); + + let account = accounts[index]; + let private_key = account.1.private_key().unwrap(); + let address: FieldElement = (*(account.0)).into(); + + SingleOwnerAccount::new( + JsonRpcClient::new(HttpTransport::new(self.url.clone())), + LocalWallet::from_signing_key(SigningKey::from_secret_scalar(private_key)), + address, + chain_id::TESTNET, + ExecutionEncoding::New, + ) + } + pub fn raw_account(&self) -> &TestAccount { &self.account } diff --git a/crates/sozo/ops/src/auth.rs b/crates/sozo/ops/src/auth.rs index 759a799893..a02afd541f 100644 --- a/crates/sozo/ops/src/auth.rs +++ b/crates/sozo/ops/src/auth.rs @@ -6,8 +6,8 @@ use dojo_world::contracts::world::WorldContract; use dojo_world::contracts::{cairo_utils, WorldContractReader}; use dojo_world::migration::TxConfig; use starknet::accounts::ConnectedAccount; +use starknet::core::types::{BlockId, BlockTag}; use starknet::core::utils::parse_cairo_short_string; -use starknet::providers::Provider; use starknet_crypto::FieldElement; use super::get_contract_address; @@ -87,18 +87,19 @@ impl FromStr for OwnerResource { } } -pub async fn grant_writer( +pub async fn grant_writer( world: &WorldContract, models_contracts: Vec, - world_reader: WorldContractReader

, transaction: TxConfig, ) -> Result<()> where A: ConnectedAccount + Sync + Send + 'static, - P: Provider + Sync + Send, { let mut calls = Vec::new(); + let world_reader = WorldContractReader::new(world.address, world.account.provider()) + .with_block(BlockId::Tag(BlockTag::Pending)); + for mc in models_contracts { let model_name = parse_cairo_short_string(&mc.model)?; match world_reader.model_reader(&model_name).await { @@ -138,7 +139,7 @@ where } pub async fn grant_owner( - world: WorldContract, + world: &WorldContract, owners_resources: Vec, transaction: TxConfig, ) -> Result<()> @@ -151,7 +152,7 @@ where let resource = match &or.resource { ResourceType::Model(name) => *name, ResourceType::Contract(name_or_address) => { - get_contract_address(&world, name_or_address.clone()).await? + get_contract_address(world, name_or_address.clone()).await? } }; diff --git a/crates/sozo/ops/src/execute.rs b/crates/sozo/ops/src/execute.rs index a496a2910c..467056274f 100644 --- a/crates/sozo/ops/src/execute.rs +++ b/crates/sozo/ops/src/execute.rs @@ -12,13 +12,13 @@ pub async fn execute( contract: String, entrypoint: String, calldata: Vec, - world: WorldContract, + world: &WorldContract, transaction: TxConfig, ) -> Result<()> where A: ConnectedAccount + Sync + Send + 'static, { - let contract_address = get_contract_address(&world, contract).await?; + let contract_address = get_contract_address(world, contract).await?; let res = world .account .execute(vec![Call { diff --git a/crates/sozo/ops/src/lib.rs b/crates/sozo/ops/src/lib.rs index 676e8e86b8..94217a7b2a 100644 --- a/crates/sozo/ops/src/lib.rs +++ b/crates/sozo/ops/src/lib.rs @@ -12,6 +12,9 @@ pub mod model; pub mod register; pub mod utils; +#[cfg(test)] +pub mod tests; + pub async fn get_contract_address( world: &WorldContract, name_or_address: String, diff --git a/crates/sozo/ops/src/tests/auth.rs b/crates/sozo/ops/src/tests/auth.rs new file mode 100644 index 0000000000..3c686865ac --- /dev/null +++ b/crates/sozo/ops/src/tests/auth.rs @@ -0,0 +1,148 @@ +use anyhow::Result; +use dojo_test_utils::compiler::build_test_config; +use dojo_test_utils::migration::prepare_migration; +use dojo_test_utils::sequencer::{ + get_default_test_starknet_config, SequencerConfig, TestSequencer, +}; +use dojo_world::contracts::world::WorldContract; +use dojo_world::migration::TxConfig; +use scarb::ops; +use starknet::accounts::{Account, ConnectedAccount, SingleOwnerAccount}; +use starknet::core::types::{BlockId, BlockTag}; +use starknet::core::utils::cairo_short_string_to_felt; +use starknet::providers::jsonrpc::HttpTransport; +use starknet::providers::JsonRpcClient; +use starknet::signers::LocalWallet; + +use crate::auth::{self, ModelContract, OwnerResource, ResourceType}; +use crate::{execute, migration}; + +const ACTION_CONTRACT_NAME: &str = "dojo_examples::actions::actions"; + +/// Setups the project by migrating the spawn-and-moves project. +/// +/// # Returns +/// +/// A [`WorldContract`] initialized with the migrator account, +/// the account 0 of the sequencer. +async fn setup( + sequencer: &TestSequencer, +) -> Result, LocalWallet>>> { + let config = build_test_config("../../../examples/spawn-and-move/Scarb.toml")?; + let ws = ops::read_workspace(config.manifest_path(), &config) + .unwrap_or_else(|op| panic!("Error building workspace: {op:?}")); + let base_dir = "../../../examples/spawn-and-move"; + let target_dir = format!("{}/target/dev", base_dir); + + let migration = prepare_migration(base_dir.into(), target_dir.into())?; + + let mut account = sequencer.account(); + account.set_block_id(BlockId::Tag(BlockTag::Pending)); + + let output = migration::execute_strategy( + &ws, + &migration, + &account, + Some(TxConfig { wait: true, ..Default::default() }), + ) + .await?; + let world = WorldContract::new(output.world_address, account); + + Ok(world) +} + +#[tokio::test(flavor = "multi_thread")] +async fn auth_grant_writer_ok() { + let sequencer = + TestSequencer::start(SequencerConfig::default(), get_default_test_starknet_config()).await; + + let world = setup(&sequencer).await.unwrap(); + + // Shouldn't have any permission at this point. + let account2 = sequencer.account_at_index(2); + + // Setup new world contract handler with account 2. + let world_2 = WorldContract::new(world.address, account2); + + assert!(!execute_spawn(&world_2).await); + + // Account2 does not have the permission to write, but granting + // writer to the actions contract allows the execution of it's systems by + // any account. + let moves_mc = ModelContract { + model: cairo_short_string_to_felt("Moves").unwrap(), + contract: ACTION_CONTRACT_NAME.to_string(), + }; + + let position_mc = ModelContract { + model: cairo_short_string_to_felt("Position").unwrap(), + contract: ACTION_CONTRACT_NAME.to_string(), + }; + + auth::grant_writer( + &world, + vec![moves_mc, position_mc], + TxConfig { wait: true, ..Default::default() }, + ) + .await + .unwrap(); + + assert!(execute_spawn(&world_2).await); +} + +#[tokio::test(flavor = "multi_thread")] +async fn auth_grant_owner_ok() { + let sequencer = + TestSequencer::start(SequencerConfig::default(), get_default_test_starknet_config()).await; + + let world = setup(&sequencer).await.unwrap(); + + // Shouldn't have any permission at this point. + let account_2 = sequencer.account_at_index(2); + let account_2_addr = account_2.address(); + + // Setup new world contract handler with account 2. + let world_2 = WorldContract::new(world.address, account_2); + + assert!(!execute_spawn(&world_2).await); + + // Account2 does not have the permission to write, let's give this account + // ownership of both models. + let moves = OwnerResource { + resource: ResourceType::Model(cairo_short_string_to_felt("Moves").unwrap()), + owner: account_2_addr, + }; + + let position = OwnerResource { + resource: ResourceType::Model(cairo_short_string_to_felt("Position").unwrap()), + owner: account_2_addr, + }; + + auth::grant_owner(&world, vec![moves, position], TxConfig { wait: true, ..Default::default() }) + .await + .unwrap(); + + assert!(execute_spawn(&world_2).await); +} + +/// Executes the `spawn` system on `actions` contract. +/// +/// # Returns +/// +/// True if the execution was successful, false otherwise. +async fn execute_spawn( + world: &WorldContract, +) -> bool { + let contract_actions = ACTION_CONTRACT_NAME.to_string(); + let system_spawn = "spawn".to_string(); + + execute::execute( + contract_actions, + system_spawn, + vec![], + world, + TxConfig { wait: true, ..Default::default() }, + ) + .await + .is_ok() +} diff --git a/crates/sozo/ops/src/tests/mod.rs b/crates/sozo/ops/src/tests/mod.rs new file mode 100644 index 0000000000..0e4a05d597 --- /dev/null +++ b/crates/sozo/ops/src/tests/mod.rs @@ -0,0 +1 @@ +pub mod auth; From 57fa2dccbf2c5a3c66cfd1e6b353742fcf596980 Mon Sep 17 00:00:00 2001 From: Tarrence van As Date: Thu, 28 Mar 2024 00:05:25 -0400 Subject: [PATCH 5/5] Prepare release: v0.6.0-alpha.9 (#1716) Co-authored-by: kariy --- Cargo.lock | 88 ++++++++++---------- Cargo.toml | 2 +- crates/katana/runner/runner-macro/Cargo.toml | 2 +- 3 files changed, 46 insertions(+), 46 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4e00cb0894..9815f44836 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -957,7 +957,7 @@ dependencies = [ [[package]] name = "benches" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "clap", @@ -2531,7 +2531,7 @@ dependencies = [ [[package]] name = "common" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "reqwest", @@ -3291,7 +3291,7 @@ checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" [[package]] name = "dojo-bindgen" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "async-trait", "cainome 0.1.5", @@ -3306,15 +3306,15 @@ dependencies = [ [[package]] name = "dojo-core" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" [[package]] name = "dojo-examples-spawn-and-move" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" [[package]] name = "dojo-lang" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "cairo-lang-compiler", @@ -3364,7 +3364,7 @@ dependencies = [ [[package]] name = "dojo-language-server" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "cairo-lang-compiler", @@ -3386,7 +3386,7 @@ dependencies = [ [[package]] name = "dojo-test-utils" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "assert_fs", @@ -3420,7 +3420,7 @@ dependencies = [ [[package]] name = "dojo-types" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "crypto-bigint", "hex", @@ -3435,7 +3435,7 @@ dependencies = [ [[package]] name = "dojo-world" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "assert_fs", @@ -3470,7 +3470,7 @@ dependencies = [ [[package]] name = "dojo-world-abigen" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "cairo-lang-starknet", "camino", @@ -6663,7 +6663,7 @@ dependencies = [ [[package]] name = "katana" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "assert_matches", @@ -6677,7 +6677,7 @@ dependencies = [ "katana-primitives", "katana-rpc", "katana-rpc-api", - "metrics 0.6.0-alpha.8", + "metrics 0.6.0-alpha.9", "metrics-process", "serde_json", "shellexpand", @@ -6690,7 +6690,7 @@ dependencies = [ [[package]] name = "katana-codecs" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "bytes", "katana-primitives", @@ -6698,7 +6698,7 @@ dependencies = [ [[package]] name = "katana-codecs-derive" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "proc-macro2", "quote", @@ -6708,7 +6708,7 @@ dependencies = [ [[package]] name = "katana-core" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "assert_matches", @@ -6745,7 +6745,7 @@ dependencies = [ [[package]] name = "katana-db" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "cairo-lang-starknet", @@ -6766,7 +6766,7 @@ dependencies = [ [[package]] name = "katana-executor" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "blockifier", @@ -6793,7 +6793,7 @@ dependencies = [ [[package]] name = "katana-primitives" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "base64 0.21.7", @@ -6819,7 +6819,7 @@ dependencies = [ [[package]] name = "katana-provider" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "auto_impl", @@ -6844,7 +6844,7 @@ dependencies = [ [[package]] name = "katana-rpc" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "assert_matches", @@ -6878,7 +6878,7 @@ dependencies = [ [[package]] name = "katana-rpc-api" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "jsonrpsee 0.16.3", "katana-core", @@ -6889,7 +6889,7 @@ dependencies = [ [[package]] name = "katana-rpc-types" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "derive_more", @@ -6909,7 +6909,7 @@ dependencies = [ [[package]] name = "katana-rpc-types-builder" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "katana-executor", @@ -6921,7 +6921,7 @@ dependencies = [ [[package]] name = "katana-runner" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "chrono", @@ -6940,7 +6940,7 @@ dependencies = [ [[package]] name = "katana-tasks" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "futures", "rayon", @@ -7835,7 +7835,7 @@ dependencies = [ [[package]] name = "metrics" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "hyper", @@ -10148,7 +10148,7 @@ checksum = "e666a5496a0b2186dbcd0ff6106e29e093c15591bde62c20d3842007c6978a09" [[package]] name = "runner-macro" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "quote", "syn 2.0.49", @@ -10375,7 +10375,7 @@ dependencies = [ [[package]] name = "saya" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "clap", @@ -10394,7 +10394,7 @@ dependencies = [ [[package]] name = "saya-core" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "async-trait", @@ -10427,7 +10427,7 @@ dependencies = [ [[package]] name = "saya-provider" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "async-trait", @@ -11230,7 +11230,7 @@ dependencies = [ [[package]] name = "sozo" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "assert_fs", @@ -11280,7 +11280,7 @@ dependencies = [ [[package]] name = "sozo-ops" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "assert_fs", @@ -11329,7 +11329,7 @@ dependencies = [ [[package]] name = "sozo-signers" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "starknet 0.9.0", @@ -12791,7 +12791,7 @@ dependencies = [ [[package]] name = "torii" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "async-trait", @@ -12811,7 +12811,7 @@ dependencies = [ "hyper-reverse-proxy", "indexmap 1.9.3", "lazy_static", - "metrics 0.6.0-alpha.8", + "metrics 0.6.0-alpha.9", "metrics-process", "scarb", "serde", @@ -12837,7 +12837,7 @@ dependencies = [ [[package]] name = "torii-client" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "async-trait", "camino", @@ -12865,7 +12865,7 @@ dependencies = [ [[package]] name = "torii-core" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "async-trait", @@ -12902,7 +12902,7 @@ dependencies = [ [[package]] name = "torii-graphql" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "async-graphql", @@ -12943,7 +12943,7 @@ dependencies = [ [[package]] name = "torii-grpc" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "bytes", "crypto-bigint", @@ -12982,7 +12982,7 @@ dependencies = [ [[package]] name = "torii-relay" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "async-trait", @@ -13017,7 +13017,7 @@ dependencies = [ [[package]] name = "torii-server" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" dependencies = [ "anyhow", "async-trait", @@ -13036,7 +13036,7 @@ dependencies = [ "hyper-reverse-proxy", "indexmap 1.9.3", "lazy_static", - "metrics 0.6.0-alpha.8", + "metrics 0.6.0-alpha.9", "metrics-process", "scarb", "serde", @@ -13334,7 +13334,7 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "types-test" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" [[package]] name = "ucd-trie" diff --git a/Cargo.toml b/Cargo.toml index e6b35536f0..9106840bb0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -45,7 +45,7 @@ edition = "2021" license = "Apache-2.0" license-file = "LICENSE" repository = "https://github.com/dojoengine/dojo/" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" [profile.performance] codegen-units = 1 diff --git a/crates/katana/runner/runner-macro/Cargo.toml b/crates/katana/runner/runner-macro/Cargo.toml index 2dd6cd44f7..902d0b6a39 100644 --- a/crates/katana/runner/runner-macro/Cargo.toml +++ b/crates/katana/runner/runner-macro/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "runner-macro" -version = "0.6.0-alpha.8" +version = "0.6.0-alpha.9" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html