From e9964186cad51595bd601c83728351c6565f3eeb Mon Sep 17 00:00:00 2001 From: Enrico Marconi Date: Thu, 2 Jul 2026 15:31:25 +0200 Subject: [PATCH 01/10] update product-core and iota dependencies --- Cargo.toml | 12 ++--- audit-trail-rs/src/client/full_client.rs | 16 +++---- audit-trail-rs/src/client/read_only.rs | 6 +-- audit-trail-rs/src/core/access/operations.rs | 21 ++++---- .../src/core/access/transactions.rs | 36 +++++++------- audit-trail-rs/src/core/builder.rs | 6 +-- audit-trail-rs/src/core/create/operations.rs | 6 +-- .../src/core/create/transactions.rs | 6 +-- .../src/core/internal/capability.rs | 36 +++++++------- audit-trail-rs/src/core/internal/tx.rs | 8 ++-- audit-trail-rs/src/core/locking/operations.rs | 12 ++--- .../src/core/locking/transactions.rs | 20 ++++---- audit-trail-rs/src/core/records/operations.rs | 10 ++-- .../src/core/records/transactions.rs | 18 +++---- audit-trail-rs/src/core/tags/operations.rs | 10 ++-- audit-trail-rs/src/core/tags/transactions.rs | 14 +++--- audit-trail-rs/src/core/trail.rs | 4 +- audit-trail-rs/src/core/trail/operations.rs | 12 ++--- audit-trail-rs/src/core/trail/transactions.rs | 18 +++---- audit-trail-rs/src/core/types/audit_trail.rs | 5 +- audit-trail-rs/src/core/types/event.rs | 48 +++++++++---------- audit-trail-rs/src/core/types/record.rs | 5 +- audit-trail-rs/src/core/types/role_map.rs | 12 ++--- audit-trail-rs/tests/e2e/access.rs | 4 +- audit-trail-rs/tests/e2e/client.rs | 8 ++-- audit-trail-rs/tests/e2e/trail.rs | 4 +- bindings/wasm/audit_trail_wasm/Cargo.toml | 6 +-- bindings/wasm/notarization_wasm/Cargo.toml | 6 +-- examples/07_transfer_dynamic_notarization.rs | 6 +-- .../real-world/03_digital_product_passport.rs | 4 +- examples/utils/utils.rs | 4 +- notarization-rs/src/client/full_client.rs | 13 +++-- notarization-rs/src/client/read_only.rs | 6 +-- notarization-rs/src/core/operations.rs | 7 ++- .../src/core/transactions/create.rs | 6 +-- .../src/core/transactions/destroy.rs | 3 +- .../src/core/transactions/transfer.rs | 8 ++-- .../src/core/transactions/update_metadata.rs | 3 +- .../src/core/transactions/update_state.rs | 3 +- .../src/core/types/notarization.rs | 14 +++--- notarization-rs/tests/e2e/client.rs | 7 ++- .../tests/e2e/dynamic_notarization.rs | 6 +-- .../tests/e2e/locked_notarization.rs | 4 +- 43 files changed, 216 insertions(+), 247 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 75d4fb20..4ddaa7de 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,12 +17,12 @@ async-trait = "0.1" bcs = "0.1" chrono = { version = "0.4", default-features = false } hyper = "1" -iota-sdk = { git = "https://github.com/iotaledger/iota.git", package = "iota-sdk", tag = "v1.25.0" } -iota-sdk-types = { git = "https://github.com/iotaledger/iota-rust-sdk.git", rev = "35a27488b887e28e844a1e46d7edb78605871155", default-features = false } -iota_interaction = { git = "https://github.com/iotaledger/product-core.git", tag = "v0.8.21", default-features = false, package = "iota_interaction" } -iota_interaction_rust = { git = "https://github.com/iotaledger/product-core.git", tag = "v0.8.21", default-features = false, package = "iota_interaction_rust" } -iota_interaction_ts = { git = "https://github.com/iotaledger/product-core.git", tag = "v0.8.21", default-features = false, package = "iota_interaction_ts" } -product_common = { git = "https://github.com/iotaledger/product-core.git", tag = "v0.8.21", default-features = false, package = "product_common" } +iota-sdk = { git = "https://github.com/iotaledger/iota.git", package = "iota-sdk", tag = "v1.26.1" } +iota-sdk-types = { git = "https://github.com/iotaledger/iota-rust-sdk.git", rev = "36bffd625e1b1d38307eb9e49bd2cb7dd988bb11", default-features = false } +iota_interaction = { git = "https://github.com/iotaledger/product-core.git", branch = "feat/iota-v1.26.1-upstream-merge", default-features = false, package = "iota_interaction" } +iota_interaction_rust = { git = "https://github.com/iotaledger/product-core.git", branch = "feat/iota-v1.26.1-upstream-merge", default-features = false, package = "iota_interaction_rust" } +iota_interaction_ts = { git = "https://github.com/iotaledger/product-core.git", branch = "feat/iota-v1.26.1-upstream-merge", default-features = false, package = "iota_interaction_ts" } +product_common = { git = "https://github.com/iotaledger/product-core.git", branch = "feat/iota-v1.26.1-upstream-merge", default-features = false, package = "product_common" } secret-storage = { git = "https://github.com/iotaledger/secret-storage.git", tag = "v0.3.0", default-features = false } serde = { version = "1.0", default-features = false, features = ["alloc", "derive"] } serde-aux = { version = "4.7.0", default-features = false } diff --git a/audit-trail-rs/src/client/full_client.rs b/audit-trail-rs/src/client/full_client.rs index e64e2107..87feb80b 100644 --- a/audit-trail-rs/src/client/full_client.rs +++ b/audit-trail-rs/src/client/full_client.rs @@ -82,13 +82,11 @@ use std::ops::Deref; use async_trait::async_trait; #[cfg(not(target_arch = "wasm32"))] use iota_interaction::IotaClient; -use iota_interaction::types::base_types::IotaAddress; use iota_interaction::types::crypto::PublicKey; -use iota_interaction::types::transaction::ProgrammableTransaction; use iota_interaction::{IotaKeySignature, OptionalSync}; #[cfg(target_arch = "wasm32")] use iota_interaction_ts::bindings::WasmIotaClient as IotaClient; -use iota_sdk_types::ObjectId; +use iota_sdk_types::{Address, ObjectId, ProgrammableTransaction}; use product_common::core_client::{CoreClient, CoreClientReadOnly}; use product_common::network_name::NetworkName; use secret_storage::Signer; @@ -265,7 +263,7 @@ impl AuditTrailClient { /// the initial admin. pub fn create_trail(&self) -> AuditTrailBuilder { AuditTrailBuilder { - admin: self.public_key.as_ref().map(IotaAddress::from), + admin: self.public_key.as_ref().map(Address::from), ..AuditTrailBuilder::default() } } @@ -280,10 +278,10 @@ where self.public_key.as_ref().expect("public_key is set") } - /// Returns the [IotaAddress] wrapped by this client. + /// Returns the [Address] wrapped by this client. #[inline(always)] - pub fn address(&self) -> IotaAddress { - IotaAddress::from(self.public_key()) + pub fn address(&self) -> Address { + Address::from(self.public_key()) } } @@ -317,8 +315,8 @@ where &self.signer } - fn sender_address(&self) -> IotaAddress { - IotaAddress::from(self.public_key()) + fn sender_address(&self) -> Address { + Address::from(self.public_key()) } fn sender_public_key(&self) -> &PublicKey { diff --git a/audit-trail-rs/src/client/read_only.rs b/audit-trail-rs/src/client/read_only.rs index 74a617ed..38c17af3 100644 --- a/audit-trail-rs/src/client/read_only.rs +++ b/audit-trail-rs/src/client/read_only.rs @@ -12,11 +12,9 @@ use std::ops::Deref; #[cfg(not(target_arch = "wasm32"))] use iota_interaction::IotaClient; use iota_interaction::IotaClientTrait; -use iota_interaction::types::base_types::IotaAddress; -use iota_interaction::types::transaction::{ProgrammableTransaction, TransactionKind}; #[cfg(target_arch = "wasm32")] use iota_interaction_ts::bindings::WasmIotaClient; -use iota_sdk_types::ObjectId; +use iota_sdk_types::{Address, ObjectId, ProgrammableTransaction, TransactionKind}; use product_common::core_client::CoreClientReadOnly; use product_common::network_name::NetworkName; use serde::de::DeserializeOwned; @@ -196,7 +194,7 @@ impl AuditTrailReadOnly for AuditTrailClientReadOnly { let inspection_result = self .iota_client .read_api() - .dev_inspect_transaction_block(IotaAddress::ZERO, TransactionKind::Programmable(tx), None, None, None) + .dev_inspect_transaction_block(Address::ZERO, TransactionKind::Programmable(tx), None, None, None) .await .map_err(|err| Error::UnexpectedApiResponse(format!("Failed to inspect transaction block: {err}")))?; diff --git a/audit-trail-rs/src/core/access/operations.rs b/audit-trail-rs/src/core/access/operations.rs index 721bc837..f98f9d09 100644 --- a/audit-trail-rs/src/core/access/operations.rs +++ b/audit-trail-rs/src/core/access/operations.rs @@ -6,10 +6,9 @@ //! These helpers encode Rust-side access inputs into the exact Move call shapes expected by the audit-trail //! package and apply the lightweight preflight checks that are cheaper to surface before submission. -use iota_interaction::types::base_types::IotaAddress; -use iota_interaction::types::transaction::{CallArg, ProgrammableTransaction}; +use iota_interaction::types::transaction::CallArg; use iota_interaction::{OptionalSync, ident_str}; -use iota_sdk_types::ObjectId; +use iota_sdk_types::{Address, ObjectId, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; use crate::core::internal::{trail as trail_reader, tx}; @@ -32,7 +31,7 @@ impl AccessOps { pub(super) async fn create_role( client: &C, trail_id: ObjectId, - owner: IotaAddress, + owner: Address, name: String, permissions: PermissionSet, role_tags: Option, @@ -85,7 +84,7 @@ impl AccessOps { pub(super) async fn update_role( client: &C, trail_id: ObjectId, - owner: IotaAddress, + owner: Address, name: String, permissions: PermissionSet, role_tags: Option, @@ -139,7 +138,7 @@ impl AccessOps { pub(super) async fn delete_role( client: &C, trail_id: ObjectId, - owner: IotaAddress, + owner: Address, name: String, selected_capability_id: Option, ) -> Result @@ -170,7 +169,7 @@ impl AccessOps { pub(super) async fn issue_capability( client: &C, trail_id: ObjectId, - owner: IotaAddress, + owner: Address, role_name: String, options: CapabilityIssueOptions, selected_capability_id: Option, @@ -205,7 +204,7 @@ impl AccessOps { pub(super) async fn revoke_capability( client: &C, trail_id: ObjectId, - owner: IotaAddress, + owner: Address, capability_id: ObjectId, capability_valid_until: Option, selected_capability_id: Option, @@ -238,7 +237,7 @@ impl AccessOps { pub(super) async fn destroy_capability( client: &C, trail_id: ObjectId, - owner: IotaAddress, + owner: Address, capability_id: ObjectId, selected_capability_id: Option, ) -> Result @@ -296,7 +295,7 @@ impl AccessOps { pub(super) async fn revoke_initial_admin_capability( client: &C, trail_id: ObjectId, - owner: IotaAddress, + owner: Address, capability_id: ObjectId, capability_valid_until: Option, selected_capability_id: Option, @@ -329,7 +328,7 @@ impl AccessOps { pub(super) async fn cleanup_revoked_capabilities( client: &C, trail_id: ObjectId, - owner: IotaAddress, + owner: Address, selected_capability_id: Option, ) -> Result where diff --git a/audit-trail-rs/src/core/access/transactions.rs b/audit-trail-rs/src/core/access/transactions.rs index 92113d54..be45cffa 100644 --- a/audit-trail-rs/src/core/access/transactions.rs +++ b/audit-trail-rs/src/core/access/transactions.rs @@ -9,9 +9,7 @@ use async_trait::async_trait; use iota_interaction::OptionalSync; use iota_interaction::rpc_types::{IotaTransactionBlockEffects, IotaTransactionBlockEvents}; -use iota_interaction::types::base_types::IotaAddress; -use iota_interaction::types::transaction::ProgrammableTransaction; -use iota_sdk_types::ObjectId; +use iota_sdk_types::{Address, ObjectId, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; use product_common::transaction::transaction_builder::Transaction; use tokio::sync::OnceCell; @@ -37,7 +35,7 @@ use crate::error::Error; #[derive(Debug, Clone)] pub struct CreateRole { trail_id: ObjectId, - owner: IotaAddress, + owner: Address, name: String, permissions: PermissionSet, role_tags: Option, @@ -51,7 +49,7 @@ impl CreateRole { /// `role_tags`, when present, are serialized as Move `record_tags::RoleTags` role data. pub fn new( trail_id: ObjectId, - owner: IotaAddress, + owner: Address, name: String, permissions: PermissionSet, role_tags: Option, @@ -135,7 +133,7 @@ impl Transaction for CreateRole { #[derive(Debug, Clone)] pub struct UpdateRole { trail_id: ObjectId, - owner: IotaAddress, + owner: Address, name: String, permissions: PermissionSet, role_tags: Option, @@ -147,7 +145,7 @@ impl UpdateRole { /// Creates an `UpdateRole` transaction builder payload. pub fn new( trail_id: ObjectId, - owner: IotaAddress, + owner: Address, name: String, permissions: PermissionSet, role_tags: Option, @@ -230,7 +228,7 @@ impl Transaction for UpdateRole { #[derive(Debug, Clone)] pub struct DeleteRole { trail_id: ObjectId, - owner: IotaAddress, + owner: Address, name: String, selected_capability_id: Option, cached_ptb: OnceCell, @@ -238,7 +236,7 @@ pub struct DeleteRole { impl DeleteRole { /// Creates a `DeleteRole` transaction builder payload. - pub fn new(trail_id: ObjectId, owner: IotaAddress, name: String, selected_capability_id: Option) -> Self { + pub fn new(trail_id: ObjectId, owner: Address, name: String, selected_capability_id: Option) -> Self { Self { trail_id, owner, @@ -312,7 +310,7 @@ impl Transaction for DeleteRole { #[derive(Debug, Clone)] pub struct IssueCapability { trail_id: ObjectId, - owner: IotaAddress, + owner: Address, role: String, options: CapabilityIssueOptions, selected_capability_id: Option, @@ -323,7 +321,7 @@ impl IssueCapability { /// Creates an `IssueCapability` transaction builder payload. pub fn new( trail_id: ObjectId, - owner: IotaAddress, + owner: Address, role: String, options: CapabilityIssueOptions, selected_capability_id: Option, @@ -403,7 +401,7 @@ impl Transaction for IssueCapability { #[derive(Debug, Clone)] pub struct RevokeCapability { trail_id: ObjectId, - owner: IotaAddress, + owner: Address, capability_id: ObjectId, capability_valid_until: Option, selected_capability_id: Option, @@ -414,7 +412,7 @@ impl RevokeCapability { /// Creates a `RevokeCapability` transaction builder payload. pub fn new( trail_id: ObjectId, - owner: IotaAddress, + owner: Address, capability_id: ObjectId, capability_valid_until: Option, selected_capability_id: Option, @@ -493,7 +491,7 @@ impl Transaction for RevokeCapability { #[derive(Debug, Clone)] pub struct DestroyCapability { trail_id: ObjectId, - owner: IotaAddress, + owner: Address, capability_id: ObjectId, selected_capability_id: Option, cached_ptb: OnceCell, @@ -503,7 +501,7 @@ impl DestroyCapability { /// Creates a `DestroyCapability` transaction builder payload. pub fn new( trail_id: ObjectId, - owner: IotaAddress, + owner: Address, capability_id: ObjectId, selected_capability_id: Option, ) -> Self { @@ -662,7 +660,7 @@ impl Transaction for DestroyInitialAdminCapability { #[derive(Debug, Clone)] pub struct RevokeInitialAdminCapability { trail_id: ObjectId, - owner: IotaAddress, + owner: Address, capability_id: ObjectId, capability_valid_until: Option, selected_capability_id: Option, @@ -673,7 +671,7 @@ impl RevokeInitialAdminCapability { /// Creates a `RevokeInitialAdminCapability` transaction builder payload. pub fn new( trail_id: ObjectId, - owner: IotaAddress, + owner: Address, capability_id: ObjectId, capability_valid_until: Option, selected_capability_id: Option, @@ -757,14 +755,14 @@ impl Transaction for RevokeInitialAdminCapability { #[derive(Debug, Clone)] pub struct CleanupRevokedCapabilities { trail_id: ObjectId, - owner: IotaAddress, + owner: Address, selected_capability_id: Option, cached_ptb: OnceCell, } impl CleanupRevokedCapabilities { /// Creates a `CleanupRevokedCapabilities` transaction builder payload. - pub fn new(trail_id: ObjectId, owner: IotaAddress, selected_capability_id: Option) -> Self { + pub fn new(trail_id: ObjectId, owner: Address, selected_capability_id: Option) -> Self { Self { trail_id, owner, diff --git a/audit-trail-rs/src/core/builder.rs b/audit-trail-rs/src/core/builder.rs index dd5f815a..9e127bfd 100644 --- a/audit-trail-rs/src/core/builder.rs +++ b/audit-trail-rs/src/core/builder.rs @@ -5,8 +5,8 @@ use std::collections::HashSet; -use iota_interaction::types::base_types::IotaAddress; use product_common::transaction::transaction_builder::TransactionBuilder; +use iota_sdk_types::Address; use super::types::{Data, ImmutableMetadata, InitialRecord, LockingConfig}; use crate::core::create::CreateTrail; @@ -31,7 +31,7 @@ use crate::error::Error; #[derive(Debug, Clone, Default)] pub struct AuditTrailBuilder { /// Initial admin address that should receive the initial admin capability. - pub admin: Option, + pub admin: Option
, /// Optional initial record created together with the trail. pub initial_record: Option, /// Locking rules to apply at creation time. @@ -110,7 +110,7 @@ impl AuditTrailBuilder { } /// Sets the admin address that receives the initial-admin capability. - pub fn with_admin(mut self, admin: IotaAddress) -> Self { + pub fn with_admin(mut self, admin: Address) -> Self { self.admin = Some(admin); self } diff --git a/audit-trail-rs/src/core/create/operations.rs b/audit-trail-rs/src/core/create/operations.rs index 67975640..e1bf0402 100644 --- a/audit-trail-rs/src/core/create/operations.rs +++ b/audit-trail-rs/src/core/create/operations.rs @@ -6,10 +6,8 @@ use std::collections::HashSet; use iota_interaction::ident_str; -use iota_interaction::types::base_types::IotaAddress; use iota_interaction::types::programmable_transaction_builder::ProgrammableTransactionBuilder; -use iota_interaction::types::transaction::ProgrammableTransaction; -use iota_sdk_types::{Argument, ObjectId}; +use iota_sdk_types::{Address, Argument, ObjectId, ProgrammableTransaction}; use crate::core::internal::tx; use crate::core::types::{Data, ImmutableMetadata, InitialRecord, LockingConfig}; @@ -27,7 +25,7 @@ pub(super) struct CreateTrailArgs { /// TfComponents package used by locking and capability-related values. pub tf_components_package_id: ObjectId, /// Address that should receive the initial admin capability. - pub admin: IotaAddress, + pub admin: Address, /// Optional first record inserted into the newly created trail. pub initial_record: Option, /// Initial locking rules for the trail. diff --git a/audit-trail-rs/src/core/create/transactions.rs b/audit-trail-rs/src/core/create/transactions.rs index 3a59b288..a2c50900 100644 --- a/audit-trail-rs/src/core/create/transactions.rs +++ b/audit-trail-rs/src/core/create/transactions.rs @@ -4,9 +4,7 @@ use async_trait::async_trait; use iota_interaction::OptionalSync; use iota_interaction::rpc_types::{IotaTransactionBlockEffects, IotaTransactionBlockEvents}; -use iota_interaction::types::base_types::IotaAddress; -use iota_interaction::types::transaction::ProgrammableTransaction; -use iota_sdk_types::ObjectId; +use iota_sdk_types::{Address, ObjectId, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; use product_common::transaction::transaction_builder::Transaction; use tokio::sync::OnceCell; @@ -23,7 +21,7 @@ pub struct TrailCreated { /// Newly created trail object ID. pub trail_id: ObjectId, /// Address that created the trail. - pub creator: IotaAddress, + pub creator: Address, /// Millisecond timestamp emitted by the creation event. pub timestamp: u64, } diff --git a/audit-trail-rs/src/core/internal/capability.rs b/audit-trail-rs/src/core/internal/capability.rs index e0f9cab7..bcb6dd8b 100644 --- a/audit-trail-rs/src/core/internal/capability.rs +++ b/audit-trail-rs/src/core/internal/capability.rs @@ -8,11 +8,11 @@ use iota_interaction::rpc_types::{ IotaObjectDataFilter, IotaObjectDataOptions, IotaObjectResponseQuery, IotaParsedData, }; use iota_interaction::types::MoveTypeTagTrait; -use iota_interaction::types::base_types::{IotaAddress, ObjectRef}; +use iota_interaction::types::base_types::ObjectRef; use iota_interaction::types::dynamic_field::DynamicFieldName; use iota_interaction::types::id::ID; use iota_interaction::{IotaClientTrait, OptionalSync}; -use iota_sdk_types::{ObjectId, StructTag}; +use iota_sdk_types::{Address, ObjectId, StructTag}; use product_common::core_client::CoreClientReadOnly; use super::{linked_table, tx}; @@ -25,7 +25,7 @@ use crate::error::Error; /// The lookup is restricted to roles on `trail` that include the requested permission. pub(crate) async fn find_capable_cap( client: &C, - owner: IotaAddress, + owner: Address, trail_id: ObjectId, trail: &OnChainAuditTrail, permission: Permission, @@ -62,7 +62,7 @@ where /// candidates. pub(crate) async fn find_owned_capability( client: &C, - owner: IotaAddress, + owner: Address, trail: &OnChainAuditTrail, predicate: P, ) -> Result, Error> @@ -143,7 +143,7 @@ where table.id, DynamicFieldName { type_: ID::get_type_tag(), - value: serde_json::Value::String(IotaAddress::from(key).to_string()), + value: serde_json::Value::String(Address::from(key).to_string()), }, ) .await?; @@ -166,7 +166,7 @@ where /// revoked, and is either unbound or explicitly issued to `owner`. fn capability_matches

