From ac41d53c384d31433c8843afab590b8ccfe92834 Mon Sep 17 00:00:00 2001 From: Ammar Arif Date: Wed, 22 Apr 2026 13:41:06 -0500 Subject: [PATCH 1/2] chore(ops): bump dojo-utils to pick up idempotent deploy fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit dojoengine/dojo#3404 landed, fixing `Deployer::deploy_via_udc` so that the already-deployed path returns the real UDC-derived contract address instead of `Felt::ZERO`. Advancing saya's dojo-utils git dep past that merge commit makes `saya-ops core-contract deploy` idempotent across re-runs: a second invocation with the same salt now returns the existing contract's address in both text and JSON output. Lockfile-only change — `Cargo.toml` already pinned to `branch = "main"`. Cargo just needed to refresh. Verified against a local katana dev chain: running `saya-ops core-contract declare-and-deploy-tee-registry-mock --salt 0x7ee` against an L2 that had been previously deployed with the same salt now returns the real contract address instead of "0x0". Co-Authored-By: Claude Opus 4.7 (1M context) --- bin/ops/Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/ops/Cargo.lock b/bin/ops/Cargo.lock index 04558ad..6d58ec2 100644 --- a/bin/ops/Cargo.lock +++ b/bin/ops/Cargo.lock @@ -1707,7 +1707,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ab67060fc6b8ef687992d439ca0fa36e7ed17e9a0b16b25b601e8757df720de" dependencies = [ "data-encoding", - "syn 2.0.117", + "syn 1.0.109", ] [[package]] @@ -1804,7 +1804,7 @@ dependencies = [ [[package]] name = "dojo-utils" version = "1.8.0" -source = "git+https://github.com/dojoengine/dojo?branch=main#4a374ac64300f4e166b3f5b141b4ab6b1434b835" +source = "git+https://github.com/dojoengine/dojo?branch=main#9b64ea8dc9bc6be8992dba87c104378dbf09b565" dependencies = [ "anyhow", "colored_json", From 50ca4aa49270c0d10b7d96d83afd45255dd6d91b Mon Sep 17 00:00:00 2001 From: Ammar Arif Date: Wed, 22 Apr 2026 13:44:57 -0500 Subject: [PATCH 2/2] chore(ops): pin dojo-utils to exact rev instead of main branch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tracking `branch = "main"` means anyone who runs `cargo update` picks up whatever happens to be on dojoengine/dojo HEAD at that moment, which can introduce unrelated behavior/API changes. Pin to the exact rev (9b64ea8dc9bc6be8992dba87c104378dbf09b565 — the PR #3404 merge commit) so dep advances are deliberate. To pull future dojo-utils changes, bump the rev in Cargo.toml explicitly. Co-Authored-By: Claude Opus 4.7 (1M context) --- bin/ops/Cargo.lock | 2 +- bin/ops/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/ops/Cargo.lock b/bin/ops/Cargo.lock index 6d58ec2..c730e34 100644 --- a/bin/ops/Cargo.lock +++ b/bin/ops/Cargo.lock @@ -1804,7 +1804,7 @@ dependencies = [ [[package]] name = "dojo-utils" version = "1.8.0" -source = "git+https://github.com/dojoengine/dojo?branch=main#9b64ea8dc9bc6be8992dba87c104378dbf09b565" +source = "git+https://github.com/dojoengine/dojo?rev=9b64ea8dc9bc6be8992dba87c104378dbf09b565#9b64ea8dc9bc6be8992dba87c104378dbf09b565" dependencies = [ "anyhow", "colored_json", diff --git a/bin/ops/Cargo.toml b/bin/ops/Cargo.toml index b3bf2ba..8774c93 100644 --- a/bin/ops/Cargo.toml +++ b/bin/ops/Cargo.toml @@ -28,7 +28,7 @@ clap = { version = "4.5.23", default-features = false, features = [ "env", "std", ] } -dojo-utils = { git = "https://github.com/dojoengine/dojo", branch = "main" } +dojo-utils = { git = "https://github.com/dojoengine/dojo", rev = "9b64ea8dc9bc6be8992dba87c104378dbf09b565" } env_logger = { version = "0.11.6", features = ["unstable-kv"] } log = { version = "0.4.22", features = ["kv"] } serde = { version = "1.0", default-features = false, features = ["derive"] }