From a78236d869d2f3462497c83007895e69806e19fb Mon Sep 17 00:00:00 2001 From: Desant pivo Date: Wed, 17 Dec 2025 17:39:38 +0100 Subject: [PATCH 1/8] Update word.rs --- sdk/stdlib-sys/src/intrinsics/word.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sdk/stdlib-sys/src/intrinsics/word.rs b/sdk/stdlib-sys/src/intrinsics/word.rs index af7e96211..73411c85c 100644 --- a/sdk/stdlib-sys/src/intrinsics/word.rs +++ b/sdk/stdlib-sys/src/intrinsics/word.rs @@ -15,6 +15,13 @@ impl Word { } } + /// Creates a new `Word` with all four field elements set to zero. + pub fn empty() -> Self { + Self { + inner: (felt!(0), felt!(0), felt!(0), felt!(0)), + } + } + pub fn reverse(&self) -> Word { // This is workaround for the https://github.com/0xMiden/compiler/issues/596 to avoid // i64.rotl op in the compiled Wasm From 65d5bce415c6642107f9105df1b97fa462a0443f Mon Sep 17 00:00:00 2001 From: Desant pivo Date: Wed, 17 Dec 2025 17:39:59 +0100 Subject: [PATCH 2/8] Update faucet.rs --- tests/integration/src/rust_masm_tests/rust_sdk/base/faucet.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/src/rust_masm_tests/rust_sdk/base/faucet.rs b/tests/integration/src/rust_masm_tests/rust_sdk/base/faucet.rs index 50c87fcee..5698c53d9 100644 --- a/tests/integration/src/rust_masm_tests/rust_sdk/base/faucet.rs +++ b/tests/integration/src/rust_masm_tests/rust_sdk/base/faucet.rs @@ -86,7 +86,7 @@ fn rust_sdk_account_faucet_create_non_fungible_asset_binding() { run_faucet_binding_test( "rust_sdk_account_faucet_create_non_fungible_asset_binding", "pub fn binding(&self) -> Asset { - let hash = Word::from([Felt::from_u32(0); 4]); + let hash = Word::empty(); faucet::create_non_fungible_asset(hash) }", ); From 452633e1d3d28c07ad83787c8d79132a001f05d0 Mon Sep 17 00:00:00 2001 From: Desant pivo Date: Wed, 17 Dec 2025 17:40:29 +0100 Subject: [PATCH 3/8] Update asset.rs --- tests/integration/src/rust_masm_tests/rust_sdk/base/asset.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/src/rust_masm_tests/rust_sdk/base/asset.rs b/tests/integration/src/rust_masm_tests/rust_sdk/base/asset.rs index ae862303c..15da6eb8a 100644 --- a/tests/integration/src/rust_masm_tests/rust_sdk/base/asset.rs +++ b/tests/integration/src/rust_masm_tests/rust_sdk/base/asset.rs @@ -88,7 +88,7 @@ fn rust_sdk_account_asset_build_non_fungible_asset_binding() { "rust_sdk_account_asset_build_non_fungible_asset_binding", "pub fn binding(&self) -> Asset { let faucet = AccountId { prefix: Felt::from_u32(1), suffix: Felt::from_u32(0) }; - let hash = Word::from([Felt::from_u32(0); 4]); + let hash = Word::empty(); asset::build_non_fungible_asset(faucet, hash) }", ); From b464769e71130af13b114d3a398a6b43d8f36286 Mon Sep 17 00:00:00 2001 From: Desant pivo Date: Wed, 17 Dec 2025 17:40:49 +0100 Subject: [PATCH 4/8] Update account.rs --- .../src/rust_masm_tests/rust_sdk/base/account.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/integration/src/rust_masm_tests/rust_sdk/base/account.rs b/tests/integration/src/rust_masm_tests/rust_sdk/base/account.rs index 550b1c4c4..73f73c629 100644 --- a/tests/integration/src/rust_masm_tests/rust_sdk/base/account.rs +++ b/tests/integration/src/rust_masm_tests/rust_sdk/base/account.rs @@ -192,7 +192,7 @@ fn rust_sdk_account_has_procedure_binding() { run_account_binding_test( "rust_sdk_account_has_procedure_binding", "pub fn binding(&self) -> Felt { - let proc_root = Word::from([Felt::from_u32(0); 4]); + let proc_root = Word::empty(); if self.has_procedure(proc_root) { Felt::from_u32(1) } else { @@ -207,7 +207,7 @@ fn rust_sdk_account_was_procedure_called_binding() { run_account_binding_test( "rust_sdk_account_was_procedure_called_binding", "pub fn binding(&self) -> Felt { - let proc_root = Word::from([Felt::from_u32(0); 4]); + let proc_root = Word::empty(); if self.was_procedure_called(proc_root) { Felt::from_u32(1) } else { @@ -232,7 +232,7 @@ fn rust_sdk_account_storage_get_initial_map_item_binding() { run_account_binding_test( "rust_sdk_account_storage_get_initial_map_item_binding", "pub fn binding(&self) -> Word { - let key = Word::from([Felt::from_u32(0); 4]); + let key = Word::empty(); storage::get_initial_map_item(0, &key) }", ); From 843c2890ebbe4bc6f55435e03f5a2ec7e2b0a51e Mon Sep 17 00:00:00 2001 From: Desant pivo Date: Fri, 19 Dec 2025 11:29:26 +0100 Subject: [PATCH 5/8] Update word.rs --- sdk/stdlib-sys/src/intrinsics/word.rs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/sdk/stdlib-sys/src/intrinsics/word.rs b/sdk/stdlib-sys/src/intrinsics/word.rs index 73411c85c..2e0f242f0 100644 --- a/sdk/stdlib-sys/src/intrinsics/word.rs +++ b/sdk/stdlib-sys/src/intrinsics/word.rs @@ -15,13 +15,6 @@ impl Word { } } - /// Creates a new `Word` with all four field elements set to zero. - pub fn empty() -> Self { - Self { - inner: (felt!(0), felt!(0), felt!(0), felt!(0)), - } - } - pub fn reverse(&self) -> Word { // This is workaround for the https://github.com/0xMiden/compiler/issues/596 to avoid // i64.rotl op in the compiled Wasm @@ -93,3 +86,12 @@ impl AsRef for Word { self } } + +impl Default for Word { + /// Creates a new `Word` with all four field elements set to zero. + fn default() -> Self { + Self { + inner: (felt!(0), felt!(0), felt!(0), felt!(0)), + } + } +} From 72356b8b9cb86d56be2f06939bcfd9368f6ca60b Mon Sep 17 00:00:00 2001 From: Desant pivo Date: Fri, 19 Dec 2025 11:29:46 +0100 Subject: [PATCH 6/8] Update faucet.rs --- tests/integration/src/rust_masm_tests/rust_sdk/base/faucet.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/src/rust_masm_tests/rust_sdk/base/faucet.rs b/tests/integration/src/rust_masm_tests/rust_sdk/base/faucet.rs index 5698c53d9..bd69b561e 100644 --- a/tests/integration/src/rust_masm_tests/rust_sdk/base/faucet.rs +++ b/tests/integration/src/rust_masm_tests/rust_sdk/base/faucet.rs @@ -86,7 +86,7 @@ fn rust_sdk_account_faucet_create_non_fungible_asset_binding() { run_faucet_binding_test( "rust_sdk_account_faucet_create_non_fungible_asset_binding", "pub fn binding(&self) -> Asset { - let hash = Word::empty(); + let hash = Word::default(); faucet::create_non_fungible_asset(hash) }", ); From 0887f9755d14278afd7d127e68224e0213b2058f Mon Sep 17 00:00:00 2001 From: Desant pivo Date: Fri, 19 Dec 2025 11:30:02 +0100 Subject: [PATCH 7/8] Update asset.rs --- tests/integration/src/rust_masm_tests/rust_sdk/base/asset.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/src/rust_masm_tests/rust_sdk/base/asset.rs b/tests/integration/src/rust_masm_tests/rust_sdk/base/asset.rs index 15da6eb8a..b3ea00f94 100644 --- a/tests/integration/src/rust_masm_tests/rust_sdk/base/asset.rs +++ b/tests/integration/src/rust_masm_tests/rust_sdk/base/asset.rs @@ -88,7 +88,7 @@ fn rust_sdk_account_asset_build_non_fungible_asset_binding() { "rust_sdk_account_asset_build_non_fungible_asset_binding", "pub fn binding(&self) -> Asset { let faucet = AccountId { prefix: Felt::from_u32(1), suffix: Felt::from_u32(0) }; - let hash = Word::empty(); + let hash = Word::default(); asset::build_non_fungible_asset(faucet, hash) }", ); From 4be54b6320468d9827affe25317e782c5d2fb759 Mon Sep 17 00:00:00 2001 From: Desant pivo Date: Fri, 19 Dec 2025 11:30:18 +0100 Subject: [PATCH 8/8] Update account.rs --- .../src/rust_masm_tests/rust_sdk/base/account.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/integration/src/rust_masm_tests/rust_sdk/base/account.rs b/tests/integration/src/rust_masm_tests/rust_sdk/base/account.rs index 73f73c629..77f319493 100644 --- a/tests/integration/src/rust_masm_tests/rust_sdk/base/account.rs +++ b/tests/integration/src/rust_masm_tests/rust_sdk/base/account.rs @@ -192,7 +192,7 @@ fn rust_sdk_account_has_procedure_binding() { run_account_binding_test( "rust_sdk_account_has_procedure_binding", "pub fn binding(&self) -> Felt { - let proc_root = Word::empty(); + let proc_root = Word::default(); if self.has_procedure(proc_root) { Felt::from_u32(1) } else { @@ -207,7 +207,7 @@ fn rust_sdk_account_was_procedure_called_binding() { run_account_binding_test( "rust_sdk_account_was_procedure_called_binding", "pub fn binding(&self) -> Felt { - let proc_root = Word::empty(); + let proc_root = Word::default(); if self.was_procedure_called(proc_root) { Felt::from_u32(1) } else { @@ -232,7 +232,7 @@ fn rust_sdk_account_storage_get_initial_map_item_binding() { run_account_binding_test( "rust_sdk_account_storage_get_initial_map_item_binding", "pub fn binding(&self) -> Word { - let key = Word::empty(); + let key = Word::default(); storage::get_initial_map_item(0, &key) }", );