( cap: &Capability, - owner: IotaAddress, + owner: Address, now_ms: u64, revoked_capability_ids: &HashSet, predicate: &P, @@ -188,7 +188,7 @@ where /// `RoleTags` must allow the requested record tag. pub(crate) async fn find_capable_cap_for_tag( client: &C, - owner: IotaAddress, + owner: Address, trail_id: ObjectId, trail: &OnChainAuditTrail, tag: &str, @@ -245,16 +245,16 @@ pub(crate) fn now_ms() -> u64 { mod tests { use std::collections::HashSet; - use iota_interaction::types::base_types::{IotaAddress, dbg_object_id}; + use iota_interaction::types::base_types::dbg_object_id; use iota_interaction::types::id::UID; - use iota_sdk_types::ObjectId; + use iota_sdk_types::{Address, ObjectId}; use super::capability_matches; use crate::core::types::Capability; #[test] fn capability_matches_skips_revoked_caps() { - let owner = IotaAddress::random(); + let owner = Address::random(); let trail_id = dbg_object_id(1); let revoked_cap_id = dbg_object_id(2); let valid_cap_id = dbg_object_id(3); @@ -272,8 +272,8 @@ mod tests { #[test] fn capability_matches_skips_issued_to_mismatch() { - let owner = IotaAddress::random(); - let other_owner = IotaAddress::random(); + let owner = Address::random(); + let other_owner = Address::random(); let trail_id = dbg_object_id(4); let valid_roles = HashSet::from(["Writer".to_string()]); let cap = make_capability(dbg_object_id(5), trail_id, "Writer", Some(other_owner), None, None); @@ -285,7 +285,7 @@ mod tests { #[test] fn capability_matches_skips_caps_before_valid_from() { - let owner = IotaAddress::random(); + let owner = Address::random(); let trail_id = dbg_object_id(6); let valid_roles = HashSet::from(["Writer".to_string()]); let cap = make_capability(dbg_object_id(7), trail_id, "Writer", None, Some(2_000), None); @@ -300,7 +300,7 @@ mod tests { #[test] fn capability_matches_skips_caps_after_valid_until() { - let owner = IotaAddress::random(); + let owner = Address::random(); let trail_id = dbg_object_id(8); let valid_roles = HashSet::from(["Writer".to_string()]); let cap = make_capability(dbg_object_id(9), trail_id, "Writer", None, None, Some(2_000)); @@ -315,7 +315,7 @@ mod tests { #[test] fn capability_matches_accepts_unbound_capability_for_matching_role() { - let owner = IotaAddress::random(); + let owner = Address::random(); let trail_id = dbg_object_id(6); let valid_roles = HashSet::from(["Writer".to_string()]); let cap = make_capability(dbg_object_id(7), trail_id, "Writer", None, None, None); @@ -327,7 +327,7 @@ mod tests { #[test] fn capability_matches_rejects_non_matching_role() { - let owner = IotaAddress::random(); + let owner = Address::random(); let trail_id = dbg_object_id(8); let valid_roles = HashSet::from(["Writer".to_string()]); let cap = make_capability(dbg_object_id(9), trail_id, "Reader", None, None, None); @@ -339,7 +339,7 @@ mod tests { #[test] fn capability_matches_honors_time_constraints() { - let owner = IotaAddress::random(); + let owner = Address::random(); let trail_id = dbg_object_id(10); let valid_roles = HashSet::from(["Writer".to_string()]); let cap = make_capability( @@ -364,7 +364,7 @@ mod tests { id: ObjectId, trail_id: ObjectId, role: &str, - issued_to: Option, + issued_to: Option

, valid_from: Option, valid_until: Option, ) -> Capability { diff --git a/audit-trail-rs/src/core/internal/tx.rs b/audit-trail-rs/src/core/internal/tx.rs index e7599e55..ae229fbf 100644 --- a/audit-trail-rs/src/core/internal/tx.rs +++ b/audit-trail-rs/src/core/internal/tx.rs @@ -6,14 +6,14 @@ use std::str::FromStr; use iota_interaction::rpc_types::IotaObjectDataOptions; -use iota_interaction::types::base_types::{IotaAddress, ObjectRef}; +use iota_interaction::types::base_types::ObjectRef; use iota_interaction::types::programmable_transaction_builder::{ ProgrammableTransactionBuilder as Ptb, ProgrammableTransactionBuilder, }; -use iota_interaction::types::transaction::{CallArg, ProgrammableTransaction, SharedObjectRef}; +use iota_interaction::types::transaction::{CallArg, SharedObjectRef}; use iota_interaction::types::{IOTA_CLOCK_OBJECT_ID, IOTA_CLOCK_OBJECT_SHARED_VERSION, MOVE_STDLIB_PACKAGE_ID}; use iota_interaction::{IotaClientTrait, OptionalSync, ident_str}; -use iota_sdk_types::{Argument, Identifier, ObjectId, Owner, TypeTag}; +use iota_sdk_types::{Address, Argument, Identifier, ObjectId, Owner, ProgrammableTransaction, TypeTag}; use product_common::core_client::CoreClientReadOnly; use serde::Serialize; @@ -76,7 +76,7 @@ pub(crate) fn option_to_move( pub(crate) async fn build_trail_transaction( client: &C, trail_id: ObjectId, - owner: IotaAddress, + owner: Address, permission: Permission, selected_capability_id: Option, method: impl AsRef, diff --git a/audit-trail-rs/src/core/locking/operations.rs b/audit-trail-rs/src/core/locking/operations.rs index ab94f28f..c1aadd18 100644 --- a/audit-trail-rs/src/core/locking/operations.rs +++ b/audit-trail-rs/src/core/locking/operations.rs @@ -7,9 +7,7 @@ //! corresponding locking-update permissions. use iota_interaction::OptionalSync; -use iota_interaction::types::base_types::IotaAddress; -use iota_interaction::types::transaction::ProgrammableTransaction; -use iota_sdk_types::ObjectId; +use iota_sdk_types::{Address, ObjectId, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; use crate::core::internal::tx; @@ -24,7 +22,7 @@ impl LockingOps { pub(super) async fn update_locking_config( client: &C, trail_id: ObjectId, - owner: IotaAddress, + owner: Address, new_config: LockingConfig, selected_capability_id: Option, ) -> Result @@ -56,7 +54,7 @@ impl LockingOps { pub(super) async fn update_delete_record_window( client: &C, trail_id: ObjectId, - owner: IotaAddress, + owner: Address, new_delete_record_window: LockingWindow, selected_capability_id: Option, ) -> Result @@ -84,7 +82,7 @@ impl LockingOps { pub(super) async fn update_delete_trail_lock( client: &C, trail_id: ObjectId, - owner: IotaAddress, + owner: Address, new_delete_trail_lock: TimeLock, selected_capability_id: Option, ) -> Result @@ -115,7 +113,7 @@ impl LockingOps { pub(super) async fn update_write_lock( client: &C, trail_id: ObjectId, - owner: IotaAddress, + owner: Address, new_write_lock: TimeLock, selected_capability_id: Option, ) -> Result diff --git a/audit-trail-rs/src/core/locking/transactions.rs b/audit-trail-rs/src/core/locking/transactions.rs index eb41a1d8..e1d6e4ee 100644 --- a/audit-trail-rs/src/core/locking/transactions.rs +++ b/audit-trail-rs/src/core/locking/transactions.rs @@ -6,9 +6,7 @@ use async_trait::async_trait; use iota_interaction::OptionalSync; use iota_interaction::rpc_types::IotaTransactionBlockEffects; -use iota_interaction::types::base_types::IotaAddress; -use iota_interaction::types::transaction::ProgrammableTransaction; -use iota_sdk_types::ObjectId; +use iota_sdk_types::{Address, ObjectId, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; use product_common::transaction::transaction_builder::Transaction; use tokio::sync::OnceCell; @@ -27,7 +25,7 @@ use crate::error::Error; #[derive(Debug, Clone)] pub struct UpdateLockingConfig { trail_id: ObjectId, - owner: IotaAddress, + owner: Address, config: LockingConfig, selected_capability_id: Option, cached_ptb: OnceCell, @@ -37,7 +35,7 @@ impl UpdateLockingConfig { /// Creates an `UpdateLockingConfig` transaction builder payload. pub fn new( trail_id: ObjectId, - owner: IotaAddress, + owner: Address, config: LockingConfig, selected_capability_id: Option, ) -> Self { @@ -96,7 +94,7 @@ impl Transaction for UpdateLockingConfig { #[derive(Debug, Clone)] pub struct UpdateDeleteRecordWindow { trail_id: ObjectId, - owner: IotaAddress, + owner: Address, window: LockingWindow, selected_capability_id: Option, cached_ptb: OnceCell, @@ -106,7 +104,7 @@ impl UpdateDeleteRecordWindow { /// Creates an `UpdateDeleteRecordWindow` transaction builder payload. pub fn new( trail_id: ObjectId, - owner: IotaAddress, + owner: Address, window: LockingWindow, selected_capability_id: Option, ) -> Self { @@ -165,7 +163,7 @@ impl Transaction for UpdateDeleteRecordWindow { #[derive(Debug, Clone)] pub struct UpdateDeleteTrailLock { trail_id: ObjectId, - owner: IotaAddress, + owner: Address, lock: TimeLock, selected_capability_id: Option, cached_ptb: OnceCell, @@ -175,7 +173,7 @@ impl UpdateDeleteTrailLock { /// Creates an `UpdateDeleteTrailLock` transaction builder payload. pub fn new( trail_id: ObjectId, - owner: IotaAddress, + owner: Address, lock: TimeLock, selected_capability_id: Option, ) -> Self { @@ -233,7 +231,7 @@ impl Transaction for UpdateDeleteTrailLock { #[derive(Debug, Clone)] pub struct UpdateWriteLock { trail_id: ObjectId, - owner: IotaAddress, + owner: Address, lock: TimeLock, selected_capability_id: Option, cached_ptb: OnceCell, @@ -243,7 +241,7 @@ impl UpdateWriteLock { /// Creates an `UpdateWriteLock` transaction builder payload. pub fn new( trail_id: ObjectId, - owner: IotaAddress, + owner: Address, lock: TimeLock, selected_capability_id: Option, ) -> Self { diff --git a/audit-trail-rs/src/core/records/operations.rs b/audit-trail-rs/src/core/records/operations.rs index a62966b0..482fb256 100644 --- a/audit-trail-rs/src/core/records/operations.rs +++ b/audit-trail-rs/src/core/records/operations.rs @@ -7,9 +7,7 @@ //! arguments expected by the trail package. use iota_interaction::OptionalSync; -use iota_interaction::types::base_types::IotaAddress; -use iota_interaction::types::transaction::ProgrammableTransaction; -use iota_sdk_types::ObjectId; +use iota_sdk_types::{Address, ObjectId, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; use crate::core::internal::capability::find_capable_cap_for_tag; @@ -28,7 +26,7 @@ impl RecordsOps { pub(super) async fn add_record( client: &C, trail_id: ObjectId, - owner: IotaAddress, + owner: Address, data: Data, record_metadata: Option, record_tag: Option, @@ -89,7 +87,7 @@ impl RecordsOps { pub(super) async fn delete_record( client: &C, trail_id: ObjectId, - owner: IotaAddress, + owner: Address, sequence_number: u64, selected_capability_id: Option, ) -> Result @@ -123,7 +121,7 @@ impl RecordsOps { pub(super) async fn delete_records_batch( client: &C, trail_id: ObjectId, - owner: IotaAddress, + owner: Address, limit: u64, selected_capability_id: Option, ) -> Result diff --git a/audit-trail-rs/src/core/records/transactions.rs b/audit-trail-rs/src/core/records/transactions.rs index e7b4e4f8..d37e1f69 100644 --- a/audit-trail-rs/src/core/records/transactions.rs +++ b/audit-trail-rs/src/core/records/transactions.rs @@ -9,9 +9,9 @@ use async_trait::async_trait; use iota_interaction::OptionalSync; use iota_interaction::rpc_types::{IotaTransactionBlockEffects, IotaTransactionBlockEvents}; -use iota_interaction::types::base_types::IotaAddress; -use iota_interaction::types::transaction::ProgrammableTransaction; -use iota_sdk_types::ObjectId; + + +use iota_sdk_types::{Address, ObjectId, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; use product_common::transaction::transaction_builder::Transaction; use tokio::sync::OnceCell; @@ -35,7 +35,7 @@ pub struct AddRecord { /// Trail object ID that will receive the record. pub trail_id: ObjectId, /// Address authorizing the write. - pub owner: IotaAddress, + pub owner: Address, /// Record payload to append. pub data: Data, /// Optional application-defined metadata. @@ -51,7 +51,7 @@ impl AddRecord { /// Creates an `AddRecord` transaction builder payload. pub fn new( trail_id: ObjectId, - owner: IotaAddress, + owner: Address, data: Data, metadata: Option, tag: Option, @@ -139,7 +139,7 @@ pub struct DeleteRecord { /// Trail object ID containing the record. pub trail_id: ObjectId, /// Address authorizing the deletion. - pub owner: IotaAddress, + pub owner: Address, /// Sequence number of the record to delete. pub sequence_number: u64, /// Explicit capability to use instead of auto-selecting one from the owner's wallet. @@ -151,7 +151,7 @@ impl DeleteRecord { /// Creates a `DeleteRecord` transaction builder payload. pub fn new( trail_id: ObjectId, - owner: IotaAddress, + owner: Address, sequence_number: u64, selected_capability_id: Option, ) -> Self { @@ -242,7 +242,7 @@ pub struct DeleteRecordsBatch { /// Trail object ID containing the records. pub trail_id: ObjectId, /// Address authorizing the deletion. - pub owner: IotaAddress, + pub owner: Address, /// Maximum number of records to delete in this batch. pub limit: u64, /// Explicit capability to use instead of auto-selecting one from the owner's wallet. @@ -252,7 +252,7 @@ pub struct DeleteRecordsBatch { impl DeleteRecordsBatch { /// Creates a `DeleteRecordsBatch` transaction builder payload. - pub fn new(trail_id: ObjectId, owner: IotaAddress, limit: u64, selected_capability_id: Option) -> Self { + pub fn new(trail_id: ObjectId, owner: Address, limit: u64, selected_capability_id: Option) -> Self { Self { trail_id, owner, diff --git a/audit-trail-rs/src/core/tags/operations.rs b/audit-trail-rs/src/core/tags/operations.rs index 016f284f..c9a2797b 100644 --- a/audit-trail-rs/src/core/tags/operations.rs +++ b/audit-trail-rs/src/core/tags/operations.rs @@ -7,9 +7,9 @@ //! permissions. use iota_interaction::OptionalSync; -use iota_interaction::types::base_types::IotaAddress; -use iota_interaction::types::transaction::ProgrammableTransaction; -use iota_sdk_types::ObjectId; + + +use iota_sdk_types::{Address, ObjectId, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; use crate::core::internal::tx; @@ -24,7 +24,7 @@ impl TagsOps { pub(super) async fn add_record_tag( client: &C, trail_id: ObjectId, - owner: IotaAddress, + owner: Address, tag: String, selected_capability_id: Option, ) -> Result @@ -51,7 +51,7 @@ impl TagsOps { pub(super) async fn remove_record_tag( client: &C, trail_id: ObjectId, - owner: IotaAddress, + owner: Address, tag: String, selected_capability_id: Option, ) -> Result diff --git a/audit-trail-rs/src/core/tags/transactions.rs b/audit-trail-rs/src/core/tags/transactions.rs index 5b9228ac..66e4f520 100644 --- a/audit-trail-rs/src/core/tags/transactions.rs +++ b/audit-trail-rs/src/core/tags/transactions.rs @@ -6,9 +6,9 @@ use async_trait::async_trait; use iota_interaction::OptionalSync; use iota_interaction::rpc_types::IotaTransactionBlockEffects; -use iota_interaction::types::base_types::IotaAddress; -use iota_interaction::types::transaction::ProgrammableTransaction; -use iota_sdk_types::ObjectId; + + +use iota_sdk_types::{Address, ObjectId, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; use product_common::transaction::transaction_builder::Transaction; use tokio::sync::OnceCell; @@ -25,7 +25,7 @@ use crate::error::Error; #[derive(Debug, Clone)] pub struct AddRecordTag { trail_id: ObjectId, - owner: IotaAddress, + owner: Address, tag: String, selected_capability_id: Option, cached_ptb: OnceCell, @@ -33,7 +33,7 @@ pub struct AddRecordTag { impl AddRecordTag { /// Creates an `AddRecordTag` transaction builder payload. - pub fn new(trail_id: ObjectId, owner: IotaAddress, tag: String, selected_capability_id: Option) -> Self { + pub fn new(trail_id: ObjectId, owner: Address, tag: String, selected_capability_id: Option) -> Self { Self { trail_id, owner, @@ -89,7 +89,7 @@ impl Transaction for AddRecordTag { #[derive(Debug, Clone)] pub struct RemoveRecordTag { trail_id: ObjectId, - owner: IotaAddress, + owner: Address, tag: String, selected_capability_id: Option, cached_ptb: OnceCell, @@ -97,7 +97,7 @@ pub struct RemoveRecordTag { impl RemoveRecordTag { /// Creates a `RemoveRecordTag` transaction builder payload. - pub fn new(trail_id: ObjectId, owner: IotaAddress, tag: String, selected_capability_id: Option) -> Self { + pub fn new(trail_id: ObjectId, owner: Address, tag: String, selected_capability_id: Option) -> Self { Self { trail_id, owner, diff --git a/audit-trail-rs/src/core/trail.rs b/audit-trail-rs/src/core/trail.rs index 604b1766..11ec8637 100644 --- a/audit-trail-rs/src/core/trail.rs +++ b/audit-trail-rs/src/core/trail.rs @@ -3,9 +3,9 @@ //! High-level trail handles and trail-scoped transactions. -use iota_interaction::types::transaction::ProgrammableTransaction; + use iota_interaction::{IotaKeySignature, OptionalSync}; -use iota_sdk_types::ObjectId; +use iota_sdk_types::{ObjectId, ProgrammableTransaction}; use product_common::core_client::{CoreClient, CoreClientReadOnly}; use product_common::transaction::transaction_builder::TransactionBuilder; use secret_storage::Signer; diff --git a/audit-trail-rs/src/core/trail/operations.rs b/audit-trail-rs/src/core/trail/operations.rs index 8c8c6d7b..dcfe9b6f 100644 --- a/audit-trail-rs/src/core/trail/operations.rs +++ b/audit-trail-rs/src/core/trail/operations.rs @@ -7,9 +7,9 @@ //! and deletion calls. use iota_interaction::OptionalSync; -use iota_interaction::types::base_types::IotaAddress; -use iota_interaction::types::transaction::ProgrammableTransaction; -use iota_sdk_types::ObjectId; + + +use iota_sdk_types::{Address, ObjectId, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; use crate::core::internal::tx; @@ -24,7 +24,7 @@ impl TrailOps { pub(super) async fn migrate( client: &C, trail_id: ObjectId, - owner: IotaAddress, + owner: Address, selected_capability_id: Option, ) -> Result where @@ -49,7 +49,7 @@ impl TrailOps { pub(super) async fn update_metadata( client: &C, trail_id: ObjectId, - owner: IotaAddress, + owner: Address, metadata: Option, selected_capability_id: Option, ) -> Result @@ -76,7 +76,7 @@ impl TrailOps { pub(super) async fn delete_audit_trail( client: &C, trail_id: ObjectId, - owner: IotaAddress, + owner: Address, selected_capability_id: Option, ) -> Result where diff --git a/audit-trail-rs/src/core/trail/transactions.rs b/audit-trail-rs/src/core/trail/transactions.rs index 57f9a077..665631c1 100644 --- a/audit-trail-rs/src/core/trail/transactions.rs +++ b/audit-trail-rs/src/core/trail/transactions.rs @@ -6,9 +6,9 @@ use async_trait::async_trait; use iota_interaction::OptionalSync; use iota_interaction::rpc_types::{IotaTransactionBlockEffects, IotaTransactionBlockEvents}; -use iota_interaction::types::base_types::IotaAddress; -use iota_interaction::types::transaction::ProgrammableTransaction; -use iota_sdk_types::ObjectId; + + +use iota_sdk_types::{Address, ObjectId, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; use product_common::transaction::transaction_builder::Transaction; use tokio::sync::OnceCell; @@ -27,14 +27,14 @@ use crate::error::Error; #[derive(Debug, Clone)] pub struct Migrate { trail_id: ObjectId, - owner: IotaAddress, + owner: Address, selected_capability_id: Option, cached_ptb: OnceCell, } impl Migrate { /// Creates a `Migrate` transaction builder payload. - pub fn new(trail_id: ObjectId, owner: IotaAddress, selected_capability_id: Option) -> Self { + pub fn new(trail_id: ObjectId, owner: Address, selected_capability_id: Option) -> Self { Self { trail_id, owner, @@ -81,7 +81,7 @@ impl Transaction for Migrate { #[derive(Debug, Clone)] pub struct UpdateMetadata { trail_id: ObjectId, - owner: IotaAddress, + owner: Address, metadata: Option, selected_capability_id: Option, cached_ptb: OnceCell, @@ -91,7 +91,7 @@ impl UpdateMetadata { /// Creates an `UpdateMetadata` transaction builder payload. pub fn new( trail_id: ObjectId, - owner: IotaAddress, + owner: Address, metadata: Option, selected_capability_id: Option, ) -> Self { @@ -150,14 +150,14 @@ impl Transaction for UpdateMetadata { #[derive(Debug, Clone)] pub struct DeleteAuditTrail { trail_id: ObjectId, - owner: IotaAddress, + owner: Address, selected_capability_id: Option, cached_ptb: OnceCell, } impl DeleteAuditTrail { /// Creates a `DeleteAuditTrail` transaction builder payload. - pub fn new(trail_id: ObjectId, owner: IotaAddress, selected_capability_id: Option) -> Self { + pub fn new(trail_id: ObjectId, owner: Address, selected_capability_id: Option) -> Self { Self { trail_id, owner, diff --git a/audit-trail-rs/src/core/types/audit_trail.rs b/audit-trail-rs/src/core/types/audit_trail.rs index 58a5ff55..a714bfc7 100644 --- a/audit-trail-rs/src/core/types/audit_trail.rs +++ b/audit-trail-rs/src/core/types/audit_trail.rs @@ -5,11 +5,10 @@ use std::collections::HashMap; use std::str::FromStr; use iota_interaction::ident_str; -use iota_interaction::types::base_types::IotaAddress; use iota_interaction::types::collection_types::LinkedTable; use iota_interaction::types::id::UID; use iota_interaction::types::programmable_transaction_builder::ProgrammableTransactionBuilder as Ptb; -use iota_sdk_types::{Argument, ObjectId, TypeTag}; +use iota_sdk_types::{Address, Argument, ObjectId, TypeTag}; use serde::{Deserialize, Serialize}; use super::locking::LockingConfig; @@ -66,7 +65,7 @@ pub struct OnChainAuditTrail { /// Unique object ID of the trail. pub id: UID, /// Address that created the trail. - pub creator: IotaAddress, + pub creator: Address, /// Millisecond timestamp at which the trail was created. pub created_at: u64, /// Current record sequence number cursor. diff --git a/audit-trail-rs/src/core/types/event.rs b/audit-trail-rs/src/core/types/event.rs index f44fd144..fa8edd22 100644 --- a/audit-trail-rs/src/core/types/event.rs +++ b/audit-trail-rs/src/core/types/event.rs @@ -3,9 +3,9 @@ use std::collections::HashSet; -use iota_interaction::types::base_types::IotaAddress; + use iota_interaction::types::collection_types::VecSet; -use iota_sdk_types::ObjectId; +use iota_sdk_types::{Address, ObjectId}; use serde::{Deserialize, Serialize}; use serde_aux::field_attributes::{deserialize_number_from_string, deserialize_option_number_from_string}; @@ -25,7 +25,7 @@ pub struct AuditTrailCreated { /// Newly created trail object ID. pub trail_id: ObjectId, /// Address that created the trail. - pub creator: IotaAddress, + pub creator: Address, /// Millisecond event timestamp. #[serde(deserialize_with = "deserialize_number_from_string")] pub timestamp: u64, @@ -47,7 +47,7 @@ pub struct AuditTrailMigrated { /// Migrated trail object ID. pub trail_id: ObjectId, /// Address that migrated the trail. - pub migrated_by: IotaAddress, + pub migrated_by: Address, /// Millisecond event timestamp. #[serde(deserialize_with = "deserialize_number_from_string")] pub timestamp: u64, @@ -59,7 +59,7 @@ pub struct MetadataUpdated { /// Trail object ID whose metadata changed. pub trail_id: ObjectId, /// Address that updated the metadata. - pub updated_by: IotaAddress, + pub updated_by: Address, /// Millisecond event timestamp. #[serde(deserialize_with = "deserialize_number_from_string")] pub timestamp: u64, @@ -71,7 +71,7 @@ pub struct LockingConfigUpdated { /// Trail object ID whose locking configuration changed. pub trail_id: ObjectId, /// Address that updated the locking configuration. - pub updated_by: IotaAddress, + pub updated_by: Address, /// Millisecond event timestamp. #[serde(deserialize_with = "deserialize_number_from_string")] pub timestamp: u64, @@ -86,7 +86,7 @@ pub struct RecordAdded { #[serde(deserialize_with = "deserialize_number_from_string")] pub sequence_number: u64, /// Address that added the record. - pub added_by: IotaAddress, + pub added_by: Address, /// Millisecond event timestamp. #[serde(deserialize_with = "deserialize_number_from_string")] pub timestamp: u64, @@ -101,7 +101,7 @@ pub struct RecordDeleted { #[serde(deserialize_with = "deserialize_number_from_string")] pub sequence_number: u64, /// Address that deleted the record. - pub deleted_by: IotaAddress, + pub deleted_by: Address, /// Millisecond event timestamp. #[serde(deserialize_with = "deserialize_number_from_string")] pub timestamp: u64, @@ -113,7 +113,7 @@ pub struct RecordTagAdded { /// Trail object ID whose registry changed. pub trail_id: ObjectId, /// Address that added the tag. - pub added_by: IotaAddress, + pub added_by: Address, /// Millisecond event timestamp. #[serde(deserialize_with = "deserialize_number_from_string")] pub timestamp: u64, @@ -125,7 +125,7 @@ pub struct RecordTagRemoved { /// Trail object ID whose registry changed. pub trail_id: ObjectId, /// Address that removed the tag. - pub removed_by: IotaAddress, + pub removed_by: Address, /// Millisecond event timestamp. #[serde(deserialize_with = "deserialize_number_from_string")] pub timestamp: u64, @@ -141,7 +141,7 @@ pub struct CapabilityIssued { /// Role granted by the capability. pub role: String, /// Address receiving the capability, if one is assigned. - pub issued_to: Option, + pub issued_to: Option
, /// Millisecond timestamp at which the capability becomes valid. #[serde(deserialize_with = "deserialize_option_number_from_string")] pub valid_from: Option, @@ -160,7 +160,7 @@ pub struct CapabilityDestroyed { /// Role granted by the capability. pub role: String, /// Address that held the capability, if any. - pub issued_to: Option, + pub issued_to: Option
, /// Millisecond timestamp at which the capability became valid. #[serde(deserialize_with = "deserialize_option_number_from_string")] pub valid_from: Option, @@ -190,7 +190,7 @@ pub struct RevokedCapabilitiesCleanedUp { #[serde(deserialize_with = "deserialize_number_from_string")] pub cleaned_count: u64, /// Address that triggered the cleanup. - pub cleaned_by: IotaAddress, + pub cleaned_by: Address, /// Millisecond event timestamp. #[serde(deserialize_with = "deserialize_number_from_string")] pub timestamp: u64, @@ -208,7 +208,7 @@ pub struct RoleCreated { /// Optional record-tag restrictions stored as role data. pub data: Option, /// Address that created the role. - pub created_by: IotaAddress, + pub created_by: Address, /// Millisecond event timestamp. pub timestamp: u64, } @@ -225,7 +225,7 @@ pub struct RoleUpdated { /// Updated record-tag restrictions, if any. pub data: Option, /// Address that updated the role. - pub updated_by: IotaAddress, + pub updated_by: Address, /// Millisecond event timestamp. pub timestamp: u64, } @@ -238,7 +238,7 @@ pub struct RoleDeleted { /// Role name. pub role: String, /// Address that deleted the role. - pub deleted_by: IotaAddress, + pub deleted_by: Address, /// Millisecond event timestamp. pub timestamp: u64, } @@ -249,7 +249,7 @@ pub(crate) struct RawRoleCreated { role: String, permissions: VecSet, data: Option, - created_by: IotaAddress, + created_by: Address, timestamp: u64, } @@ -259,7 +259,7 @@ pub(crate) struct RawRoleUpdated { role: String, new_permissions: VecSet, new_data: Option, - updated_by: IotaAddress, + updated_by: Address, timestamp: u64, } @@ -267,7 +267,7 @@ pub(crate) struct RawRoleUpdated { pub(crate) struct RawRoleDeleted { target_key: ObjectId, role: String, - deleted_by: IotaAddress, + deleted_by: Address, timestamp: u64, } @@ -331,14 +331,14 @@ impl From for RoleDeleted { #[cfg(test)] mod tests { - use iota_sdk_types::ObjectId; + use iota_sdk_types::{Address, ObjectId}; use serde_json::json; use super::*; #[test] fn metadata_updated_event_deserializes_string_encoded_timestamp() { let trail_id = ObjectId::random(); - let updated_by = IotaAddress::random(); + let updated_by = Address::random(); let event: Event = serde_json::from_value(json!({ "trail_id": trail_id, @@ -355,7 +355,7 @@ mod tests { #[test] fn locking_config_updated_event_deserializes_string_encoded_timestamp() { let trail_id = ObjectId::random(); - let updated_by = IotaAddress::random(); + let updated_by = Address::random(); let event: Event = serde_json::from_value(json!({ "trail_id": trail_id, @@ -372,7 +372,7 @@ mod tests { #[test] fn record_tag_events_deserialize_string_encoded_timestamps() { let trail_id = ObjectId::random(); - let actor = IotaAddress::random(); + let actor = Address::random(); let added: Event = serde_json::from_value(json!({ "trail_id": trail_id, @@ -398,7 +398,7 @@ mod tests { #[test] fn audit_trail_migrated_event_deserializes_string_encoded_timestamp() { let trail_id = ObjectId::random(); - let migrated_by = IotaAddress::random(); + let migrated_by = Address::random(); let event: Event = serde_json::from_value(json!({ "trail_id": trail_id, diff --git a/audit-trail-rs/src/core/types/record.rs b/audit-trail-rs/src/core/types/record.rs index 7c5362a2..c6fed4eb 100644 --- a/audit-trail-rs/src/core/types/record.rs +++ b/audit-trail-rs/src/core/types/record.rs @@ -5,9 +5,8 @@ use std::collections::{BTreeMap, HashSet}; use std::str::FromStr; use iota_interaction::ident_str; -use iota_interaction::types::base_types::IotaAddress; use iota_interaction::types::programmable_transaction_builder::ProgrammableTransactionBuilder as Ptb; -use iota_sdk_types::{Argument, ObjectId, TypeTag}; +use iota_sdk_types::{Address, Argument, ObjectId, TypeTag}; use serde::{Deserialize, Serialize}; use crate::core::internal::tx; @@ -39,7 +38,7 @@ pub struct Record { /// Monotonic record sequence number inside the trail. pub sequence_number: u64, /// Address that added the record. - pub added_by: IotaAddress, + pub added_by: Address, /// Millisecond timestamp at which the record was added. pub added_at: u64, /// Correction relationships for this record. diff --git a/audit-trail-rs/src/core/types/role_map.rs b/audit-trail-rs/src/core/types/role_map.rs index 5f04f060..3092cbbe 100644 --- a/audit-trail-rs/src/core/types/role_map.rs +++ b/audit-trail-rs/src/core/types/role_map.rs @@ -4,12 +4,11 @@ use std::collections::{HashMap, HashSet}; use std::str::FromStr; -use iota_interaction::types::base_types::IotaAddress; use iota_interaction::types::collection_types::LinkedTable; use iota_interaction::types::id::UID; use iota_interaction::types::programmable_transaction_builder::ProgrammableTransactionBuilder as Ptb; use iota_interaction::{MoveType, ident_str}; -use iota_sdk_types::{Argument, ObjectId, TypeTag}; +use iota_sdk_types::{Address, Argument, ObjectId, TypeTag}; use serde::{Deserialize, Serialize}; use serde_aux::field_attributes::deserialize_option_number_from_string; @@ -80,7 +79,7 @@ pub struct CapabilityAdminPermissions { #[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)] pub struct CapabilityIssueOptions { /// Address that should own the capability, if any. - pub issued_to: Option, + pub issued_to: Option
, /// Millisecond timestamp at which the capability becomes valid. pub valid_from_ms: Option, /// Millisecond timestamp at which the capability expires. @@ -154,7 +153,7 @@ pub struct Capability { pub role: String, /// Address bound to the capability. When `None`, any holder may present the capability for /// authorization. - pub issued_to: Option, + pub issued_to: Option
, /// Earliest millisecond timestamp (since the Unix epoch, inclusive) at which the capability is /// valid. When `None`, the capability is valid from its creation time. #[serde(deserialize_with = "deserialize_option_number_from_string")] @@ -183,15 +182,16 @@ impl MoveType for Capability { #[cfg(test)] mod tests { - use iota_interaction::types::base_types::{IotaAddress, dbg_object_id}; + use iota_interaction::types::base_types::dbg_object_id; use iota_interaction::types::id::UID; + use iota_sdk_types::Address; use serde_json::json; use super::Capability; #[test] fn capability_deserializes_string_encoded_time_constraints() { - let issued_to = IotaAddress::random(); + let issued_to = Address::random(); let capability = Capability { id: UID::new(dbg_object_id(1)), target_key: dbg_object_id(2), diff --git a/audit-trail-rs/tests/e2e/access.rs b/audit-trail-rs/tests/e2e/access.rs index 00713565..7515bffd 100644 --- a/audit-trail-rs/tests/e2e/access.rs +++ b/audit-trail-rs/tests/e2e/access.rs @@ -4,7 +4,7 @@ use std::collections::HashSet; use audit_trails::core::types::{CapabilityIssueOptions, Data, Permission, PermissionSet, RoleTags}; -use iota_interaction::types::base_types::IotaAddress; +use iota_sdk_types::Address; use product_common::core_client::CoreClient; use crate::client::get_funded_test_client; @@ -370,7 +370,7 @@ async fn issue_capability_with_constraints() -> anyhow::Result<()> { .create_role(trail_id, role_name, vec![Permission::AddRecord], None) .await?; - let issued_to = IotaAddress::random(); + let issued_to = Address::random(); let constrained = CapabilityIssueOptions { issued_to: Some(issued_to), valid_from_ms: Some(1_700_000_000_000), diff --git a/audit-trail-rs/tests/e2e/client.rs b/audit-trail-rs/tests/e2e/client.rs index 393fda35..65cf658e 100644 --- a/audit-trail-rs/tests/e2e/client.rs +++ b/audit-trail-rs/tests/e2e/client.rs @@ -12,11 +12,11 @@ use audit_trails::core::types::{ RoleTags, }; use audit_trails::{AuditTrailClient, PackageOverrides}; -use iota_interaction::types::base_types::{IotaAddress, ObjectRef}; +use iota_interaction::types::base_types::ObjectRef; use iota_interaction::types::crypto::PublicKey; use iota_interaction::{IOTA_LOCAL_NETWORK_URL, IotaClient, IotaClientBuilder}; use iota_interaction_rust::IotaClientAdapter; -use iota_sdk_types::ObjectId; +use iota_sdk_types::{Address, ObjectId}; use product_common::core_client::{CoreClient, CoreClientReadOnly}; use product_common::network_name::NetworkName; use product_common::test_utils::{InMemSigner, request_funds}; @@ -185,7 +185,7 @@ impl TestClient { }) } - pub(crate) async fn get_cap(&self, owner: IotaAddress, trail_id: ObjectId) -> anyhow::Result { + pub(crate) async fn get_cap(&self, owner: Address, trail_id: ObjectId) -> anyhow::Result { let cap: Capability = self .client .find_object_for_address(owner, |cap: &Capability| cap.target_key == trail_id) @@ -293,7 +293,7 @@ impl CoreClient for TestClient { self.client.signer() } - fn sender_address(&self) -> IotaAddress { + fn sender_address(&self) -> Address { self.client.sender_address() } diff --git a/audit-trail-rs/tests/e2e/trail.rs b/audit-trail-rs/tests/e2e/trail.rs index fe7f635e..9c2e05d8 100644 --- a/audit-trail-rs/tests/e2e/trail.rs +++ b/audit-trail-rs/tests/e2e/trail.rs @@ -5,7 +5,7 @@ use audit_trails::core::types::{ CapabilityIssueOptions, Data, ImmutableMetadata, InitialRecord, LockingConfig, LockingWindow, Permission, RoleTags, TimeLock, }; -use iota_interaction::types::base_types::IotaAddress; +use iota_sdk_types::Address; use product_common::core_client::CoreClient; use crate::client::get_funded_test_client; @@ -127,7 +127,7 @@ async fn create_trail_with_bytes_and_count_lock() -> anyhow::Result<()> { #[tokio::test] async fn create_trail_with_custom_admin_address() -> anyhow::Result<()> { let client = get_funded_test_client().await?; - let custom_admin = IotaAddress::random(); + let custom_admin = Address::random(); let created = client .create_trail() diff --git a/bindings/wasm/audit_trail_wasm/Cargo.toml b/bindings/wasm/audit_trail_wasm/Cargo.toml index d570b453..94fa2012 100644 --- a/bindings/wasm/audit_trail_wasm/Cargo.toml +++ b/bindings/wasm/audit_trail_wasm/Cargo.toml @@ -21,10 +21,10 @@ audit_trails = { path = "../../../audit-trail-rs", default-features = false, fea bcs = "0.1.6" console_error_panic_hook = { version = "0.1" } iota-sdk-types = { git = "https://github.com/iotaledger/iota-rust-sdk.git", rev = "35a27488b887e28e844a1e46d7edb78605871155", default-features = false } -iota_interaction = { git = "https://github.com/iotaledger/product-core.git", tag = "v0.8.21", default-features = false } -iota_interaction_ts = { git = "https://github.com/iotaledger/product-core.git", tag = "v0.8.21" } +iota_interaction = { git = "https://github.com/iotaledger/product-core.git", branch = "feat/iota-v1.26.1-upstream-merge", default-features = false } +iota_interaction_ts = { git = "https://github.com/iotaledger/product-core.git", branch = "feat/iota-v1.26.1-upstream-merge" } js-sys = { version = "0.3.61" } -product_common = { git = "https://github.com/iotaledger/product-core.git", tag = "v0.8.21", features = ["core-client", "transaction", "bindings", "binding-utils", "gas-station", "default-http-client"] } +product_common = { git = "https://github.com/iotaledger/product-core.git", branch = "feat/iota-v1.26.1-upstream-merge", features = ["core-client", "transaction", "bindings", "binding-utils", "gas-station", "default-http-client"] } serde = { version = "1.0", features = ["derive"] } serde-wasm-bindgen = "0.6.5" tokio = { version = "1.49.0", default-features = false, features = ["sync"] } diff --git a/bindings/wasm/notarization_wasm/Cargo.toml b/bindings/wasm/notarization_wasm/Cargo.toml index d6983719..29a74621 100644 --- a/bindings/wasm/notarization_wasm/Cargo.toml +++ b/bindings/wasm/notarization_wasm/Cargo.toml @@ -22,8 +22,8 @@ bcs = "0.1.6" console_error_panic_hook = { version = "0.1" } fastcrypto = { git = "https://github.com/MystenLabs/fastcrypto", rev = "69d496c71fb37e3d22fe85e5bbfd4256d61422b9", package = "fastcrypto" } iota-sdk-types = { git = "https://github.com/iotaledger/iota-rust-sdk.git", rev = "35a27488b887e28e844a1e46d7edb78605871155", default-features = false } -iota_interaction = { git = "https://github.com/iotaledger/product-core.git", tag = "v0.8.21", default-features = false } -iota_interaction_ts = { git = "https://github.com/iotaledger/product-core.git", tag = "v0.8.21" } +iota_interaction = { git = "https://github.com/iotaledger/product-core.git", branch = "feat/iota-v1.26.1-upstream-merge", default-features = false } +iota_interaction_ts = { git = "https://github.com/iotaledger/product-core.git", branch = "feat/iota-v1.26.1-upstream-merge" } js-sys = { version = "=0.3.85" } prefix-hex = { version = "0.7", default-features = false } serde = { version = "1.0", features = ["derive"] } @@ -38,7 +38,7 @@ wasm-bindgen-futures = { version = "0.4", default-features = false } [dependencies.product_common] git = "https://github.com/iotaledger/product-core.git" -tag = "v0.8.21" +branch = "feat/iota-v1.26.1-upstream-merge" features = [ "core-client", "transaction", diff --git a/examples/07_transfer_dynamic_notarization.rs b/examples/07_transfer_dynamic_notarization.rs index 7c7ed2cb..92dba9d1 100644 --- a/examples/07_transfer_dynamic_notarization.rs +++ b/examples/07_transfer_dynamic_notarization.rs @@ -5,7 +5,7 @@ use std::time::{SystemTime, UNIX_EPOCH}; use anyhow::Result; use examples::get_funded_notarization_client; -use iota_sdk::types::base_types::IotaAddress; +use iota_sdk::types::base_types::Address; use notarization::core::types::{State, TimeLock}; #[tokio::main] @@ -15,8 +15,8 @@ async fn main() -> Result<()> { let notarization_client = get_funded_notarization_client().await?; // Generate random addresses for transfer recipients - let alice = IotaAddress::random(); - let bob = IotaAddress::random(); + let alice = Address::random(); + let bob = Address::random(); println!("Transfer recipients:"); println!("Alice: {alice}"); diff --git a/examples/audit-trail/real-world/03_digital_product_passport.rs b/examples/audit-trail/real-world/03_digital_product_passport.rs index 5366fa45..9864f4d3 100644 --- a/examples/audit-trail/real-world/03_digital_product_passport.rs +++ b/examples/audit-trail/real-world/03_digital_product_passport.rs @@ -42,7 +42,7 @@ use audit_trails::core::types::{ CapabilityIssueOptions, Data, ImmutableMetadata, InitialRecord, PermissionSet, RoleTags, }; use examples::{get_funded_audit_trail_client, issue_tagged_record_role}; -use iota_sdk::types::base_types::IotaAddress; +use iota_sdk::types::base_types::Address; use iota_sdk_types::ObjectId; use product_common::core_client::CoreClient; use product_common::test_utils::InMemSigner; @@ -432,7 +432,7 @@ async fn issue_metadata_role( admin_client: &AuditTrailClient, trail_id: ObjectId, role_name: &str, - issued_to: IotaAddress, + issued_to: Address, ) -> Result<()> { admin_client .trail(trail_id) diff --git a/examples/utils/utils.rs b/examples/utils/utils.rs index b312e77f..2adc49ea 100644 --- a/examples/utils/utils.rs +++ b/examples/utils/utils.rs @@ -4,7 +4,7 @@ use anyhow::Context; use audit_trails::core::types::{CapabilityIssueOptions, PermissionSet, RoleTags}; use audit_trails::{AuditTrailClient, PackageOverrides}; -use iota_sdk::types::base_types::IotaAddress; +use iota_sdk::types::base_types::Address; use iota_sdk::{IOTA_LOCAL_NETWORK_URL, IotaClientBuilder}; use iota_sdk_types::ObjectId; use notarization::client::{NotarizationClient, NotarizationClientReadOnly}; @@ -82,7 +82,7 @@ pub async fn issue_tagged_record_role( trail_id: ObjectId, role_name: &str, tag: &str, - issued_to: IotaAddress, + issued_to: Address, ) -> Result<(), anyhow::Error> { client .trail(trail_id) diff --git a/notarization-rs/src/client/full_client.rs b/notarization-rs/src/client/full_client.rs index b28165b3..eeb05da2 100644 --- a/notarization-rs/src/client/full_client.rs +++ b/notarization-rs/src/client/full_client.rs @@ -79,10 +79,9 @@ use std::ops::Deref; -use iota_interaction::types::base_types::IotaAddress; use iota_interaction::types::crypto::PublicKey; use iota_interaction::{IotaKeySignature, OptionalSync}; -use iota_sdk_types::ObjectId; +use iota_sdk_types::{Address, ObjectId}; use product_common::core_client::{CoreClient, CoreClientReadOnly}; use product_common::network_name::NetworkName; use product_common::transaction::transaction_builder::TransactionBuilder; @@ -372,9 +371,9 @@ where /// /// ```rust,ignore /// # use notarization::client::full_client::NotarizationClient; - /// # use iota_interaction::types::base_types::IotaAddress; + /// # /// # use iota_sdk_types::ObjectId; - /// # async fn example(client: &NotarizationClient>, notarization_id: ObjectId, recipient: IotaAddress) -> Result<(), Box> { + /// # async fn example(client: &NotarizationClient>, notarization_id: ObjectId, recipient: Address) -> Result<(), Box> { /// client /// .transfer_notarization(notarization_id, recipient) /// .build_and_execute(&client) @@ -387,7 +386,7 @@ where pub fn transfer_notarization( &self, notarization_id: ObjectId, - recipient: IotaAddress, + recipient: Address, ) -> TransactionBuilder { TransactionBuilder::new(TransferNotarization::new(recipient, notarization_id)) } @@ -414,8 +413,8 @@ impl CoreClient for NotarizationClient where S: Signer + OptionalSync, { - fn sender_address(&self) -> IotaAddress { - IotaAddress::from(&self.public_key) + fn sender_address(&self) -> Address { + Address::from(&self.public_key) } fn signer(&self) -> &S { diff --git a/notarization-rs/src/client/read_only.rs b/notarization-rs/src/client/read_only.rs index 8fbeef25..ea6e6d2f 100644 --- a/notarization-rs/src/client/read_only.rs +++ b/notarization-rs/src/client/read_only.rs @@ -11,11 +11,9 @@ use std::ops::Deref; #[cfg(not(target_arch = "wasm32"))] use iota_interaction::IotaClient; use iota_interaction::IotaClientTrait; -use iota_interaction::types::base_types::IotaAddress; -use iota_interaction::types::transaction::{ProgrammableTransaction, TransactionKind}; #[cfg(target_arch = "wasm32")] use iota_interaction_ts::bindings::WasmIotaClient; -use iota_sdk_types::ObjectId; +use iota_sdk_types::{Address, ObjectId, ProgrammableTransaction, TransactionKind}; use product_common::core_client::CoreClientReadOnly; use product_common::network_name::NetworkName; use product_common::package_registry::Env; @@ -436,7 +434,7 @@ impl NotarizationClientReadOnly { let inspection_result = self .iota_client .read_api() - .dev_inspect_transaction_block(IotaAddress::ZERO, TransactionKind::Programmable(tx), None, None, None) + .dev_inspect_transaction_block(Address::ZERO, TransactionKind::Programmable(tx), None, None, None) .await .map_err(|err| Error::UnexpectedApiResponse(format!("Failed to inspect transaction block: {err}")))?; diff --git a/notarization-rs/src/core/operations.rs b/notarization-rs/src/core/operations.rs index 08a9253f..bdd30894 100644 --- a/notarization-rs/src/core/operations.rs +++ b/notarization-rs/src/core/operations.rs @@ -12,11 +12,10 @@ use std::str::FromStr; use async_trait::async_trait; -use iota_interaction::types::base_types::IotaAddress; use iota_interaction::types::programmable_transaction_builder::ProgrammableTransactionBuilder; -use iota_interaction::types::transaction::{CallArg, ProgrammableTransaction}; +use iota_interaction::types::transaction::CallArg; use iota_interaction::{OptionalSync, ident_str}; -use iota_sdk_types::{Argument, Identifier, ObjectId}; +use iota_sdk_types::{Argument, Identifier, ObjectId, Address, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; use super::move_utils; @@ -306,7 +305,7 @@ pub(crate) trait NotarizationOperations { async fn transfer_notarization( object_id: ObjectId, - recipient: IotaAddress, + recipient: Address, client: &C, ) -> Result where diff --git a/notarization-rs/src/core/transactions/create.rs b/notarization-rs/src/core/transactions/create.rs index 183d55c7..042e92e3 100644 --- a/notarization-rs/src/core/transactions/create.rs +++ b/notarization-rs/src/core/transactions/create.rs @@ -23,10 +23,8 @@ use async_trait::async_trait; use iota_interaction::rpc_types::{ IotaData as _, IotaObjectDataOptions, IotaTransactionBlockEffects, IotaTransactionBlockEvents, }; -use iota_interaction::types::base_types::IotaAddress; -use iota_interaction::types::transaction::ProgrammableTransaction; use iota_interaction::{IotaClientTrait, OptionalSend, OptionalSync}; -use iota_sdk_types::{ObjectId, Owner}; +use iota_sdk_types::{ObjectId, Owner, Address, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; use product_common::transaction::transaction_builder::Transaction; use tokio::sync::OnceCell; @@ -235,7 +233,7 @@ impl Transaction for CreateNotarization< pub(crate) async fn get_notarization_with_owner( client: &impl CoreClientReadOnly, object_id: &ObjectId, -) -> Result<(OnChainNotarization, IotaAddress), Error> { +) -> Result<(OnChainNotarization, Address), Error> { let data = client .client_adapter() .read_api() diff --git a/notarization-rs/src/core/transactions/destroy.rs b/notarization-rs/src/core/transactions/destroy.rs index 9a30d220..c957ed70 100644 --- a/notarization-rs/src/core/transactions/destroy.rs +++ b/notarization-rs/src/core/transactions/destroy.rs @@ -16,8 +16,7 @@ use async_trait::async_trait; use iota_interaction::OptionalSync; use iota_interaction::rpc_types::IotaTransactionBlockEffects; -use iota_interaction::types::transaction::ProgrammableTransaction; -use iota_sdk_types::ObjectId; +use iota_sdk_types::{ProgrammableTransaction, ObjectId}; use product_common::core_client::CoreClientReadOnly; use product_common::transaction::transaction_builder::Transaction; use tokio::sync::OnceCell; diff --git a/notarization-rs/src/core/transactions/transfer.rs b/notarization-rs/src/core/transactions/transfer.rs index 744b7344..cc595be9 100644 --- a/notarization-rs/src/core/transactions/transfer.rs +++ b/notarization-rs/src/core/transactions/transfer.rs @@ -20,9 +20,7 @@ use async_trait::async_trait; use iota_interaction::OptionalSync; use iota_interaction::rpc_types::IotaTransactionBlockEffects; -use iota_interaction::types::base_types::IotaAddress; -use iota_interaction::types::transaction::ProgrammableTransaction; -use iota_sdk_types::ObjectId; +use iota_sdk_types::{ObjectId, ProgrammableTransaction, Address}; use product_common::core_client::CoreClientReadOnly; use product_common::transaction::transaction_builder::Transaction; use tokio::sync::OnceCell; @@ -45,14 +43,14 @@ use crate::error::Error; /// /// Emits a `DynamicNotarizationTransferred` event on success. pub struct TransferNotarization { - recipient: IotaAddress, + recipient: Address, notarization_id: ObjectId, cached_ptb: OnceCell, } impl TransferNotarization { /// Creates a new transfer transaction. - pub fn new(recipient: IotaAddress, notarization_id: ObjectId) -> Self { + pub fn new(recipient: Address, notarization_id: ObjectId) -> Self { Self { recipient, notarization_id, diff --git a/notarization-rs/src/core/transactions/update_metadata.rs b/notarization-rs/src/core/transactions/update_metadata.rs index 9fc18c57..ab28150d 100644 --- a/notarization-rs/src/core/transactions/update_metadata.rs +++ b/notarization-rs/src/core/transactions/update_metadata.rs @@ -17,8 +17,7 @@ use async_trait::async_trait; use iota_interaction::OptionalSync; use iota_interaction::rpc_types::IotaTransactionBlockEffects; -use iota_interaction::types::transaction::ProgrammableTransaction; -use iota_sdk_types::ObjectId; +use iota_sdk_types::{ObjectId, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; use product_common::transaction::transaction_builder::Transaction; use tokio::sync::OnceCell; diff --git a/notarization-rs/src/core/transactions/update_state.rs b/notarization-rs/src/core/transactions/update_state.rs index bc0cbe5a..d0a82b9f 100644 --- a/notarization-rs/src/core/transactions/update_state.rs +++ b/notarization-rs/src/core/transactions/update_state.rs @@ -15,8 +15,7 @@ use async_trait::async_trait; use iota_interaction::OptionalSync; use iota_interaction::rpc_types::IotaTransactionBlockEffects; -use iota_interaction::types::transaction::ProgrammableTransaction; -use iota_sdk_types::ObjectId; +use iota_sdk_types::{ObjectId, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; use product_common::transaction::transaction_builder::Transaction; use tokio::sync::OnceCell; diff --git a/notarization-rs/src/core/types/notarization.rs b/notarization-rs/src/core/types/notarization.rs index 8c4d43d7..2e3df77e 100644 --- a/notarization-rs/src/core/types/notarization.rs +++ b/notarization-rs/src/core/types/notarization.rs @@ -1,7 +1,7 @@ // Copyright 2020-2025 IOTA Stiftung // SPDX-License-Identifier: Apache-2.0 -use iota_interaction::types::base_types::IotaAddress; +use iota_sdk_types::Address; use iota_interaction::types::id::UID; use serde::{Deserialize, Serialize}; @@ -59,16 +59,16 @@ pub struct OnChainNotarization { pub method: NotarizationMethod, /// The owner of the notarization. #[serde(skip, default = "iota_address_zero")] - pub owner: IotaAddress, + pub owner: Address, } -fn iota_address_zero() -> IotaAddress { - IotaAddress::ZERO +fn iota_address_zero() -> Address { + Address::ZERO } #[cfg(feature = "irl")] pub mod irl_integration { - use iota_caip::iota::{IotaAddress, IotaNetwork, IotaResourceLocator}; + use iota_caip::iota::{Address, IotaNetwork, IotaResourceLocator}; use iota_caip::resource::RelativeUrl; use product_common::network_name::NetworkName; @@ -88,7 +88,7 @@ pub mod irl_integration { pub fn iota_resource_locator_builder(&self, network: &NetworkName) -> NotarizationResourceBuilder { NotarizationResourceBuilder { network: IotaNetwork::custom(network.as_ref()).expect("valid network"), - notarization_id: IotaAddress::new(self.id.id.bytes.into_bytes()), + notarization_id: Address::new(self.id.id.bytes.into_bytes()), } } } @@ -97,7 +97,7 @@ pub mod irl_integration { #[derive(Debug, Clone, PartialEq, Eq)] pub struct NotarizationResourceBuilder { network: IotaNetwork, - notarization_id: IotaAddress, + notarization_id: Address, } impl NotarizationResourceBuilder { diff --git a/notarization-rs/tests/e2e/client.rs b/notarization-rs/tests/e2e/client.rs index 22e825a1..5b058a26 100644 --- a/notarization-rs/tests/e2e/client.rs +++ b/notarization-rs/tests/e2e/client.rs @@ -4,11 +4,10 @@ use std::ops::Deref; use std::sync::Arc; -use iota_interaction::types::base_types::IotaAddress; use iota_interaction::types::crypto::PublicKey; use iota_interaction::{IOTA_LOCAL_NETWORK_URL, IotaClientBuilder, KeytoolSigner}; use iota_interaction_rust::IotaClientAdapter; -use iota_sdk_types::ObjectId; +use iota_sdk_types::{Address, ObjectId}; use notarization::client::{NotarizationClient, NotarizationClientReadOnly}; use product_common::core_client::{CoreClient, CoreClientReadOnly}; use product_common::network_name::NetworkName; @@ -47,7 +46,7 @@ impl TestClient { Self::new_from_address(active_address).await } - pub async fn new_from_address(address: IotaAddress) -> anyhow::Result { + pub async fn new_from_address(address: Address) -> anyhow::Result { let api_endpoint = std::env::var("API_ENDPOINT").unwrap_or_else(|_| IOTA_LOCAL_NETWORK_URL.to_string()); let client = IotaClientBuilder::default().build(&api_endpoint).await?; let package_id = PACKAGE_ID @@ -88,7 +87,7 @@ impl CoreClient for TestClient { self.client.signer() } - fn sender_address(&self) -> IotaAddress { + fn sender_address(&self) -> Address { self.client.sender_address() } diff --git a/notarization-rs/tests/e2e/dynamic_notarization.rs b/notarization-rs/tests/e2e/dynamic_notarization.rs index f0882233..18d81a2d 100644 --- a/notarization-rs/tests/e2e/dynamic_notarization.rs +++ b/notarization-rs/tests/e2e/dynamic_notarization.rs @@ -3,9 +3,9 @@ use std::time::{SystemTime, UNIX_EPOCH}; -use iota_sdk::types::base_types::IotaAddress; use notarization::core::types::{NotarizationMethod, State, TimeLock}; use product_common::core_client::{CoreClient, CoreClientReadOnly}; +use iota_sdk_types::Address; use crate::client::get_funded_test_client; @@ -82,7 +82,7 @@ async fn test_transfer_dynamic_notarization_client_with_transfer_lock_fails() -> let is_transfer_locked = test_client.is_transfer_locked(*notarization_id.object_id()).await?; assert!(is_transfer_locked); - let alice = IotaAddress::random(); + let alice = Address::random(); let transfer_notarization = test_client .transfer_notarization(*notarization_id.object_id(), alice) @@ -111,7 +111,7 @@ async fn test_transfer_dynamic_notarization_client_with_no_transfer_lock_works() let is_transfer_locked = test_client.is_transfer_locked(*notarization_id.object_id()).await?; assert!(!is_transfer_locked); - let alice = IotaAddress::random(); + let alice = Address::random(); let transfer_notarization = test_client .transfer_notarization(*notarization_id.object_id(), alice) diff --git a/notarization-rs/tests/e2e/locked_notarization.rs b/notarization-rs/tests/e2e/locked_notarization.rs index 95397140..d27ac817 100644 --- a/notarization-rs/tests/e2e/locked_notarization.rs +++ b/notarization-rs/tests/e2e/locked_notarization.rs @@ -3,7 +3,7 @@ use std::time::{SystemTime, UNIX_EPOCH}; -use iota_sdk::types::base_types::IotaAddress; +use iota_sdk_types::Address; use notarization::core::types::{NotarizationMethod, State, TimeLock}; use product_common::core_client::{CoreClient, CoreClientReadOnly}; @@ -392,7 +392,7 @@ async fn test_locked_notarization_transfer_fails() -> anyhow::Result<()> { .output .id; - let alice = IotaAddress::random(); + let alice = Address::random(); // Transfer should fail because locked notarizations have transfer_lock = UntilDestroyed let transfer_result = test_client From 8d5610b757ba98457d8be0cae2537b60c136c55d Mon Sep 17 00:00:00 2001 From: Enrico Marconi Date: Thu, 2 Jul 2026 15:36:36 +0200 Subject: [PATCH 02/10] fmt --- audit-trail-rs/src/core/builder.rs | 2 +- audit-trail-rs/src/core/locking/transactions.rs | 14 ++------------ audit-trail-rs/src/core/records/transactions.rs | 2 -- audit-trail-rs/src/core/tags/operations.rs | 2 -- audit-trail-rs/src/core/tags/transactions.rs | 2 -- audit-trail-rs/src/core/trail.rs | 1 - audit-trail-rs/src/core/trail/operations.rs | 2 -- audit-trail-rs/src/core/trail/transactions.rs | 2 -- audit-trail-rs/src/core/types/event.rs | 1 - notarization-rs/src/client/full_client.rs | 2 +- notarization-rs/src/core/operations.rs | 2 +- notarization-rs/src/core/transactions/create.rs | 2 +- notarization-rs/src/core/transactions/destroy.rs | 2 +- notarization-rs/src/core/transactions/transfer.rs | 2 +- notarization-rs/src/core/types/notarization.rs | 2 +- notarization-rs/tests/e2e/dynamic_notarization.rs | 2 +- 16 files changed, 10 insertions(+), 32 deletions(-) diff --git a/audit-trail-rs/src/core/builder.rs b/audit-trail-rs/src/core/builder.rs index 9e127bfd..9178263f 100644 --- a/audit-trail-rs/src/core/builder.rs +++ b/audit-trail-rs/src/core/builder.rs @@ -5,8 +5,8 @@ use std::collections::HashSet; -use product_common::transaction::transaction_builder::TransactionBuilder; use iota_sdk_types::Address; +use product_common::transaction::transaction_builder::TransactionBuilder; use super::types::{Data, ImmutableMetadata, InitialRecord, LockingConfig}; use crate::core::create::CreateTrail; diff --git a/audit-trail-rs/src/core/locking/transactions.rs b/audit-trail-rs/src/core/locking/transactions.rs index e1d6e4ee..02578a24 100644 --- a/audit-trail-rs/src/core/locking/transactions.rs +++ b/audit-trail-rs/src/core/locking/transactions.rs @@ -171,12 +171,7 @@ pub struct UpdateDeleteTrailLock { impl UpdateDeleteTrailLock { /// Creates an `UpdateDeleteTrailLock` transaction builder payload. - pub fn new( - trail_id: ObjectId, - owner: Address, - lock: TimeLock, - selected_capability_id: Option, - ) -> Self { + pub fn new(trail_id: ObjectId, owner: Address, lock: TimeLock, selected_capability_id: Option) -> Self { Self { trail_id, owner, @@ -239,12 +234,7 @@ pub struct UpdateWriteLock { impl UpdateWriteLock { /// Creates an `UpdateWriteLock` transaction builder payload. - pub fn new( - trail_id: ObjectId, - owner: Address, - lock: TimeLock, - selected_capability_id: Option, - ) -> Self { + pub fn new(trail_id: ObjectId, owner: Address, lock: TimeLock, selected_capability_id: Option) -> Self { Self { trail_id, owner, diff --git a/audit-trail-rs/src/core/records/transactions.rs b/audit-trail-rs/src/core/records/transactions.rs index d37e1f69..2e84b248 100644 --- a/audit-trail-rs/src/core/records/transactions.rs +++ b/audit-trail-rs/src/core/records/transactions.rs @@ -9,8 +9,6 @@ use async_trait::async_trait; use iota_interaction::OptionalSync; use iota_interaction::rpc_types::{IotaTransactionBlockEffects, IotaTransactionBlockEvents}; - - use iota_sdk_types::{Address, ObjectId, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; use product_common::transaction::transaction_builder::Transaction; diff --git a/audit-trail-rs/src/core/tags/operations.rs b/audit-trail-rs/src/core/tags/operations.rs index c9a2797b..1d457a6a 100644 --- a/audit-trail-rs/src/core/tags/operations.rs +++ b/audit-trail-rs/src/core/tags/operations.rs @@ -7,8 +7,6 @@ //! permissions. use iota_interaction::OptionalSync; - - use iota_sdk_types::{Address, ObjectId, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; diff --git a/audit-trail-rs/src/core/tags/transactions.rs b/audit-trail-rs/src/core/tags/transactions.rs index 66e4f520..2011eea0 100644 --- a/audit-trail-rs/src/core/tags/transactions.rs +++ b/audit-trail-rs/src/core/tags/transactions.rs @@ -6,8 +6,6 @@ use async_trait::async_trait; use iota_interaction::OptionalSync; use iota_interaction::rpc_types::IotaTransactionBlockEffects; - - use iota_sdk_types::{Address, ObjectId, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; use product_common::transaction::transaction_builder::Transaction; diff --git a/audit-trail-rs/src/core/trail.rs b/audit-trail-rs/src/core/trail.rs index 11ec8637..ed63b47e 100644 --- a/audit-trail-rs/src/core/trail.rs +++ b/audit-trail-rs/src/core/trail.rs @@ -3,7 +3,6 @@ //! High-level trail handles and trail-scoped transactions. - use iota_interaction::{IotaKeySignature, OptionalSync}; use iota_sdk_types::{ObjectId, ProgrammableTransaction}; use product_common::core_client::{CoreClient, CoreClientReadOnly}; diff --git a/audit-trail-rs/src/core/trail/operations.rs b/audit-trail-rs/src/core/trail/operations.rs index dcfe9b6f..08a145c4 100644 --- a/audit-trail-rs/src/core/trail/operations.rs +++ b/audit-trail-rs/src/core/trail/operations.rs @@ -7,8 +7,6 @@ //! and deletion calls. use iota_interaction::OptionalSync; - - use iota_sdk_types::{Address, ObjectId, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; diff --git a/audit-trail-rs/src/core/trail/transactions.rs b/audit-trail-rs/src/core/trail/transactions.rs index 665631c1..7c0cf9a0 100644 --- a/audit-trail-rs/src/core/trail/transactions.rs +++ b/audit-trail-rs/src/core/trail/transactions.rs @@ -6,8 +6,6 @@ use async_trait::async_trait; use iota_interaction::OptionalSync; use iota_interaction::rpc_types::{IotaTransactionBlockEffects, IotaTransactionBlockEvents}; - - use iota_sdk_types::{Address, ObjectId, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; use product_common::transaction::transaction_builder::Transaction; diff --git a/audit-trail-rs/src/core/types/event.rs b/audit-trail-rs/src/core/types/event.rs index fa8edd22..566d990c 100644 --- a/audit-trail-rs/src/core/types/event.rs +++ b/audit-trail-rs/src/core/types/event.rs @@ -3,7 +3,6 @@ use std::collections::HashSet; - use iota_interaction::types::collection_types::VecSet; use iota_sdk_types::{Address, ObjectId}; use serde::{Deserialize, Serialize}; diff --git a/notarization-rs/src/client/full_client.rs b/notarization-rs/src/client/full_client.rs index eeb05da2..7e0e6a91 100644 --- a/notarization-rs/src/client/full_client.rs +++ b/notarization-rs/src/client/full_client.rs @@ -371,7 +371,7 @@ where /// /// ```rust,ignore /// # use notarization::client::full_client::NotarizationClient; - /// # + /// # /// # use iota_sdk_types::ObjectId; /// # async fn example(client: &NotarizationClient>, notarization_id: ObjectId, recipient: Address) -> Result<(), Box> { /// client diff --git a/notarization-rs/src/core/operations.rs b/notarization-rs/src/core/operations.rs index bdd30894..a95a1bcf 100644 --- a/notarization-rs/src/core/operations.rs +++ b/notarization-rs/src/core/operations.rs @@ -15,7 +15,7 @@ use async_trait::async_trait; use iota_interaction::types::programmable_transaction_builder::ProgrammableTransactionBuilder; use iota_interaction::types::transaction::CallArg; use iota_interaction::{OptionalSync, ident_str}; -use iota_sdk_types::{Argument, Identifier, ObjectId, Address, ProgrammableTransaction}; +use iota_sdk_types::{Address, Argument, Identifier, ObjectId, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; use super::move_utils; diff --git a/notarization-rs/src/core/transactions/create.rs b/notarization-rs/src/core/transactions/create.rs index 042e92e3..a3585777 100644 --- a/notarization-rs/src/core/transactions/create.rs +++ b/notarization-rs/src/core/transactions/create.rs @@ -24,7 +24,7 @@ use iota_interaction::rpc_types::{ IotaData as _, IotaObjectDataOptions, IotaTransactionBlockEffects, IotaTransactionBlockEvents, }; use iota_interaction::{IotaClientTrait, OptionalSend, OptionalSync}; -use iota_sdk_types::{ObjectId, Owner, Address, ProgrammableTransaction}; +use iota_sdk_types::{Address, ObjectId, Owner, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; use product_common::transaction::transaction_builder::Transaction; use tokio::sync::OnceCell; diff --git a/notarization-rs/src/core/transactions/destroy.rs b/notarization-rs/src/core/transactions/destroy.rs index c957ed70..06e99c3f 100644 --- a/notarization-rs/src/core/transactions/destroy.rs +++ b/notarization-rs/src/core/transactions/destroy.rs @@ -16,7 +16,7 @@ use async_trait::async_trait; use iota_interaction::OptionalSync; use iota_interaction::rpc_types::IotaTransactionBlockEffects; -use iota_sdk_types::{ProgrammableTransaction, ObjectId}; +use iota_sdk_types::{ObjectId, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; use product_common::transaction::transaction_builder::Transaction; use tokio::sync::OnceCell; diff --git a/notarization-rs/src/core/transactions/transfer.rs b/notarization-rs/src/core/transactions/transfer.rs index cc595be9..eb0c873b 100644 --- a/notarization-rs/src/core/transactions/transfer.rs +++ b/notarization-rs/src/core/transactions/transfer.rs @@ -20,7 +20,7 @@ use async_trait::async_trait; use iota_interaction::OptionalSync; use iota_interaction::rpc_types::IotaTransactionBlockEffects; -use iota_sdk_types::{ObjectId, ProgrammableTransaction, Address}; +use iota_sdk_types::{Address, ObjectId, ProgrammableTransaction}; use product_common::core_client::CoreClientReadOnly; use product_common::transaction::transaction_builder::Transaction; use tokio::sync::OnceCell; diff --git a/notarization-rs/src/core/types/notarization.rs b/notarization-rs/src/core/types/notarization.rs index 2e3df77e..7dc00a0f 100644 --- a/notarization-rs/src/core/types/notarization.rs +++ b/notarization-rs/src/core/types/notarization.rs @@ -1,8 +1,8 @@ // Copyright 2020-2025 IOTA Stiftung // SPDX-License-Identifier: Apache-2.0 -use iota_sdk_types::Address; use iota_interaction::types::id::UID; +use iota_sdk_types::Address; use serde::{Deserialize, Serialize}; use super::NotarizationMethod; diff --git a/notarization-rs/tests/e2e/dynamic_notarization.rs b/notarization-rs/tests/e2e/dynamic_notarization.rs index 18d81a2d..6344c1c0 100644 --- a/notarization-rs/tests/e2e/dynamic_notarization.rs +++ b/notarization-rs/tests/e2e/dynamic_notarization.rs @@ -3,9 +3,9 @@ use std::time::{SystemTime, UNIX_EPOCH}; +use iota_sdk_types::Address; use notarization::core::types::{NotarizationMethod, State, TimeLock}; use product_common::core_client::{CoreClient, CoreClientReadOnly}; -use iota_sdk_types::Address; use crate::client::get_funded_test_client; From 855ab550f347e637e3e438a48ddfce26d454609b Mon Sep 17 00:00:00 2001 From: Enrico Marconi Date: Thu, 2 Jul 2026 16:00:09 +0200 Subject: [PATCH 03/10] update wrong imports --- audit-trail-move/Move.history.json | 6 +++--- examples/07_transfer_dynamic_notarization.rs | 2 +- .../real-world/03_digital_product_passport.rs | 3 +-- examples/utils/utils.rs | 3 +-- notarization-move/Move.history.json | 10 +++++----- notarization-rs/src/core/types/notarization.rs | 6 +++--- 6 files changed, 14 insertions(+), 16 deletions(-) diff --git a/audit-trail-move/Move.history.json b/audit-trail-move/Move.history.json index 34e1e35e..8af393fe 100644 --- a/audit-trail-move/Move.history.json +++ b/audit-trail-move/Move.history.json @@ -5,14 +5,14 @@ "mainnet": "6364aad5" }, "envs": { - "2304aa97": [ - "0x51368931f28620c7f65b4ae2c5167b42390e69729357a6347be378755b46e7df" - ], "6364aad5": [ "0x960d8a375af7bd09d19f08a9648940caf7e76289de90aa258b9e8e30a84f1b8a" ], "daf90477": [ "0x42550eab2785cca0f825289176fd92074d92b2ad8bf2f226d24f4f3e16720f84" + ], + "2304aa97": [ + "0x51368931f28620c7f65b4ae2c5167b42390e69729357a6347be378755b46e7df" ] } } \ No newline at end of file diff --git a/examples/07_transfer_dynamic_notarization.rs b/examples/07_transfer_dynamic_notarization.rs index 92dba9d1..6d11ee50 100644 --- a/examples/07_transfer_dynamic_notarization.rs +++ b/examples/07_transfer_dynamic_notarization.rs @@ -5,8 +5,8 @@ use std::time::{SystemTime, UNIX_EPOCH}; use anyhow::Result; use examples::get_funded_notarization_client; -use iota_sdk::types::base_types::Address; use notarization::core::types::{State, TimeLock}; +use iota_sdk_types::Address; #[tokio::main] async fn main() -> Result<()> { diff --git a/examples/audit-trail/real-world/03_digital_product_passport.rs b/examples/audit-trail/real-world/03_digital_product_passport.rs index 9864f4d3..12444c55 100644 --- a/examples/audit-trail/real-world/03_digital_product_passport.rs +++ b/examples/audit-trail/real-world/03_digital_product_passport.rs @@ -42,8 +42,7 @@ use audit_trails::core::types::{ CapabilityIssueOptions, Data, ImmutableMetadata, InitialRecord, PermissionSet, RoleTags, }; use examples::{get_funded_audit_trail_client, issue_tagged_record_role}; -use iota_sdk::types::base_types::Address; -use iota_sdk_types::ObjectId; +use iota_sdk_types::{Address, ObjectId}; use product_common::core_client::CoreClient; use product_common::test_utils::InMemSigner; diff --git a/examples/utils/utils.rs b/examples/utils/utils.rs index 2adc49ea..6f0eadf3 100644 --- a/examples/utils/utils.rs +++ b/examples/utils/utils.rs @@ -4,9 +4,8 @@ use anyhow::Context; use audit_trails::core::types::{CapabilityIssueOptions, PermissionSet, RoleTags}; use audit_trails::{AuditTrailClient, PackageOverrides}; -use iota_sdk::types::base_types::Address; use iota_sdk::{IOTA_LOCAL_NETWORK_URL, IotaClientBuilder}; -use iota_sdk_types::ObjectId; +use iota_sdk_types::{Address, ObjectId}; use notarization::client::{NotarizationClient, NotarizationClientReadOnly}; use product_common::test_utils::{InMemSigner, request_funds}; diff --git a/notarization-move/Move.history.json b/notarization-move/Move.history.json index 66d19291..4bc593c2 100644 --- a/notarization-move/Move.history.json +++ b/notarization-move/Move.history.json @@ -1,16 +1,16 @@ { "aliases": { - "devnet": "daf90477", "mainnet": "6364aad5", - "testnet": "2304aa97" + "testnet": "2304aa97", + "devnet": "daf90477" }, "envs": { - "2304aa97": [ - "0x00412bd469b7f980227c6c574090348239852e43aa07818b315854fdd8a2d25f" - ], "daf90477": [ "0x72c8433b88e6bdee0eb02a257fdebd0ec2b6c990043f35b155cb4c5cf727fdca" ], + "2304aa97": [ + "0x00412bd469b7f980227c6c574090348239852e43aa07818b315854fdd8a2d25f" + ], "6364aad5": [ "0x909ce9dcd9a5e97b7b8884fac8e018fad9dece348bf73837379b8694ff684cf3" ] diff --git a/notarization-rs/src/core/types/notarization.rs b/notarization-rs/src/core/types/notarization.rs index 7dc00a0f..3918787f 100644 --- a/notarization-rs/src/core/types/notarization.rs +++ b/notarization-rs/src/core/types/notarization.rs @@ -68,7 +68,7 @@ fn iota_address_zero() -> Address { #[cfg(feature = "irl")] pub mod irl_integration { - use iota_caip::iota::{Address, IotaNetwork, IotaResourceLocator}; + use iota_caip::iota::{IotaAddress, IotaNetwork, IotaResourceLocator}; use iota_caip::resource::RelativeUrl; use product_common::network_name::NetworkName; @@ -88,7 +88,7 @@ pub mod irl_integration { pub fn iota_resource_locator_builder(&self, network: &NetworkName) -> NotarizationResourceBuilder { NotarizationResourceBuilder { network: IotaNetwork::custom(network.as_ref()).expect("valid network"), - notarization_id: Address::new(self.id.id.bytes.into_bytes()), + notarization_id: IotaAddress::new(self.id.id.bytes.into_bytes()), } } } @@ -97,7 +97,7 @@ pub mod irl_integration { #[derive(Debug, Clone, PartialEq, Eq)] pub struct NotarizationResourceBuilder { network: IotaNetwork, - notarization_id: Address, + notarization_id: IotaAddress, } impl NotarizationResourceBuilder { From 1dce4d5dd8b0c58d25e58df7e0f5dc4890d9c0ad Mon Sep 17 00:00:00 2001 From: Enrico Marconi Date: Fri, 3 Jul 2026 16:10:13 +0200 Subject: [PATCH 04/10] rerun CI --- Cargo.toml | 3 +++ audit-trail-move/Move.history.json | 6 +++--- notarization-move/Move.history.json | 12 ++++++------ notarization-move/Move.lock | 8 ++++---- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 4ddaa7de..2466948d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,5 +32,8 @@ strum = { version = "0.27", default-features = false, features = ["std", "derive thiserror = { version = "2.0", default-features = false } tokio = { version = "1.52.2", default-features = false, features = ["macros", "sync", "rt", "process"] } +[patch."https://github.com/iotaledger/product-core.git"] +iota_interaction = { path = "../product-core/iota_interaction"} + [profile.release.package.iota_interaction_ts] opt-level = 's' diff --git a/audit-trail-move/Move.history.json b/audit-trail-move/Move.history.json index 8af393fe..346af1d0 100644 --- a/audit-trail-move/Move.history.json +++ b/audit-trail-move/Move.history.json @@ -8,11 +8,11 @@ "6364aad5": [ "0x960d8a375af7bd09d19f08a9648940caf7e76289de90aa258b9e8e30a84f1b8a" ], - "daf90477": [ - "0x42550eab2785cca0f825289176fd92074d92b2ad8bf2f226d24f4f3e16720f84" - ], "2304aa97": [ "0x51368931f28620c7f65b4ae2c5167b42390e69729357a6347be378755b46e7df" + ], + "daf90477": [ + "0x42550eab2785cca0f825289176fd92074d92b2ad8bf2f226d24f4f3e16720f84" ] } } \ No newline at end of file diff --git a/notarization-move/Move.history.json b/notarization-move/Move.history.json index 4bc593c2..29fc13de 100644 --- a/notarization-move/Move.history.json +++ b/notarization-move/Move.history.json @@ -1,18 +1,18 @@ { "aliases": { "mainnet": "6364aad5", - "testnet": "2304aa97", - "devnet": "daf90477" + "devnet": "daf90477", + "testnet": "2304aa97" }, "envs": { - "daf90477": [ - "0x72c8433b88e6bdee0eb02a257fdebd0ec2b6c990043f35b155cb4c5cf727fdca" + "6364aad5": [ + "0x909ce9dcd9a5e97b7b8884fac8e018fad9dece348bf73837379b8694ff684cf3" ], "2304aa97": [ "0x00412bd469b7f980227c6c574090348239852e43aa07818b315854fdd8a2d25f" ], - "6364aad5": [ - "0x909ce9dcd9a5e97b7b8884fac8e018fad9dece348bf73837379b8694ff684cf3" + "daf90477": [ + "0x72c8433b88e6bdee0eb02a257fdebd0ec2b6c990043f35b155cb4c5cf727fdca" ] } } \ No newline at end of file diff --git a/notarization-move/Move.lock b/notarization-move/Move.lock index c4df2d76..19ad179a 100644 --- a/notarization-move/Move.lock +++ b/notarization-move/Move.lock @@ -21,16 +21,16 @@ id = "MoveStdlib" source = { git = "https://github.com/iotaledger/iota.git", rev = "e694e2ee8f2f9f0b9b03b843a24ff0f7bcff2930", subdir = "crates/iota-framework/packages/move-stdlib" } [move.toolchain-version] -compiler-version = "1.16.2-rc" +compiler-version = "1.22.1" edition = "2024.beta" flavor = "iota" [env] [env.localnet] -chain-id = "4991e514" -original-published-id = "0x8d9e2e2f04101e66c778cfeef09a9fdc945b172cb9f550ace1d36b23ac536735" -latest-published-id = "0x8d9e2e2f04101e66c778cfeef09a9fdc945b172cb9f550ace1d36b23ac536735" +chain-id = "c033ad7d" +original-published-id = "0x020921a44b9d83a88c381f418cb634a236bd37192cd4b404436948e7aedb5587" +latest-published-id = "0x020921a44b9d83a88c381f418cb634a236bd37192cd4b404436948e7aedb5587" published-version = "1" [env.devnet] From e3797da369f59b3b39697836d0a6ee2db9839767 Mon Sep 17 00:00:00 2001 From: Enrico Marconi Date: Fri, 3 Jul 2026 16:12:48 +0200 Subject: [PATCH 05/10] remove patch in Cargo.toml --- Cargo.toml | 3 --- 1 file changed, 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 2466948d..4ddaa7de 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,8 +32,5 @@ strum = { version = "0.27", default-features = false, features = ["std", "derive thiserror = { version = "2.0", default-features = false } tokio = { version = "1.52.2", default-features = false, features = ["macros", "sync", "rt", "process"] } -[patch."https://github.com/iotaledger/product-core.git"] -iota_interaction = { path = "../product-core/iota_interaction"} - [profile.release.package.iota_interaction_ts] opt-level = 's' From b418b3436a1293e7c8ad8d4a8f031f887e47a8b9 Mon Sep 17 00:00:00 2001 From: Enrico Marconi Date: Fri, 3 Jul 2026 16:16:02 +0200 Subject: [PATCH 06/10] fmt --- examples/07_transfer_dynamic_notarization.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/07_transfer_dynamic_notarization.rs b/examples/07_transfer_dynamic_notarization.rs index 6d11ee50..13fe94ef 100644 --- a/examples/07_transfer_dynamic_notarization.rs +++ b/examples/07_transfer_dynamic_notarization.rs @@ -5,8 +5,8 @@ use std::time::{SystemTime, UNIX_EPOCH}; use anyhow::Result; use examples::get_funded_notarization_client; -use notarization::core::types::{State, TimeLock}; use iota_sdk_types::Address; +use notarization::core::types::{State, TimeLock}; #[tokio::main] async fn main() -> Result<()> { From 0c03dd79c8ff3e79deb4df6421e4e4457d697b37 Mon Sep 17 00:00:00 2001 From: Enrico Marconi Date: Mon, 6 Jul 2026 11:33:52 +0200 Subject: [PATCH 07/10] update iota-sdk-types in wasm bindings --- audit-trail-move/Move.history.json | 10 +++++----- bindings/wasm/audit_trail_wasm/Cargo.toml | 2 +- bindings/wasm/notarization_wasm/Cargo.toml | 2 +- notarization-move/Move.history.json | 10 +++++----- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/audit-trail-move/Move.history.json b/audit-trail-move/Move.history.json index 346af1d0..cc846890 100644 --- a/audit-trail-move/Move.history.json +++ b/audit-trail-move/Move.history.json @@ -1,18 +1,18 @@ { "aliases": { + "mainnet": "6364aad5", "devnet": "daf90477", - "testnet": "2304aa97", - "mainnet": "6364aad5" + "testnet": "2304aa97" }, "envs": { + "daf90477": [ + "0x42550eab2785cca0f825289176fd92074d92b2ad8bf2f226d24f4f3e16720f84" + ], "6364aad5": [ "0x960d8a375af7bd09d19f08a9648940caf7e76289de90aa258b9e8e30a84f1b8a" ], "2304aa97": [ "0x51368931f28620c7f65b4ae2c5167b42390e69729357a6347be378755b46e7df" - ], - "daf90477": [ - "0x42550eab2785cca0f825289176fd92074d92b2ad8bf2f226d24f4f3e16720f84" ] } } \ No newline at end of file diff --git a/bindings/wasm/audit_trail_wasm/Cargo.toml b/bindings/wasm/audit_trail_wasm/Cargo.toml index 94fa2012..5bf71eca 100644 --- a/bindings/wasm/audit_trail_wasm/Cargo.toml +++ b/bindings/wasm/audit_trail_wasm/Cargo.toml @@ -20,7 +20,7 @@ anyhow = "1.0.95" audit_trails = { path = "../../../audit-trail-rs", default-features = false, features = ["gas-station", "default-http-client"] } bcs = "0.1.6" console_error_panic_hook = { version = "0.1" } -iota-sdk-types = { git = "https://github.com/iotaledger/iota-rust-sdk.git", rev = "35a27488b887e28e844a1e46d7edb78605871155", default-features = false } +iota-sdk-types = { git = "https://github.com/iotaledger/iota-rust-sdk.git", rev = "36bffd625e1b1d38307eb9e49bd2cb7dd988bb11", default-features = false } iota_interaction = { git = "https://github.com/iotaledger/product-core.git", branch = "feat/iota-v1.26.1-upstream-merge", default-features = false } iota_interaction_ts = { git = "https://github.com/iotaledger/product-core.git", branch = "feat/iota-v1.26.1-upstream-merge" } js-sys = { version = "0.3.61" } diff --git a/bindings/wasm/notarization_wasm/Cargo.toml b/bindings/wasm/notarization_wasm/Cargo.toml index 29a74621..bae98c2e 100644 --- a/bindings/wasm/notarization_wasm/Cargo.toml +++ b/bindings/wasm/notarization_wasm/Cargo.toml @@ -21,7 +21,7 @@ async-trait = { version = "0.1", default-features = false } bcs = "0.1.6" console_error_panic_hook = { version = "0.1" } fastcrypto = { git = "https://github.com/MystenLabs/fastcrypto", rev = "69d496c71fb37e3d22fe85e5bbfd4256d61422b9", package = "fastcrypto" } -iota-sdk-types = { git = "https://github.com/iotaledger/iota-rust-sdk.git", rev = "35a27488b887e28e844a1e46d7edb78605871155", default-features = false } +iota-sdk-types = { git = "https://github.com/iotaledger/iota-rust-sdk.git", rev = "36bffd625e1b1d38307eb9e49bd2cb7dd988bb11", default-features = false } iota_interaction = { git = "https://github.com/iotaledger/product-core.git", branch = "feat/iota-v1.26.1-upstream-merge", default-features = false } iota_interaction_ts = { git = "https://github.com/iotaledger/product-core.git", branch = "feat/iota-v1.26.1-upstream-merge" } js-sys = { version = "=0.3.85" } diff --git a/notarization-move/Move.history.json b/notarization-move/Move.history.json index 29fc13de..7d0b2e5f 100644 --- a/notarization-move/Move.history.json +++ b/notarization-move/Move.history.json @@ -1,16 +1,16 @@ { "aliases": { - "mainnet": "6364aad5", + "testnet": "2304aa97", "devnet": "daf90477", - "testnet": "2304aa97" + "mainnet": "6364aad5" }, "envs": { - "6364aad5": [ - "0x909ce9dcd9a5e97b7b8884fac8e018fad9dece348bf73837379b8694ff684cf3" - ], "2304aa97": [ "0x00412bd469b7f980227c6c574090348239852e43aa07818b315854fdd8a2d25f" ], + "6364aad5": [ + "0x909ce9dcd9a5e97b7b8884fac8e018fad9dece348bf73837379b8694ff684cf3" + ], "daf90477": [ "0x72c8433b88e6bdee0eb02a257fdebd0ec2b6c990043f35b155cb4c5cf727fdca" ] From a5d426a137bfa4cf3a94b350afe0b17a7e57f774 Mon Sep 17 00:00:00 2001 From: Enrico Marconi Date: Mon, 6 Jul 2026 11:41:31 +0200 Subject: [PATCH 08/10] update WASM binding for Address --- bindings/wasm/audit_trail_wasm/src/builder.rs | 4 +- bindings/wasm/audit_trail_wasm/src/types.rs | 38 +++++++++---------- .../src/wasm_notarization.rs | 8 ++-- .../src/wasm_notarization_client.rs | 6 +-- 4 files changed, 28 insertions(+), 28 deletions(-) diff --git a/bindings/wasm/audit_trail_wasm/src/builder.rs b/bindings/wasm/audit_trail_wasm/src/builder.rs index bc979428..8f3fa474 100644 --- a/bindings/wasm/audit_trail_wasm/src/builder.rs +++ b/bindings/wasm/audit_trail_wasm/src/builder.rs @@ -5,7 +5,7 @@ use audit_trails::core::builder::AuditTrailBuilder; use iota_interaction_ts::wasm_error::{Result, WasmResult}; use product_common::bindings::transaction::WasmTransactionBuilder; use product_common::bindings::utils::{into_transaction_builder, parse_wasm_iota_address}; -use product_common::bindings::WasmIotaAddress; +use product_common::bindings::WasmAddress; use wasm_bindgen::prelude::*; use crate::trail::WasmCreateTrail; @@ -143,7 +143,7 @@ impl WasmAuditTrailBuilder { /// /// @throws When `admin` is not a valid IOTA address. #[wasm_bindgen(js_name = withAdmin)] - pub fn with_admin(self, admin: WasmIotaAddress) -> Result { + pub fn with_admin(self, admin: WasmAddress) -> Result { let admin = parse_wasm_iota_address(&admin)?; Ok(Self(self.0.with_admin(admin))) } diff --git a/bindings/wasm/audit_trail_wasm/src/types.rs b/bindings/wasm/audit_trail_wasm/src/types.rs index 23bbfbab..418efdec 100644 --- a/bindings/wasm/audit_trail_wasm/src/types.rs +++ b/bindings/wasm/audit_trail_wasm/src/types.rs @@ -14,7 +14,7 @@ use audit_trails::core::types::{ use iota_interaction::types::collection_types::LinkedTable; use iota_sdk_types::ObjectId; use js_sys::Uint8Array; -use product_common::bindings::WasmIotaAddress; +use product_common::bindings::WasmAddress; use serde::{Deserialize, Serialize}; use wasm_bindgen::prelude::*; @@ -641,7 +641,7 @@ pub struct WasmCapabilityIssueOptions { /// Address that should own the issued capability. When `null`, the capability is transferred /// to the caller. #[wasm_bindgen(js_name = issuedTo)] - pub issued_to: Option, + pub issued_to: Option, /// Earliest millisecond timestamp (since the Unix epoch) at which the capability becomes /// valid. When `null`, the capability is valid from its creation time. #[wasm_bindgen(js_name = validFromMs)] @@ -661,7 +661,7 @@ impl WasmCapabilityIssueOptions { /// epoch. /// @param validUntilMs - Optional latest valid timestamp in milliseconds since the Unix epoch. #[wasm_bindgen(constructor)] - pub fn new(issued_to: Option, valid_from_ms: Option, valid_until_ms: Option) -> Self { + pub fn new(issued_to: Option, valid_from_ms: Option, valid_until_ms: Option) -> Self { Self { issued_to, valid_from_ms, @@ -708,7 +708,7 @@ pub struct WasmCapability { /// Address bound to the capability. When `null`, any holder may present the capability for /// authorization. #[wasm_bindgen(js_name = issuedTo)] - pub issued_to: Option, + pub issued_to: Option, /// Earliest millisecond timestamp (since the Unix epoch, inclusive) at which the capability /// is valid. When `null`, the capability is valid from its creation time. #[wasm_bindgen(js_name = validFrom)] @@ -740,7 +740,7 @@ pub struct WasmAuditTrailCreated { #[wasm_bindgen(js_name = trailId)] pub trail_id: String, /// Address that created the trail. - pub creator: WasmIotaAddress, + pub creator: WasmAddress, /// Millisecond event timestamp. pub timestamp: u64, } @@ -784,7 +784,7 @@ pub struct WasmAuditTrailMigrated { pub trail_id: String, /// Address that migrated the trail. #[wasm_bindgen(js_name = migratedBy)] - pub migrated_by: WasmIotaAddress, + pub migrated_by: WasmAddress, /// Millisecond event timestamp. pub timestamp: u64, } @@ -808,7 +808,7 @@ pub struct WasmMetadataUpdated { pub trail_id: String, /// Address that updated the metadata. #[wasm_bindgen(js_name = updatedBy)] - pub updated_by: WasmIotaAddress, + pub updated_by: WasmAddress, /// Millisecond event timestamp. pub timestamp: u64, } @@ -832,7 +832,7 @@ pub struct WasmLockingConfigUpdated { pub trail_id: String, /// Address that updated the locking configuration. #[wasm_bindgen(js_name = updatedBy)] - pub updated_by: WasmIotaAddress, + pub updated_by: WasmAddress, /// Millisecond event timestamp. pub timestamp: u64, } @@ -859,7 +859,7 @@ pub struct WasmRecordAdded { pub sequence_number: u64, /// Address that added the record. #[wasm_bindgen(js_name = addedBy)] - pub added_by: WasmIotaAddress, + pub added_by: WasmAddress, /// Millisecond event timestamp. pub timestamp: u64, } @@ -887,7 +887,7 @@ pub struct WasmRecordDeleted { pub sequence_number: u64, /// Address that deleted the record. #[wasm_bindgen(js_name = deletedBy)] - pub deleted_by: WasmIotaAddress, + pub deleted_by: WasmAddress, /// Millisecond event timestamp. pub timestamp: u64, } @@ -912,7 +912,7 @@ pub struct WasmRecordTagAdded { pub trail_id: String, /// Address that added the tag. #[wasm_bindgen(js_name = addedBy)] - pub added_by: WasmIotaAddress, + pub added_by: WasmAddress, /// Millisecond event timestamp. pub timestamp: u64, } @@ -936,7 +936,7 @@ pub struct WasmRecordTagRemoved { pub trail_id: String, /// Address that removed the tag. #[wasm_bindgen(js_name = removedBy)] - pub removed_by: WasmIotaAddress, + pub removed_by: WasmAddress, /// Millisecond event timestamp. pub timestamp: u64, } @@ -965,7 +965,7 @@ pub struct WasmCapabilityIssued { pub role: String, /// Address bound to the capability, if one was assigned at issue time. #[wasm_bindgen(js_name = issuedTo)] - pub issued_to: Option, + pub issued_to: Option, /// Earliest millisecond timestamp (since the Unix epoch, inclusive) at which the capability /// becomes valid. `null` when no lower bound was set. #[wasm_bindgen(js_name = validFrom)] @@ -1003,7 +1003,7 @@ pub struct WasmCapabilityDestroyed { pub role: String, /// Address bound to the capability, if one had been assigned. #[wasm_bindgen(js_name = issuedTo)] - pub issued_to: Option, + pub issued_to: Option, /// Earliest millisecond timestamp (since the Unix epoch, inclusive) at which the capability /// became valid. `null` when no lower bound had been set. #[wasm_bindgen(js_name = validFrom)] @@ -1067,7 +1067,7 @@ pub struct WasmRevokedCapabilitiesCleanedUp { pub cleaned_count: u64, /// Address that triggered the cleanup. #[wasm_bindgen(js_name = cleanedBy)] - pub cleaned_by: WasmIotaAddress, + pub cleaned_by: WasmAddress, /// Millisecond event timestamp. pub timestamp: u64, } @@ -1099,7 +1099,7 @@ pub struct WasmRoleCreated { pub role_tags: Option, /// Address that created the role. #[wasm_bindgen(js_name = createdBy)] - pub created_by: WasmIotaAddress, + pub created_by: WasmAddress, /// Millisecond event timestamp. pub timestamp: u64, } @@ -1133,7 +1133,7 @@ pub struct WasmRoleUpdated { pub role_tags: Option, /// Address that updated the role. #[wasm_bindgen(js_name = updatedBy)] - pub updated_by: WasmIotaAddress, + pub updated_by: WasmAddress, /// Millisecond event timestamp. pub timestamp: u64, } @@ -1162,7 +1162,7 @@ pub struct WasmRoleDeleted { pub role: String, /// Address that deleted the role. #[wasm_bindgen(js_name = deletedBy)] - pub deleted_by: WasmIotaAddress, + pub deleted_by: WasmAddress, /// Millisecond event timestamp. pub timestamp: u64, } @@ -1540,7 +1540,7 @@ pub struct WasmRecord { pub sequence_number: u64, /// Address that added the record. #[wasm_bindgen(js_name = addedBy)] - pub added_by: WasmIotaAddress, + pub added_by: WasmAddress, /// Millisecond timestamp at which the record was added. #[wasm_bindgen(js_name = addedAt)] pub added_at: u64, diff --git a/bindings/wasm/notarization_wasm/src/wasm_notarization.rs b/bindings/wasm/notarization_wasm/src/wasm_notarization.rs index 6c57e6bd..f7ac9d57 100644 --- a/bindings/wasm/notarization_wasm/src/wasm_notarization.rs +++ b/bindings/wasm/notarization_wasm/src/wasm_notarization.rs @@ -15,7 +15,7 @@ use notarization::core::types::OnChainNotarization; use product_common::bindings::utils::{ apply_with_events, build_programmable_transaction, parse_wasm_iota_address, parse_wasm_object_id, }; -use product_common::bindings::{WasmIotaAddress, WasmObjectID}; +use product_common::bindings::{WasmAddress, WasmObjectID}; use product_common::network_name::NetworkName; use wasm_bindgen::prelude::*; @@ -116,8 +116,8 @@ impl WasmOnChainNotarization { /// The current owner's IOTA address. #[wasm_bindgen(getter)] - pub fn owner(&self) -> WasmIotaAddress { - WasmIotaAddress::from_str(&self.0.owner.to_string()) + pub fn owner(&self) -> WasmAddress { + WasmAddress::from_str(&self.0.owner.to_string()) .expect("Invalid address stored on-chain, this should never happen") } @@ -523,7 +523,7 @@ impl WasmTransferNotarization { /// /// @throws When the ID or address is malformed. #[wasm_bindgen(constructor)] - pub fn new(recipient: WasmIotaAddress, object_id: WasmObjectID) -> Result { + pub fn new(recipient: WasmAddress, object_id: WasmObjectID) -> Result { let obj_id = parse_wasm_object_id(&object_id)?; let recipient_address = parse_wasm_iota_address(&recipient)?; Ok(WasmTransferNotarization(TransferNotarization::new( diff --git a/bindings/wasm/notarization_wasm/src/wasm_notarization_client.rs b/bindings/wasm/notarization_wasm/src/wasm_notarization_client.rs index ec64c408..0d7965c6 100644 --- a/bindings/wasm/notarization_wasm/src/wasm_notarization_client.rs +++ b/bindings/wasm/notarization_wasm/src/wasm_notarization_client.rs @@ -7,7 +7,7 @@ use iota_sdk_types::ObjectId; use notarization::NotarizationClient; use product_common::bindings::transaction::WasmTransactionBuilder; use product_common::bindings::utils::{into_transaction_builder, parse_wasm_iota_address, parse_wasm_object_id}; -use product_common::bindings::{WasmIotaAddress, WasmObjectID}; +use product_common::bindings::{WasmAddress, WasmObjectID}; use product_common::core_client::{CoreClient, CoreClientReadOnly}; use wasm_bindgen::prelude::*; @@ -66,7 +66,7 @@ impl WasmNotarizationClient { /// The IOTA address transactions will be sent from. #[wasm_bindgen(js_name = senderAddress)] - pub fn sender_address(&self) -> WasmIotaAddress { + pub fn sender_address(&self) -> WasmAddress { self.0.sender_address().to_string() } @@ -260,7 +260,7 @@ impl WasmNotarizationClient { pub fn transfer_notarization( &self, notarization_id: WasmObjectID, - recipient: WasmIotaAddress, + recipient: WasmAddress, ) -> Result { let notarization_id = parse_wasm_object_id(¬arization_id)?; let recipient_address = parse_wasm_iota_address(&recipient)?; From 94a63ed43d765bd8809521165888fac50ef6f005 Mon Sep 17 00:00:00 2001 From: Enrico Marconi Date: Mon, 6 Jul 2026 11:57:36 +0200 Subject: [PATCH 09/10] cargo audit ignores --- .cargo/audit.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.cargo/audit.toml b/.cargo/audit.toml index 8fa62005..5ee87d8e 100644 --- a/.cargo/audit.toml +++ b/.cargo/audit.toml @@ -2,4 +2,6 @@ ignore = [ "RUSTSEC-2023-0071", # temporary ignore until fix is provided "RUSTSEC-2024-0437", # protobuf uncontrolled recursion https://github.com/iotaledger/iota/issues/5861 + "RUSTSEC-2026-0194", # should be fixed by next IOTA version + "RUSTSEC-2026-0195", # should be fixed by next IOTA version ] From 414144f459d1fda9c537dbbf0bdedeff88a23ea7 Mon Sep 17 00:00:00 2001 From: Yasir Date: Thu, 9 Jul 2026 16:19:34 +0300 Subject: [PATCH 10/10] chore: update product-core dependencies to v0.8.22 in Cargo.toml files --- Cargo.toml | 8 ++++---- bindings/wasm/audit_trail_wasm/Cargo.toml | 6 +++--- bindings/wasm/notarization_wasm/Cargo.toml | 6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 4ddaa7de..36638d03 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,10 +19,10 @@ chrono = { version = "0.4", default-features = false } hyper = "1" iota-sdk = { git = "https://github.com/iotaledger/iota.git", package = "iota-sdk", tag = "v1.26.1" } iota-sdk-types = { git = "https://github.com/iotaledger/iota-rust-sdk.git", rev = "36bffd625e1b1d38307eb9e49bd2cb7dd988bb11", default-features = false } -iota_interaction = { git = "https://github.com/iotaledger/product-core.git", branch = "feat/iota-v1.26.1-upstream-merge", default-features = false, package = "iota_interaction" } -iota_interaction_rust = { git = "https://github.com/iotaledger/product-core.git", branch = "feat/iota-v1.26.1-upstream-merge", default-features = false, package = "iota_interaction_rust" } -iota_interaction_ts = { git = "https://github.com/iotaledger/product-core.git", branch = "feat/iota-v1.26.1-upstream-merge", default-features = false, package = "iota_interaction_ts" } -product_common = { git = "https://github.com/iotaledger/product-core.git", branch = "feat/iota-v1.26.1-upstream-merge", default-features = false, package = "product_common" } +iota_interaction = { git = "https://github.com/iotaledger/product-core.git", tag = "v0.8.22", default-features = false, package = "iota_interaction" } +iota_interaction_rust = { git = "https://github.com/iotaledger/product-core.git", tag = "v0.8.22", default-features = false, package = "iota_interaction_rust" } +iota_interaction_ts = { git = "https://github.com/iotaledger/product-core.git", tag = "v0.8.22", default-features = false, package = "iota_interaction_ts" } +product_common = { git = "https://github.com/iotaledger/product-core.git", tag = "v0.8.22", default-features = false, package = "product_common" } secret-storage = { git = "https://github.com/iotaledger/secret-storage.git", tag = "v0.3.0", default-features = false } serde = { version = "1.0", default-features = false, features = ["alloc", "derive"] } serde-aux = { version = "4.7.0", default-features = false } diff --git a/bindings/wasm/audit_trail_wasm/Cargo.toml b/bindings/wasm/audit_trail_wasm/Cargo.toml index 5bf71eca..530d052d 100644 --- a/bindings/wasm/audit_trail_wasm/Cargo.toml +++ b/bindings/wasm/audit_trail_wasm/Cargo.toml @@ -21,10 +21,10 @@ audit_trails = { path = "../../../audit-trail-rs", default-features = false, fea bcs = "0.1.6" console_error_panic_hook = { version = "0.1" } iota-sdk-types = { git = "https://github.com/iotaledger/iota-rust-sdk.git", rev = "36bffd625e1b1d38307eb9e49bd2cb7dd988bb11", default-features = false } -iota_interaction = { git = "https://github.com/iotaledger/product-core.git", branch = "feat/iota-v1.26.1-upstream-merge", default-features = false } -iota_interaction_ts = { git = "https://github.com/iotaledger/product-core.git", branch = "feat/iota-v1.26.1-upstream-merge" } +iota_interaction = { git = "https://github.com/iotaledger/product-core.git", tag = "v0.8.22", default-features = false } +iota_interaction_ts = { git = "https://github.com/iotaledger/product-core.git", tag = "v0.8.22" } js-sys = { version = "0.3.61" } -product_common = { git = "https://github.com/iotaledger/product-core.git", branch = "feat/iota-v1.26.1-upstream-merge", features = ["core-client", "transaction", "bindings", "binding-utils", "gas-station", "default-http-client"] } +product_common = { git = "https://github.com/iotaledger/product-core.git", tag = "v0.8.22", features = ["core-client", "transaction", "bindings", "binding-utils", "gas-station", "default-http-client"] } serde = { version = "1.0", features = ["derive"] } serde-wasm-bindgen = "0.6.5" tokio = { version = "1.49.0", default-features = false, features = ["sync"] } diff --git a/bindings/wasm/notarization_wasm/Cargo.toml b/bindings/wasm/notarization_wasm/Cargo.toml index bae98c2e..a16b9702 100644 --- a/bindings/wasm/notarization_wasm/Cargo.toml +++ b/bindings/wasm/notarization_wasm/Cargo.toml @@ -22,8 +22,8 @@ bcs = "0.1.6" console_error_panic_hook = { version = "0.1" } fastcrypto = { git = "https://github.com/MystenLabs/fastcrypto", rev = "69d496c71fb37e3d22fe85e5bbfd4256d61422b9", package = "fastcrypto" } iota-sdk-types = { git = "https://github.com/iotaledger/iota-rust-sdk.git", rev = "36bffd625e1b1d38307eb9e49bd2cb7dd988bb11", default-features = false } -iota_interaction = { git = "https://github.com/iotaledger/product-core.git", branch = "feat/iota-v1.26.1-upstream-merge", default-features = false } -iota_interaction_ts = { git = "https://github.com/iotaledger/product-core.git", branch = "feat/iota-v1.26.1-upstream-merge" } +iota_interaction = { git = "https://github.com/iotaledger/product-core.git", tag = "v0.8.22", default-features = false } +iota_interaction_ts = { git = "https://github.com/iotaledger/product-core.git", tag = "v0.8.22" } js-sys = { version = "=0.3.85" } prefix-hex = { version = "0.7", default-features = false } serde = { version = "1.0", features = ["derive"] } @@ -38,7 +38,7 @@ wasm-bindgen-futures = { version = "0.4", default-features = false } [dependencies.product_common] git = "https://github.com/iotaledger/product-core.git" -branch = "feat/iota-v1.26.1-upstream-merge" +tag = "v0.8.22" features = [ "core-client", "transaction",