From f7ac8d36a7d183d8627be651226d750ead1f88db Mon Sep 17 00:00:00 2001 From: Sendi John Date: Thu, 2 Oct 2025 22:32:08 +0100 Subject: [PATCH 1/3] feat: implement common types module (#212) - Create shared common_types crate with reusable types - Add SubscriptionPlan enum (Daily, Monthly, PayPerUse) - Add AttendanceAction enum (ClockIn, ClockOut) - Add UserRole enum (Member, Staff, Admin, Visitor) - Add MembershipStatus enum (Active, Expired, Revoked, Inactive) - Apply #[contracttype] for Soroban serialization - Add comprehensive documentation and unit tests - Create test contract demonstrating type usage - Integrate common_types into manage_hub contract - Update workspace to include common_types crate - Refactor manage_hub to use shared MembershipStatus Resolves #212 --- contracts/Cargo.lock | 8 + contracts/Cargo.toml | 6 +- contracts/common_types/Cargo.toml | 13 + contracts/common_types/src/lib.rs | 14 + contracts/common_types/src/test_contract.rs | 116 +++++ contracts/common_types/src/types.rs | 147 +++++++ .../test_contract/tests/test_all_types.1.json | 76 ++++ .../tests/test_attendance.1.json | 76 ++++ .../test_contract/tests/test_role.1.json | 76 ++++ .../test_contract/tests/test_status.1.json | 77 ++++ .../tests/test_subscription_plan.1.json | 77 ++++ contracts/manage_hub/Cargo.toml | 3 +- contracts/manage_hub/src/types.rs | 10 +- .../test/test_admin_change.1.json | 16 +- ...test_edge_case_expiry_date_boundary.1.json | 8 +- .../test/test_get_token_expired.1.json | 8 +- ..._get_token_inactive_but_not_expired.1.json | 8 +- .../test/test_get_token_success.1.json | 8 +- .../test_issue_token_already_issued.1.json | 8 +- .../test/test_issue_token_success.1.json | 8 +- .../test/test_log_event_and_retrieve.1.json | 12 +- ...est_multiple_tokens_different_users.1.json | 16 +- .../test/test_transfer_token_inactive.1.json | 8 +- .../test/test_transfer_token_success.1.json | 10 +- .../test_snapshots/test/test_allowance.1.json | 76 ++++ .../test_snapshots/test/test_approve.1.json | 159 +++++++ .../test/test_balance_of.1.json | 76 ++++ .../test/test_initialize.1.json | 138 ++++++ .../test/test_mint_with_access_control.1.json | 251 +++++++++++ .../test_snapshots/test/test_transfer.1.json | 333 ++++++++++++++ .../test/test_transfer_from.1.json | 416 ++++++++++++++++++ .../test_transfer_from_with_allowance.1.json | 416 ++++++++++++++++++ .../test/test_transfer_owner_only.1.json | 334 ++++++++++++++ 33 files changed, 2942 insertions(+), 66 deletions(-) create mode 100644 contracts/common_types/Cargo.toml create mode 100644 contracts/common_types/src/lib.rs create mode 100644 contracts/common_types/src/test_contract.rs create mode 100644 contracts/common_types/src/types.rs create mode 100644 contracts/common_types/test_snapshots/test_contract/tests/test_all_types.1.json create mode 100644 contracts/common_types/test_snapshots/test_contract/tests/test_attendance.1.json create mode 100644 contracts/common_types/test_snapshots/test_contract/tests/test_role.1.json create mode 100644 contracts/common_types/test_snapshots/test_contract/tests/test_status.1.json create mode 100644 contracts/common_types/test_snapshots/test_contract/tests/test_subscription_plan.1.json create mode 100644 contracts/membership_token/test_snapshots/test/test_allowance.1.json create mode 100644 contracts/membership_token/test_snapshots/test/test_approve.1.json create mode 100644 contracts/membership_token/test_snapshots/test/test_balance_of.1.json create mode 100644 contracts/membership_token/test_snapshots/test/test_initialize.1.json create mode 100644 contracts/membership_token/test_snapshots/test/test_mint_with_access_control.1.json create mode 100644 contracts/membership_token/test_snapshots/test/test_transfer.1.json create mode 100644 contracts/membership_token/test_snapshots/test/test_transfer_from.1.json create mode 100644 contracts/membership_token/test_snapshots/test/test_transfer_from_with_allowance.1.json create mode 100644 contracts/membership_token/test_snapshots/test/test_transfer_owner_only.1.json diff --git a/contracts/Cargo.lock b/contracts/Cargo.lock index 822190ac..895eccf5 100644 --- a/contracts/Cargo.lock +++ b/contracts/Cargo.lock @@ -242,6 +242,13 @@ dependencies = [ "windows-link", ] +[[package]] +name = "common_types" +version = "0.1.0" +dependencies = [ + "soroban-sdk", +] + [[package]] name = "const-oid" version = "0.9.6" @@ -790,6 +797,7 @@ checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" name = "manage_hub" version = "0.0.0" dependencies = [ + "common_types", "soroban-sdk", ] diff --git a/contracts/Cargo.toml b/contracts/Cargo.toml index 360b7d07..f74a8ef7 100644 --- a/contracts/Cargo.toml +++ b/contracts/Cargo.toml @@ -3,11 +3,13 @@ resolver = "2" members = [ "access_control", "manage_hub", - "membership_token" + "membership_token", + "common_types" ] [workspace.dependencies] soroban-sdk = "22.0.0" +common_types = { path = "common_types" } [profile.release] opt-level = "z" @@ -22,4 +24,4 @@ lto = true # For more information about this profile see https://soroban.stellar.org/docs/basic-tutorials/logging#cargotoml-profile [profile.release-with-logs] inherits = "release" -debug-assertions = true +debug-assertions = true \ No newline at end of file diff --git a/contracts/common_types/Cargo.toml b/contracts/common_types/Cargo.toml new file mode 100644 index 00000000..804f3061 --- /dev/null +++ b/contracts/common_types/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "common_types" +version = "0.1.0" +edition = "2021" + +[lib] +crate-type = ["cdylib", "rlib"] + +[dependencies] +soroban-sdk = { workspace = true } + +[dev-dependencies] +soroban-sdk = { workspace = true, features = ["testutils"] } \ No newline at end of file diff --git a/contracts/common_types/src/lib.rs b/contracts/common_types/src/lib.rs new file mode 100644 index 00000000..d1dc3e76 --- /dev/null +++ b/contracts/common_types/src/lib.rs @@ -0,0 +1,14 @@ +#![no_std] + +//! Common types for ManageHub contracts. +//! +//! This crate provides shared enums and structs to ensure consistency +//! across all ManageHub smart contracts. + +mod types; + +// Re-export all types +pub use types::{AttendanceAction, MembershipStatus, SubscriptionPlan, UserRole}; + +#[cfg(test)] +mod test_contract; \ No newline at end of file diff --git a/contracts/common_types/src/test_contract.rs b/contracts/common_types/src/test_contract.rs new file mode 100644 index 00000000..859c4c24 --- /dev/null +++ b/contracts/common_types/src/test_contract.rs @@ -0,0 +1,116 @@ +#![cfg(test)] + +//! Test contract to verify common types functionality + +use crate::{AttendanceAction, MembershipStatus, SubscriptionPlan, UserRole}; +use soroban_sdk::{contract, contractimpl, testutils::Address as _, Address, Env, Symbol}; + +#[contract] +pub struct TestTypesContract; + +#[contractimpl] +impl TestTypesContract { + pub fn test_subscription(plan: SubscriptionPlan) -> SubscriptionPlan { + plan + } + + pub fn test_attendance(action: AttendanceAction) -> AttendanceAction { + action + } + + pub fn test_role(role: UserRole) -> UserRole { + role + } + + pub fn test_status(status: MembershipStatus) -> MembershipStatus { + status + } + + pub fn test_all_types( + _env: Env, + plan: SubscriptionPlan, + action: AttendanceAction, + role: UserRole, + status: MembershipStatus, + ) -> Symbol { + let _subscription = plan; + let _attendance = action; + let _user_role = role; + let _membership = status; + Symbol::new(&_env, "success") + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_subscription_plan() { + let env = Env::default(); + let contract_id = env.register_contract(None, TestTypesContract); + let client = TestTypesContractClient::new(&env, &contract_id); + + assert_eq!( + client.test_subscription(&SubscriptionPlan::Monthly), + SubscriptionPlan::Monthly + ); + assert_eq!( + client.test_subscription(&SubscriptionPlan::Daily), + SubscriptionPlan::Daily + ); + } + + #[test] + fn test_attendance() { + let env = Env::default(); + let contract_id = env.register_contract(None, TestTypesContract); + let client = TestTypesContractClient::new(&env, &contract_id); + + assert_eq!( + client.test_attendance(&AttendanceAction::ClockIn), + AttendanceAction::ClockIn + ); + } + + #[test] + fn test_role() { + let env = Env::default(); + let contract_id = env.register_contract(None, TestTypesContract); + let client = TestTypesContractClient::new(&env, &contract_id); + + assert_eq!(client.test_role(&UserRole::Admin), UserRole::Admin); + } + + #[test] + fn test_status() { + let env = Env::default(); + let contract_id = env.register_contract(None, TestTypesContract); + let client = TestTypesContractClient::new(&env, &contract_id); + + assert_eq!( + client.test_status(&MembershipStatus::Active), + MembershipStatus::Active + ); + assert_eq!( + client.test_status(&MembershipStatus::Revoked), + MembershipStatus::Revoked + ); + } + + #[test] + fn test_all_types() { + let env = Env::default(); + let contract_id = env.register_contract(None, TestTypesContract); + let client = TestTypesContractClient::new(&env, &contract_id); + + let result = client.test_all_types( + &SubscriptionPlan::PayPerUse, + &AttendanceAction::ClockOut, + &UserRole::Staff, + &MembershipStatus::Active, + ); + + assert_eq!(result, Symbol::new(&env, "success")); + } +} \ No newline at end of file diff --git a/contracts/common_types/src/types.rs b/contracts/common_types/src/types.rs new file mode 100644 index 00000000..857e44b6 --- /dev/null +++ b/contracts/common_types/src/types.rs @@ -0,0 +1,147 @@ +//! Common types used across ManageHub contracts. +//! +//! This module provides shared enums and structs to ensure consistency +//! across all ManageHub smart contracts, including subscription management, +//! attendance tracking, and user role definitions. + +use soroban_sdk::contracttype; + +/// Subscription plan types available in ManageHub. +/// +/// Defines the different billing frequencies for subscriptions. +/// +/// # Variants +/// * `Daily` - Daily subscription billing +/// * `Monthly` - Monthly subscription billing +/// * `PayPerUse` - Pay-as-you-go billing model +#[contracttype] +#[derive(Clone, Debug, Eq, PartialEq)] +pub enum SubscriptionPlan { + /// Daily subscription plan + Daily, + /// Monthly subscription plan + Monthly, + /// Pay-per-use plan + PayPerUse, +} + +/// Attendance tracking actions. +/// +/// Represents the possible attendance actions that can be recorded +/// in the system. +/// +/// # Variants +/// * `ClockIn` - User clocks in (arrival) +/// * `ClockOut` - User clocks out (departure) +#[contracttype] +#[derive(Clone, Debug, Eq, PartialEq)] +pub enum AttendanceAction { + /// Clock in action (arrival) + ClockIn, + /// Clock out action (departure) + ClockOut, +} + +/// User role types in the ManageHub system. +/// +/// Defines the different permission levels and user types +/// within the platform. +/// +/// # Variants +/// * `Member` - Regular member with standard access +/// * `Staff` - Staff member with elevated privileges +/// * `Admin` - Administrator with full access +/// * `Visitor` - Temporary visitor with limited access +#[contracttype] +#[derive(Clone, Debug, Eq, PartialEq)] +pub enum UserRole { + /// Regular member + Member, + /// Staff member with elevated privileges + Staff, + /// Administrator with full access + Admin, + /// Temporary visitor with limited access + Visitor, +} + +/// Membership status types. +/// +/// Tracks the current state of a user's membership. +/// Includes all status variants used across ManageHub contracts. +/// +/// # Variants +/// * `Active` - Membership is currently active +/// * `Expired` - Membership has expired +/// * `Revoked` - Membership has been revoked +/// * `Inactive` - Membership is inactive +#[contracttype] +#[derive(Clone, Debug, Eq, PartialEq)] +pub enum MembershipStatus { + /// Active membership + Active, + /// Expired membership + Expired, + /// Revoked membership + Revoked, + /// Inactive membership + Inactive, +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_subscription_plan_variants() { + let daily = SubscriptionPlan::Daily; + let monthly = SubscriptionPlan::Monthly; + let pay_per_use = SubscriptionPlan::PayPerUse; + + assert_eq!(daily, SubscriptionPlan::Daily); + assert_eq!(monthly, SubscriptionPlan::Monthly); + assert_eq!(pay_per_use, SubscriptionPlan::PayPerUse); + } + + #[test] + fn test_attendance_action_variants() { + let clock_in = AttendanceAction::ClockIn; + let clock_out = AttendanceAction::ClockOut; + + assert_eq!(clock_in, AttendanceAction::ClockIn); + assert_eq!(clock_out, AttendanceAction::ClockOut); + } + + #[test] + fn test_user_role_variants() { + let member = UserRole::Member; + let staff = UserRole::Staff; + let admin = UserRole::Admin; + let visitor = UserRole::Visitor; + + assert_eq!(member, UserRole::Member); + assert_eq!(staff, UserRole::Staff); + assert_eq!(admin, UserRole::Admin); + assert_eq!(visitor, UserRole::Visitor); + } + + #[test] + fn test_membership_status_variants() { + let active = MembershipStatus::Active; + let expired = MembershipStatus::Expired; + let revoked = MembershipStatus::Revoked; + let inactive = MembershipStatus::Inactive; + + assert_eq!(active, MembershipStatus::Active); + assert_eq!(expired, MembershipStatus::Expired); + assert_eq!(revoked, MembershipStatus::Revoked); + assert_eq!(inactive, MembershipStatus::Inactive); + } + + #[test] + fn test_clone_derive() { + let plan = SubscriptionPlan::Monthly; + let cloned = plan.clone(); + assert_eq!(plan, cloned); + } +} \ No newline at end of file diff --git a/contracts/common_types/test_snapshots/test_contract/tests/test_all_types.1.json b/contracts/common_types/test_snapshots/test_contract/tests/test_all_types.1.json new file mode 100644 index 00000000..a90f00a8 --- /dev/null +++ b/contracts/common_types/test_snapshots/test_contract/tests/test_all_types.1.json @@ -0,0 +1,76 @@ +{ + "generators": { + "address": 1, + "nonce": 0 + }, + "auth": [ + [], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/contracts/common_types/test_snapshots/test_contract/tests/test_attendance.1.json b/contracts/common_types/test_snapshots/test_contract/tests/test_attendance.1.json new file mode 100644 index 00000000..a90f00a8 --- /dev/null +++ b/contracts/common_types/test_snapshots/test_contract/tests/test_attendance.1.json @@ -0,0 +1,76 @@ +{ + "generators": { + "address": 1, + "nonce": 0 + }, + "auth": [ + [], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/contracts/common_types/test_snapshots/test_contract/tests/test_role.1.json b/contracts/common_types/test_snapshots/test_contract/tests/test_role.1.json new file mode 100644 index 00000000..a90f00a8 --- /dev/null +++ b/contracts/common_types/test_snapshots/test_contract/tests/test_role.1.json @@ -0,0 +1,76 @@ +{ + "generators": { + "address": 1, + "nonce": 0 + }, + "auth": [ + [], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/contracts/common_types/test_snapshots/test_contract/tests/test_status.1.json b/contracts/common_types/test_snapshots/test_contract/tests/test_status.1.json new file mode 100644 index 00000000..90577a38 --- /dev/null +++ b/contracts/common_types/test_snapshots/test_contract/tests/test_status.1.json @@ -0,0 +1,77 @@ +{ + "generators": { + "address": 1, + "nonce": 0 + }, + "auth": [ + [], + [], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/contracts/common_types/test_snapshots/test_contract/tests/test_subscription_plan.1.json b/contracts/common_types/test_snapshots/test_contract/tests/test_subscription_plan.1.json new file mode 100644 index 00000000..90577a38 --- /dev/null +++ b/contracts/common_types/test_snapshots/test_contract/tests/test_subscription_plan.1.json @@ -0,0 +1,77 @@ +{ + "generators": { + "address": 1, + "nonce": 0 + }, + "auth": [ + [], + [], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/contracts/manage_hub/Cargo.toml b/contracts/manage_hub/Cargo.toml index 67053c9f..c056c221 100644 --- a/contracts/manage_hub/Cargo.toml +++ b/contracts/manage_hub/Cargo.toml @@ -10,6 +10,7 @@ doctest = false [dependencies] soroban-sdk = { workspace = true } +common_types = { workspace = true } [dev-dependencies] -soroban-sdk = { workspace = true, features = ["testutils"] } +soroban-sdk = { workspace = true, features = ["testutils"] } \ No newline at end of file diff --git a/contracts/manage_hub/src/types.rs b/contracts/manage_hub/src/types.rs index cb09473d..fb12a242 100644 --- a/contracts/manage_hub/src/types.rs +++ b/contracts/manage_hub/src/types.rs @@ -1,13 +1,7 @@ use soroban_sdk::{contracttype, Address, String}; -#[contracttype] -#[derive(Clone, Debug, PartialEq)] -pub enum MembershipStatus { - Active, - Expired, - Revoked, - Inactive, -} +// Re-export MembershipStatus from common_types for consistency +pub use common_types::MembershipStatus; #[contracttype] #[derive(Clone, Debug, PartialEq)] diff --git a/contracts/manage_hub/test_snapshots/test/test_admin_change.1.json b/contracts/manage_hub/test_snapshots/test/test_admin_change.1.json index 185571ef..222acd52 100644 --- a/contracts/manage_hub/test_snapshots/test/test_admin_change.1.json +++ b/contracts/manage_hub/test_snapshots/test/test_admin_change.1.json @@ -34,7 +34,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "92c274816de79fdb30f012cfc1c2ee127a1ed72fde6255c4a626c2f0472afac3" + "bytes": "12b8d576f92da500414b8209474e497f16cb07e6f6fd2538339b64a552efe975" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" @@ -78,7 +78,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "f679d4a8e6dc67c591678893fd505bd4ca8c98c5933001d56ff73164431abe3a" + "bytes": "4eb920195e2743e83682ade1370ba6caf9d564fb92c12848465bb52b451d49c6" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" @@ -114,7 +114,7 @@ "symbol": "Token" }, { - "bytes": "92c274816de79fdb30f012cfc1c2ee127a1ed72fde6255c4a626c2f0472afac3" + "bytes": "12b8d576f92da500414b8209474e497f16cb07e6f6fd2538339b64a552efe975" } ] }, @@ -134,7 +134,7 @@ "symbol": "Token" }, { - "bytes": "92c274816de79fdb30f012cfc1c2ee127a1ed72fde6255c4a626c2f0472afac3" + "bytes": "12b8d576f92da500414b8209474e497f16cb07e6f6fd2538339b64a552efe975" } ] }, @@ -154,7 +154,7 @@ "symbol": "id" }, "val": { - "bytes": "92c274816de79fdb30f012cfc1c2ee127a1ed72fde6255c4a626c2f0472afac3" + "bytes": "12b8d576f92da500414b8209474e497f16cb07e6f6fd2538339b64a552efe975" } }, { @@ -204,7 +204,7 @@ "symbol": "Token" }, { - "bytes": "f679d4a8e6dc67c591678893fd505bd4ca8c98c5933001d56ff73164431abe3a" + "bytes": "4eb920195e2743e83682ade1370ba6caf9d564fb92c12848465bb52b451d49c6" } ] }, @@ -224,7 +224,7 @@ "symbol": "Token" }, { - "bytes": "f679d4a8e6dc67c591678893fd505bd4ca8c98c5933001d56ff73164431abe3a" + "bytes": "4eb920195e2743e83682ade1370ba6caf9d564fb92c12848465bb52b451d49c6" } ] }, @@ -244,7 +244,7 @@ "symbol": "id" }, "val": { - "bytes": "f679d4a8e6dc67c591678893fd505bd4ca8c98c5933001d56ff73164431abe3a" + "bytes": "4eb920195e2743e83682ade1370ba6caf9d564fb92c12848465bb52b451d49c6" } }, { diff --git a/contracts/manage_hub/test_snapshots/test/test_edge_case_expiry_date_boundary.1.json b/contracts/manage_hub/test_snapshots/test/test_edge_case_expiry_date_boundary.1.json index d7781fd2..1d848d29 100644 --- a/contracts/manage_hub/test_snapshots/test/test_edge_case_expiry_date_boundary.1.json +++ b/contracts/manage_hub/test_snapshots/test/test_edge_case_expiry_date_boundary.1.json @@ -34,7 +34,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "63a1da5a279347ed2ad664fa7508bad1d496911c54d7d804e7bf9837c695a2c1" + "bytes": "cef5fa956969d230ddb4faa6b271f35deb2edae6ade3b86bebdb069f6047fca5" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" @@ -72,7 +72,7 @@ "symbol": "Token" }, { - "bytes": "63a1da5a279347ed2ad664fa7508bad1d496911c54d7d804e7bf9837c695a2c1" + "bytes": "cef5fa956969d230ddb4faa6b271f35deb2edae6ade3b86bebdb069f6047fca5" } ] }, @@ -92,7 +92,7 @@ "symbol": "Token" }, { - "bytes": "63a1da5a279347ed2ad664fa7508bad1d496911c54d7d804e7bf9837c695a2c1" + "bytes": "cef5fa956969d230ddb4faa6b271f35deb2edae6ade3b86bebdb069f6047fca5" } ] }, @@ -112,7 +112,7 @@ "symbol": "id" }, "val": { - "bytes": "63a1da5a279347ed2ad664fa7508bad1d496911c54d7d804e7bf9837c695a2c1" + "bytes": "cef5fa956969d230ddb4faa6b271f35deb2edae6ade3b86bebdb069f6047fca5" } }, { diff --git a/contracts/manage_hub/test_snapshots/test/test_get_token_expired.1.json b/contracts/manage_hub/test_snapshots/test/test_get_token_expired.1.json index 429a6d29..e54379d9 100644 --- a/contracts/manage_hub/test_snapshots/test/test_get_token_expired.1.json +++ b/contracts/manage_hub/test_snapshots/test/test_get_token_expired.1.json @@ -34,7 +34,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "1b091078f8f969724a18db6613b4a1454f770461ae04cdcc29e6807ed114fb5f" + "bytes": "2705568a0a702e30473efddebeff506aef8a84982b89c75e4f374daad725b96b" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" @@ -71,7 +71,7 @@ "symbol": "Token" }, { - "bytes": "1b091078f8f969724a18db6613b4a1454f770461ae04cdcc29e6807ed114fb5f" + "bytes": "2705568a0a702e30473efddebeff506aef8a84982b89c75e4f374daad725b96b" } ] }, @@ -91,7 +91,7 @@ "symbol": "Token" }, { - "bytes": "1b091078f8f969724a18db6613b4a1454f770461ae04cdcc29e6807ed114fb5f" + "bytes": "2705568a0a702e30473efddebeff506aef8a84982b89c75e4f374daad725b96b" } ] }, @@ -111,7 +111,7 @@ "symbol": "id" }, "val": { - "bytes": "1b091078f8f969724a18db6613b4a1454f770461ae04cdcc29e6807ed114fb5f" + "bytes": "2705568a0a702e30473efddebeff506aef8a84982b89c75e4f374daad725b96b" } }, { diff --git a/contracts/manage_hub/test_snapshots/test/test_get_token_inactive_but_not_expired.1.json b/contracts/manage_hub/test_snapshots/test/test_get_token_inactive_but_not_expired.1.json index 84137bd3..c6f09a4e 100644 --- a/contracts/manage_hub/test_snapshots/test/test_get_token_inactive_but_not_expired.1.json +++ b/contracts/manage_hub/test_snapshots/test/test_get_token_inactive_but_not_expired.1.json @@ -34,7 +34,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "826d1aaa9b40e756a54d948baac25b357cae754dff7bda4a318bcf961c5e41be" + "bytes": "bd624155f69caac8faac28b6be35aa70300c9d931b1e1a231b8ebe30cc5ad6ec" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" @@ -71,7 +71,7 @@ "symbol": "Token" }, { - "bytes": "826d1aaa9b40e756a54d948baac25b357cae754dff7bda4a318bcf961c5e41be" + "bytes": "bd624155f69caac8faac28b6be35aa70300c9d931b1e1a231b8ebe30cc5ad6ec" } ] }, @@ -91,7 +91,7 @@ "symbol": "Token" }, { - "bytes": "826d1aaa9b40e756a54d948baac25b357cae754dff7bda4a318bcf961c5e41be" + "bytes": "bd624155f69caac8faac28b6be35aa70300c9d931b1e1a231b8ebe30cc5ad6ec" } ] }, @@ -111,7 +111,7 @@ "symbol": "id" }, "val": { - "bytes": "826d1aaa9b40e756a54d948baac25b357cae754dff7bda4a318bcf961c5e41be" + "bytes": "bd624155f69caac8faac28b6be35aa70300c9d931b1e1a231b8ebe30cc5ad6ec" } }, { diff --git a/contracts/manage_hub/test_snapshots/test/test_get_token_success.1.json b/contracts/manage_hub/test_snapshots/test/test_get_token_success.1.json index a9f4e8b3..194d90f8 100644 --- a/contracts/manage_hub/test_snapshots/test/test_get_token_success.1.json +++ b/contracts/manage_hub/test_snapshots/test/test_get_token_success.1.json @@ -34,7 +34,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "88114a2f810c83f8dfcc370c53a418160ae10eb2aaf7e8c2b2fbeabe79e9d9d3" + "bytes": "a2f92708669543823ffbd2afac52e7e76a72a1b39e441ae69a4ba46c64b35d5c" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" @@ -71,7 +71,7 @@ "symbol": "Token" }, { - "bytes": "88114a2f810c83f8dfcc370c53a418160ae10eb2aaf7e8c2b2fbeabe79e9d9d3" + "bytes": "a2f92708669543823ffbd2afac52e7e76a72a1b39e441ae69a4ba46c64b35d5c" } ] }, @@ -91,7 +91,7 @@ "symbol": "Token" }, { - "bytes": "88114a2f810c83f8dfcc370c53a418160ae10eb2aaf7e8c2b2fbeabe79e9d9d3" + "bytes": "a2f92708669543823ffbd2afac52e7e76a72a1b39e441ae69a4ba46c64b35d5c" } ] }, @@ -111,7 +111,7 @@ "symbol": "id" }, "val": { - "bytes": "88114a2f810c83f8dfcc370c53a418160ae10eb2aaf7e8c2b2fbeabe79e9d9d3" + "bytes": "a2f92708669543823ffbd2afac52e7e76a72a1b39e441ae69a4ba46c64b35d5c" } }, { diff --git a/contracts/manage_hub/test_snapshots/test/test_issue_token_already_issued.1.json b/contracts/manage_hub/test_snapshots/test/test_issue_token_already_issued.1.json index 45c98b17..1edc15d7 100644 --- a/contracts/manage_hub/test_snapshots/test/test_issue_token_already_issued.1.json +++ b/contracts/manage_hub/test_snapshots/test/test_issue_token_already_issued.1.json @@ -34,7 +34,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "c0b9475d7412ce5d9ae1f3a105810be0a031be562cce53f586158c1b84571e20" + "bytes": "cdd69c3fd874411d158fc77a18795065d7f498cbbc879e2867b48fe03aede991" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" @@ -71,7 +71,7 @@ "symbol": "Token" }, { - "bytes": "c0b9475d7412ce5d9ae1f3a105810be0a031be562cce53f586158c1b84571e20" + "bytes": "cdd69c3fd874411d158fc77a18795065d7f498cbbc879e2867b48fe03aede991" } ] }, @@ -91,7 +91,7 @@ "symbol": "Token" }, { - "bytes": "c0b9475d7412ce5d9ae1f3a105810be0a031be562cce53f586158c1b84571e20" + "bytes": "cdd69c3fd874411d158fc77a18795065d7f498cbbc879e2867b48fe03aede991" } ] }, @@ -111,7 +111,7 @@ "symbol": "id" }, "val": { - "bytes": "c0b9475d7412ce5d9ae1f3a105810be0a031be562cce53f586158c1b84571e20" + "bytes": "cdd69c3fd874411d158fc77a18795065d7f498cbbc879e2867b48fe03aede991" } }, { diff --git a/contracts/manage_hub/test_snapshots/test/test_issue_token_success.1.json b/contracts/manage_hub/test_snapshots/test/test_issue_token_success.1.json index b275756f..ba884ffd 100644 --- a/contracts/manage_hub/test_snapshots/test/test_issue_token_success.1.json +++ b/contracts/manage_hub/test_snapshots/test/test_issue_token_success.1.json @@ -34,7 +34,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "4d572e3371e0e274dcd2abc8a6eada1b07ed85c1b622482b073a2e83f08ee824" + "bytes": "38583f41eacf5f6951e5d80f06c378b72e3b0d6f384805a92ef5d4f8c64c9e66" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" @@ -71,7 +71,7 @@ "symbol": "Token" }, { - "bytes": "4d572e3371e0e274dcd2abc8a6eada1b07ed85c1b622482b073a2e83f08ee824" + "bytes": "38583f41eacf5f6951e5d80f06c378b72e3b0d6f384805a92ef5d4f8c64c9e66" } ] }, @@ -91,7 +91,7 @@ "symbol": "Token" }, { - "bytes": "4d572e3371e0e274dcd2abc8a6eada1b07ed85c1b622482b073a2e83f08ee824" + "bytes": "38583f41eacf5f6951e5d80f06c378b72e3b0d6f384805a92ef5d4f8c64c9e66" } ] }, @@ -111,7 +111,7 @@ "symbol": "id" }, "val": { - "bytes": "4d572e3371e0e274dcd2abc8a6eada1b07ed85c1b622482b073a2e83f08ee824" + "bytes": "38583f41eacf5f6951e5d80f06c378b72e3b0d6f384805a92ef5d4f8c64c9e66" } }, { diff --git a/contracts/manage_hub/test_snapshots/test/test_log_event_and_retrieve.1.json b/contracts/manage_hub/test_snapshots/test/test_log_event_and_retrieve.1.json index cf277d84..23889256 100644 --- a/contracts/manage_hub/test_snapshots/test/test_log_event_and_retrieve.1.json +++ b/contracts/manage_hub/test_snapshots/test/test_log_event_and_retrieve.1.json @@ -31,7 +31,7 @@ "symbol": "EventLogsByEvent" }, { - "bytes": "c3dde3dc22a41c810be7ab13e3a2a107794d773617dd7da5e87ce89ec3619d2f" + "bytes": "e32f7c67760db15e668ed038d8a5e91df151e169ba08233dd3c1ce0268cc52c6" } ] }, @@ -51,7 +51,7 @@ "symbol": "EventLogsByEvent" }, { - "bytes": "c3dde3dc22a41c810be7ab13e3a2a107794d773617dd7da5e87ce89ec3619d2f" + "bytes": "e32f7c67760db15e668ed038d8a5e91df151e169ba08233dd3c1ce0268cc52c6" } ] }, @@ -82,7 +82,7 @@ "symbol": "event_id" }, "val": { - "bytes": "c3dde3dc22a41c810be7ab13e3a2a107794d773617dd7da5e87ce89ec3619d2f" + "bytes": "e32f7c67760db15e668ed038d8a5e91df151e169ba08233dd3c1ce0268cc52c6" } }, { @@ -127,7 +127,7 @@ "symbol": "event_id" }, "val": { - "bytes": "c3dde3dc22a41c810be7ab13e3a2a107794d773617dd7da5e87ce89ec3619d2f" + "bytes": "e32f7c67760db15e668ed038d8a5e91df151e169ba08233dd3c1ce0268cc52c6" } }, { @@ -218,7 +218,7 @@ "symbol": "event_id" }, "val": { - "bytes": "c3dde3dc22a41c810be7ab13e3a2a107794d773617dd7da5e87ce89ec3619d2f" + "bytes": "e32f7c67760db15e668ed038d8a5e91df151e169ba08233dd3c1ce0268cc52c6" } }, { @@ -309,7 +309,7 @@ "symbol": "event_id" }, "val": { - "bytes": "c3dde3dc22a41c810be7ab13e3a2a107794d773617dd7da5e87ce89ec3619d2f" + "bytes": "e32f7c67760db15e668ed038d8a5e91df151e169ba08233dd3c1ce0268cc52c6" } }, { diff --git a/contracts/manage_hub/test_snapshots/test/test_multiple_tokens_different_users.1.json b/contracts/manage_hub/test_snapshots/test/test_multiple_tokens_different_users.1.json index 3996ac0a..b7bf6f82 100644 --- a/contracts/manage_hub/test_snapshots/test/test_multiple_tokens_different_users.1.json +++ b/contracts/manage_hub/test_snapshots/test/test_multiple_tokens_different_users.1.json @@ -34,7 +34,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "51f19fdd629dc762a7f2933a58d48ab20affd71f68298cecd7521e45a920e488" + "bytes": "365f8f3cff7cabd09eb886e6b0dde4bddde122f4ec94aea603fe869ea8240aec" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" @@ -59,7 +59,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "6a047a1cdc1a15a4b1ff7c4ae158a41b0b637294f184000be5c57fa92234d615" + "bytes": "39f596500171e87b02d8610d7cc45ff6bd232e5e5abb287f8491ca7847760321" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" @@ -97,7 +97,7 @@ "symbol": "Token" }, { - "bytes": "51f19fdd629dc762a7f2933a58d48ab20affd71f68298cecd7521e45a920e488" + "bytes": "365f8f3cff7cabd09eb886e6b0dde4bddde122f4ec94aea603fe869ea8240aec" } ] }, @@ -117,7 +117,7 @@ "symbol": "Token" }, { - "bytes": "51f19fdd629dc762a7f2933a58d48ab20affd71f68298cecd7521e45a920e488" + "bytes": "365f8f3cff7cabd09eb886e6b0dde4bddde122f4ec94aea603fe869ea8240aec" } ] }, @@ -137,7 +137,7 @@ "symbol": "id" }, "val": { - "bytes": "51f19fdd629dc762a7f2933a58d48ab20affd71f68298cecd7521e45a920e488" + "bytes": "365f8f3cff7cabd09eb886e6b0dde4bddde122f4ec94aea603fe869ea8240aec" } }, { @@ -187,7 +187,7 @@ "symbol": "Token" }, { - "bytes": "6a047a1cdc1a15a4b1ff7c4ae158a41b0b637294f184000be5c57fa92234d615" + "bytes": "39f596500171e87b02d8610d7cc45ff6bd232e5e5abb287f8491ca7847760321" } ] }, @@ -207,7 +207,7 @@ "symbol": "Token" }, { - "bytes": "6a047a1cdc1a15a4b1ff7c4ae158a41b0b637294f184000be5c57fa92234d615" + "bytes": "39f596500171e87b02d8610d7cc45ff6bd232e5e5abb287f8491ca7847760321" } ] }, @@ -227,7 +227,7 @@ "symbol": "id" }, "val": { - "bytes": "6a047a1cdc1a15a4b1ff7c4ae158a41b0b637294f184000be5c57fa92234d615" + "bytes": "39f596500171e87b02d8610d7cc45ff6bd232e5e5abb287f8491ca7847760321" } }, { diff --git a/contracts/manage_hub/test_snapshots/test/test_transfer_token_inactive.1.json b/contracts/manage_hub/test_snapshots/test/test_transfer_token_inactive.1.json index 27cda40e..dc976c48 100644 --- a/contracts/manage_hub/test_snapshots/test/test_transfer_token_inactive.1.json +++ b/contracts/manage_hub/test_snapshots/test/test_transfer_token_inactive.1.json @@ -34,7 +34,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "d2686a3866fd8726f022af38c4ea21e9f470e3177ac69aa75dbfda3ead554096" + "bytes": "c5acc41c5e138530cd0ade02f6575a85cf875723df81c74e2f4ff3a2acf83cb6" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" @@ -71,7 +71,7 @@ "symbol": "Token" }, { - "bytes": "d2686a3866fd8726f022af38c4ea21e9f470e3177ac69aa75dbfda3ead554096" + "bytes": "c5acc41c5e138530cd0ade02f6575a85cf875723df81c74e2f4ff3a2acf83cb6" } ] }, @@ -91,7 +91,7 @@ "symbol": "Token" }, { - "bytes": "d2686a3866fd8726f022af38c4ea21e9f470e3177ac69aa75dbfda3ead554096" + "bytes": "c5acc41c5e138530cd0ade02f6575a85cf875723df81c74e2f4ff3a2acf83cb6" } ] }, @@ -111,7 +111,7 @@ "symbol": "id" }, "val": { - "bytes": "d2686a3866fd8726f022af38c4ea21e9f470e3177ac69aa75dbfda3ead554096" + "bytes": "c5acc41c5e138530cd0ade02f6575a85cf875723df81c74e2f4ff3a2acf83cb6" } }, { diff --git a/contracts/manage_hub/test_snapshots/test/test_transfer_token_success.1.json b/contracts/manage_hub/test_snapshots/test/test_transfer_token_success.1.json index b5505226..6a08954a 100644 --- a/contracts/manage_hub/test_snapshots/test/test_transfer_token_success.1.json +++ b/contracts/manage_hub/test_snapshots/test/test_transfer_token_success.1.json @@ -34,7 +34,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "33c0dde2606ceff28bfaed2dd9750c5a1607a9365796c14591b515fb0284d251" + "bytes": "52dc98c5459ff3290363dc73235e6528a0f5290c9b20f8f82ad00335a6c24905" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" @@ -59,7 +59,7 @@ "function_name": "transfer_token", "args": [ { - "bytes": "33c0dde2606ceff28bfaed2dd9750c5a1607a9365796c14591b515fb0284d251" + "bytes": "52dc98c5459ff3290363dc73235e6528a0f5290c9b20f8f82ad00335a6c24905" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" @@ -93,7 +93,7 @@ "symbol": "Token" }, { - "bytes": "33c0dde2606ceff28bfaed2dd9750c5a1607a9365796c14591b515fb0284d251" + "bytes": "52dc98c5459ff3290363dc73235e6528a0f5290c9b20f8f82ad00335a6c24905" } ] }, @@ -113,7 +113,7 @@ "symbol": "Token" }, { - "bytes": "33c0dde2606ceff28bfaed2dd9750c5a1607a9365796c14591b515fb0284d251" + "bytes": "52dc98c5459ff3290363dc73235e6528a0f5290c9b20f8f82ad00335a6c24905" } ] }, @@ -133,7 +133,7 @@ "symbol": "id" }, "val": { - "bytes": "33c0dde2606ceff28bfaed2dd9750c5a1607a9365796c14591b515fb0284d251" + "bytes": "52dc98c5459ff3290363dc73235e6528a0f5290c9b20f8f82ad00335a6c24905" } }, { diff --git a/contracts/membership_token/test_snapshots/test/test_allowance.1.json b/contracts/membership_token/test_snapshots/test/test_allowance.1.json new file mode 100644 index 00000000..01751e57 --- /dev/null +++ b/contracts/membership_token/test_snapshots/test/test_allowance.1.json @@ -0,0 +1,76 @@ +{ + "generators": { + "address": 3, + "nonce": 0 + }, + "auth": [ + [], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/contracts/membership_token/test_snapshots/test/test_approve.1.json b/contracts/membership_token/test_snapshots/test/test_approve.1.json new file mode 100644 index 00000000..db096b08 --- /dev/null +++ b/contracts/membership_token/test_snapshots/test/test_approve.1.json @@ -0,0 +1,159 @@ +{ + "generators": { + "address": 3, + "nonce": 0 + }, + "auth": [ + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "function_name": "approve", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "i128": { + "hi": 0, + "lo": 1000 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "Allowance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/contracts/membership_token/test_snapshots/test/test_balance_of.1.json b/contracts/membership_token/test_snapshots/test/test_balance_of.1.json new file mode 100644 index 00000000..56557491 --- /dev/null +++ b/contracts/membership_token/test_snapshots/test/test_balance_of.1.json @@ -0,0 +1,76 @@ +{ + "generators": { + "address": 2, + "nonce": 0 + }, + "auth": [ + [], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/contracts/membership_token/test_snapshots/test/test_initialize.1.json b/contracts/membership_token/test_snapshots/test/test_initialize.1.json new file mode 100644 index 00000000..7b1ef0e9 --- /dev/null +++ b/contracts/membership_token/test_snapshots/test/test_initialize.1.json @@ -0,0 +1,138 @@ +{ + "generators": { + "address": 2, + "nonce": 0 + }, + "auth": [ + [], + [], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "AccessControl" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4" + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenInfo" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimals" + }, + "val": { + "u32": 8 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "ManageHub Token" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "MHT" + } + }, + { + "key": { + "symbol": "total_supply" + }, + "val": { + "i128": { + "hi": 0, + "lo": 0 + } + } + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/contracts/membership_token/test_snapshots/test/test_mint_with_access_control.1.json b/contracts/membership_token/test_snapshots/test/test_mint_with_access_control.1.json new file mode 100644 index 00000000..3d745ef8 --- /dev/null +++ b/contracts/membership_token/test_snapshots/test/test_mint_with_access_control.1.json @@ -0,0 +1,251 @@ +{ + "generators": { + "address": 4, + "nonce": 0 + }, + "auth": [ + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "i128": { + "hi": 0, + "lo": 1000 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "AccessControl" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenInfo" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimals" + }, + "val": { + "u32": 8 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "ManageHub Token" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "MHT" + } + }, + { + "key": { + "symbol": "total_supply" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/contracts/membership_token/test_snapshots/test/test_transfer.1.json b/contracts/membership_token/test_snapshots/test/test_transfer.1.json new file mode 100644 index 00000000..289e6f97 --- /dev/null +++ b/contracts/membership_token/test_snapshots/test/test_transfer.1.json @@ -0,0 +1,333 @@ +{ + "generators": { + "address": 5, + "nonce": 0 + }, + "auth": [ + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "i128": { + "hi": 0, + "lo": 1000 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 500 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "AccessControl" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 500 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 500 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenInfo" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimals" + }, + "val": { + "u32": 8 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "ManageHub Token" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "MHT" + } + }, + { + "key": { + "symbol": "total_supply" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/contracts/membership_token/test_snapshots/test/test_transfer_from.1.json b/contracts/membership_token/test_snapshots/test/test_transfer_from.1.json new file mode 100644 index 00000000..a7daa2f2 --- /dev/null +++ b/contracts/membership_token/test_snapshots/test/test_transfer_from.1.json @@ -0,0 +1,416 @@ +{ + "generators": { + "address": 6, + "nonce": 0 + }, + "auth": [ + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "i128": { + "hi": 0, + "lo": 1000 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "function_name": "approve", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 1000 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "function_name": "transfer_from", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "i128": { + "hi": 0, + "lo": 500 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "AccessControl" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Allowance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 500 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 500 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 500 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenInfo" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimals" + }, + "val": { + "u32": 8 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "ManageHub Token" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "MHT" + } + }, + { + "key": { + "symbol": "total_supply" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/contracts/membership_token/test_snapshots/test/test_transfer_from_with_allowance.1.json b/contracts/membership_token/test_snapshots/test/test_transfer_from_with_allowance.1.json new file mode 100644 index 00000000..32f0eb54 --- /dev/null +++ b/contracts/membership_token/test_snapshots/test/test_transfer_from_with_allowance.1.json @@ -0,0 +1,416 @@ +{ + "generators": { + "address": 6, + "nonce": 0 + }, + "auth": [ + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "i128": { + "hi": 0, + "lo": 1000 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "function_name": "approve", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 500 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "function_name": "transfer_from", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + }, + { + "i128": { + "hi": 0, + "lo": 300 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "AccessControl" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Allowance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 200 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 700 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 300 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenInfo" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimals" + }, + "val": { + "u32": 8 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "ManageHub Token" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "MHT" + } + }, + { + "key": { + "symbol": "total_supply" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4", + "key": { + "ledger_key_nonce": { + "nonce": 1033654523790656264 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file diff --git a/contracts/membership_token/test_snapshots/test/test_transfer_owner_only.1.json b/contracts/membership_token/test_snapshots/test/test_transfer_owner_only.1.json new file mode 100644 index 00000000..4497647f --- /dev/null +++ b/contracts/membership_token/test_snapshots/test/test_transfer_owner_only.1.json @@ -0,0 +1,334 @@ +{ + "generators": { + "address": 6, + "nonce": 0 + }, + "auth": [ + [], + [], + [], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "function_name": "mint", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "i128": { + "hi": 0, + "lo": 1000 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [ + [ + "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + { + "function": { + "contract_fn": { + "contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "function_name": "transfer", + "args": [ + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + }, + { + "i128": { + "hi": 0, + "lo": 500 + } + } + ] + } + }, + "sub_invocations": [] + } + ] + ], + [], + [], + [] + ], + "ledger": { + "protocol_version": 22, + "sequence_number": 0, + "timestamp": 0, + "network_id": "0000000000000000000000000000000000000000000000000000000000000000", + "base_reserve": 0, + "min_persistent_entry_ttl": 4096, + "min_temp_entry_ttl": 16, + "max_entry_ttl": 6312000, + "ledger_entries": [ + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": null + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": "ledger_key_contract_instance", + "durability": "persistent" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCT4", + "key": "ledger_key_contract_instance", + "durability": "persistent", + "val": { + "contract_instance": { + "executable": { + "wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "storage": [ + { + "key": { + "vec": [ + { + "symbol": "AccessControl" + } + ] + }, + "val": { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM" + } + }, + { + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 500 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "Balance" + }, + { + "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" + } + ] + }, + "val": { + "i128": { + "hi": 0, + "lo": 500 + } + } + }, + { + "key": { + "vec": [ + { + "symbol": "TokenInfo" + } + ] + }, + "val": { + "map": [ + { + "key": { + "symbol": "decimals" + }, + "val": { + "u32": 8 + } + }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "ManageHub Token" + } + }, + { + "key": { + "symbol": "symbol" + }, + "val": { + "string": "MHT" + } + }, + { + "key": { + "symbol": "total_supply" + }, + "val": { + "i128": { + "hi": 0, + "lo": 1000 + } + } + } + ] + } + } + ] + } + } + } + }, + "ext": "v0" + }, + 4095 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M", + "key": { + "ledger_key_nonce": { + "nonce": 5541220902715666415 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_data": { + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_data": { + "ext": "v0", + "contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4", + "key": { + "ledger_key_nonce": { + "nonce": 801925984706572462 + } + }, + "durability": "temporary", + "val": "void" + } + }, + "ext": "v0" + }, + 6311999 + ] + ], + [ + { + "contract_code": { + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + [ + { + "last_modified_ledger_seq": 0, + "data": { + "contract_code": { + "ext": "v0", + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "code": "" + } + }, + "ext": "v0" + }, + 4095 + ] + ] + ] + }, + "events": [] +} \ No newline at end of file From 1f6df6c1f91779c15e5534136e6bcd3354d72bad Mon Sep 17 00:00:00 2001 From: Sendi John Date: Thu, 2 Oct 2025 22:53:35 +0100 Subject: [PATCH 2/3] fix(common_types): replace deprecated register_contract with register and fix clippy lint issues --- contracts/common_types/src/lib.rs | 2 +- contracts/common_types/src/test_contract.rs | 15 ++++++++------- contracts/common_types/src/types.rs | 2 +- .../test_snapshots/test/test_admin_change.1.json | 16 ++++++++-------- .../test_edge_case_expiry_date_boundary.1.json | 8 ++++---- .../test/test_get_token_expired.1.json | 8 ++++---- ...est_get_token_inactive_but_not_expired.1.json | 8 ++++---- .../test/test_get_token_success.1.json | 8 ++++---- .../test/test_issue_token_already_issued.1.json | 8 ++++---- .../test/test_issue_token_success.1.json | 8 ++++---- .../test/test_log_event_and_retrieve.1.json | 12 ++++++------ .../test_multiple_tokens_different_users.1.json | 16 ++++++++-------- .../test/test_transfer_token_inactive.1.json | 8 ++++---- .../test/test_transfer_token_success.1.json | 10 +++++----- 14 files changed, 65 insertions(+), 64 deletions(-) diff --git a/contracts/common_types/src/lib.rs b/contracts/common_types/src/lib.rs index d1dc3e76..093e02f2 100644 --- a/contracts/common_types/src/lib.rs +++ b/contracts/common_types/src/lib.rs @@ -11,4 +11,4 @@ mod types; pub use types::{AttendanceAction, MembershipStatus, SubscriptionPlan, UserRole}; #[cfg(test)] -mod test_contract; \ No newline at end of file +mod test_contract; diff --git a/contracts/common_types/src/test_contract.rs b/contracts/common_types/src/test_contract.rs index 859c4c24..190ce268 100644 --- a/contracts/common_types/src/test_contract.rs +++ b/contracts/common_types/src/test_contract.rs @@ -3,7 +3,7 @@ //! Test contract to verify common types functionality use crate::{AttendanceAction, MembershipStatus, SubscriptionPlan, UserRole}; -use soroban_sdk::{contract, contractimpl, testutils::Address as _, Address, Env, Symbol}; +use soroban_sdk::{contract, contractimpl, Env, Symbol}; #[contract] pub struct TestTypesContract; @@ -48,7 +48,7 @@ mod tests { #[test] fn test_subscription_plan() { let env = Env::default(); - let contract_id = env.register_contract(None, TestTypesContract); + let contract_id = env.register(TestTypesContract, ()); let client = TestTypesContractClient::new(&env, &contract_id); assert_eq!( @@ -64,7 +64,7 @@ mod tests { #[test] fn test_attendance() { let env = Env::default(); - let contract_id = env.register_contract(None, TestTypesContract); + let contract_id = env.register(TestTypesContract, ()); let client = TestTypesContractClient::new(&env, &contract_id); assert_eq!( @@ -76,7 +76,7 @@ mod tests { #[test] fn test_role() { let env = Env::default(); - let contract_id = env.register_contract(None, TestTypesContract); + let contract_id = env.register(TestTypesContract, ()); let client = TestTypesContractClient::new(&env, &contract_id); assert_eq!(client.test_role(&UserRole::Admin), UserRole::Admin); @@ -85,7 +85,7 @@ mod tests { #[test] fn test_status() { let env = Env::default(); - let contract_id = env.register_contract(None, TestTypesContract); + let contract_id = env.register(TestTypesContract, ()); let client = TestTypesContractClient::new(&env, &contract_id); assert_eq!( @@ -101,7 +101,8 @@ mod tests { #[test] fn test_all_types() { let env = Env::default(); - let contract_id = env.register_contract(None, TestTypesContract); + let contract_id = env.register(TestTypesContract, ()); + let client = TestTypesContractClient::new(&env, &contract_id); let result = client.test_all_types( @@ -113,4 +114,4 @@ mod tests { assert_eq!(result, Symbol::new(&env, "success")); } -} \ No newline at end of file +} diff --git a/contracts/common_types/src/types.rs b/contracts/common_types/src/types.rs index 857e44b6..a1de9528 100644 --- a/contracts/common_types/src/types.rs +++ b/contracts/common_types/src/types.rs @@ -144,4 +144,4 @@ mod tests { let cloned = plan.clone(); assert_eq!(plan, cloned); } -} \ No newline at end of file +} diff --git a/contracts/manage_hub/test_snapshots/test/test_admin_change.1.json b/contracts/manage_hub/test_snapshots/test/test_admin_change.1.json index 222acd52..ebb4a0e6 100644 --- a/contracts/manage_hub/test_snapshots/test/test_admin_change.1.json +++ b/contracts/manage_hub/test_snapshots/test/test_admin_change.1.json @@ -34,7 +34,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "12b8d576f92da500414b8209474e497f16cb07e6f6fd2538339b64a552efe975" + "bytes": "11b0e5ccb2a8143995a12b256f5eb11972baab7af421af0a49add5395280ebbb" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" @@ -78,7 +78,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "4eb920195e2743e83682ade1370ba6caf9d564fb92c12848465bb52b451d49c6" + "bytes": "4743fd89dc68f2d80a24c7a2548aaa7bd1822ddf95d958f27c48ee57465cb053" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" @@ -114,7 +114,7 @@ "symbol": "Token" }, { - "bytes": "12b8d576f92da500414b8209474e497f16cb07e6f6fd2538339b64a552efe975" + "bytes": "11b0e5ccb2a8143995a12b256f5eb11972baab7af421af0a49add5395280ebbb" } ] }, @@ -134,7 +134,7 @@ "symbol": "Token" }, { - "bytes": "12b8d576f92da500414b8209474e497f16cb07e6f6fd2538339b64a552efe975" + "bytes": "11b0e5ccb2a8143995a12b256f5eb11972baab7af421af0a49add5395280ebbb" } ] }, @@ -154,7 +154,7 @@ "symbol": "id" }, "val": { - "bytes": "12b8d576f92da500414b8209474e497f16cb07e6f6fd2538339b64a552efe975" + "bytes": "11b0e5ccb2a8143995a12b256f5eb11972baab7af421af0a49add5395280ebbb" } }, { @@ -204,7 +204,7 @@ "symbol": "Token" }, { - "bytes": "4eb920195e2743e83682ade1370ba6caf9d564fb92c12848465bb52b451d49c6" + "bytes": "4743fd89dc68f2d80a24c7a2548aaa7bd1822ddf95d958f27c48ee57465cb053" } ] }, @@ -224,7 +224,7 @@ "symbol": "Token" }, { - "bytes": "4eb920195e2743e83682ade1370ba6caf9d564fb92c12848465bb52b451d49c6" + "bytes": "4743fd89dc68f2d80a24c7a2548aaa7bd1822ddf95d958f27c48ee57465cb053" } ] }, @@ -244,7 +244,7 @@ "symbol": "id" }, "val": { - "bytes": "4eb920195e2743e83682ade1370ba6caf9d564fb92c12848465bb52b451d49c6" + "bytes": "4743fd89dc68f2d80a24c7a2548aaa7bd1822ddf95d958f27c48ee57465cb053" } }, { diff --git a/contracts/manage_hub/test_snapshots/test/test_edge_case_expiry_date_boundary.1.json b/contracts/manage_hub/test_snapshots/test/test_edge_case_expiry_date_boundary.1.json index 1d848d29..38d6ba4e 100644 --- a/contracts/manage_hub/test_snapshots/test/test_edge_case_expiry_date_boundary.1.json +++ b/contracts/manage_hub/test_snapshots/test/test_edge_case_expiry_date_boundary.1.json @@ -34,7 +34,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "cef5fa956969d230ddb4faa6b271f35deb2edae6ade3b86bebdb069f6047fca5" + "bytes": "170ba5aa8b48b06d26c554fe9a116d2d87d379348b0fe8ca4e74bd6994eef507" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" @@ -72,7 +72,7 @@ "symbol": "Token" }, { - "bytes": "cef5fa956969d230ddb4faa6b271f35deb2edae6ade3b86bebdb069f6047fca5" + "bytes": "170ba5aa8b48b06d26c554fe9a116d2d87d379348b0fe8ca4e74bd6994eef507" } ] }, @@ -92,7 +92,7 @@ "symbol": "Token" }, { - "bytes": "cef5fa956969d230ddb4faa6b271f35deb2edae6ade3b86bebdb069f6047fca5" + "bytes": "170ba5aa8b48b06d26c554fe9a116d2d87d379348b0fe8ca4e74bd6994eef507" } ] }, @@ -112,7 +112,7 @@ "symbol": "id" }, "val": { - "bytes": "cef5fa956969d230ddb4faa6b271f35deb2edae6ade3b86bebdb069f6047fca5" + "bytes": "170ba5aa8b48b06d26c554fe9a116d2d87d379348b0fe8ca4e74bd6994eef507" } }, { diff --git a/contracts/manage_hub/test_snapshots/test/test_get_token_expired.1.json b/contracts/manage_hub/test_snapshots/test/test_get_token_expired.1.json index e54379d9..ad072d52 100644 --- a/contracts/manage_hub/test_snapshots/test/test_get_token_expired.1.json +++ b/contracts/manage_hub/test_snapshots/test/test_get_token_expired.1.json @@ -34,7 +34,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "2705568a0a702e30473efddebeff506aef8a84982b89c75e4f374daad725b96b" + "bytes": "05213fc2e67f7e684ae598f458c18ae00c099e63f317141c7b204541e75c3e49" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" @@ -71,7 +71,7 @@ "symbol": "Token" }, { - "bytes": "2705568a0a702e30473efddebeff506aef8a84982b89c75e4f374daad725b96b" + "bytes": "05213fc2e67f7e684ae598f458c18ae00c099e63f317141c7b204541e75c3e49" } ] }, @@ -91,7 +91,7 @@ "symbol": "Token" }, { - "bytes": "2705568a0a702e30473efddebeff506aef8a84982b89c75e4f374daad725b96b" + "bytes": "05213fc2e67f7e684ae598f458c18ae00c099e63f317141c7b204541e75c3e49" } ] }, @@ -111,7 +111,7 @@ "symbol": "id" }, "val": { - "bytes": "2705568a0a702e30473efddebeff506aef8a84982b89c75e4f374daad725b96b" + "bytes": "05213fc2e67f7e684ae598f458c18ae00c099e63f317141c7b204541e75c3e49" } }, { diff --git a/contracts/manage_hub/test_snapshots/test/test_get_token_inactive_but_not_expired.1.json b/contracts/manage_hub/test_snapshots/test/test_get_token_inactive_but_not_expired.1.json index c6f09a4e..7b8fe374 100644 --- a/contracts/manage_hub/test_snapshots/test/test_get_token_inactive_but_not_expired.1.json +++ b/contracts/manage_hub/test_snapshots/test/test_get_token_inactive_but_not_expired.1.json @@ -34,7 +34,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "bd624155f69caac8faac28b6be35aa70300c9d931b1e1a231b8ebe30cc5ad6ec" + "bytes": "ca737117706b1a4441a05d1221202abfea780df15ebc6e2aa7bc15c424b7fee8" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" @@ -71,7 +71,7 @@ "symbol": "Token" }, { - "bytes": "bd624155f69caac8faac28b6be35aa70300c9d931b1e1a231b8ebe30cc5ad6ec" + "bytes": "ca737117706b1a4441a05d1221202abfea780df15ebc6e2aa7bc15c424b7fee8" } ] }, @@ -91,7 +91,7 @@ "symbol": "Token" }, { - "bytes": "bd624155f69caac8faac28b6be35aa70300c9d931b1e1a231b8ebe30cc5ad6ec" + "bytes": "ca737117706b1a4441a05d1221202abfea780df15ebc6e2aa7bc15c424b7fee8" } ] }, @@ -111,7 +111,7 @@ "symbol": "id" }, "val": { - "bytes": "bd624155f69caac8faac28b6be35aa70300c9d931b1e1a231b8ebe30cc5ad6ec" + "bytes": "ca737117706b1a4441a05d1221202abfea780df15ebc6e2aa7bc15c424b7fee8" } }, { diff --git a/contracts/manage_hub/test_snapshots/test/test_get_token_success.1.json b/contracts/manage_hub/test_snapshots/test/test_get_token_success.1.json index 194d90f8..0230f968 100644 --- a/contracts/manage_hub/test_snapshots/test/test_get_token_success.1.json +++ b/contracts/manage_hub/test_snapshots/test/test_get_token_success.1.json @@ -34,7 +34,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "a2f92708669543823ffbd2afac52e7e76a72a1b39e441ae69a4ba46c64b35d5c" + "bytes": "72fecc9ca63f2f5846df936b55880d536155621456d82d9a1c3da47fd81097c4" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" @@ -71,7 +71,7 @@ "symbol": "Token" }, { - "bytes": "a2f92708669543823ffbd2afac52e7e76a72a1b39e441ae69a4ba46c64b35d5c" + "bytes": "72fecc9ca63f2f5846df936b55880d536155621456d82d9a1c3da47fd81097c4" } ] }, @@ -91,7 +91,7 @@ "symbol": "Token" }, { - "bytes": "a2f92708669543823ffbd2afac52e7e76a72a1b39e441ae69a4ba46c64b35d5c" + "bytes": "72fecc9ca63f2f5846df936b55880d536155621456d82d9a1c3da47fd81097c4" } ] }, @@ -111,7 +111,7 @@ "symbol": "id" }, "val": { - "bytes": "a2f92708669543823ffbd2afac52e7e76a72a1b39e441ae69a4ba46c64b35d5c" + "bytes": "72fecc9ca63f2f5846df936b55880d536155621456d82d9a1c3da47fd81097c4" } }, { diff --git a/contracts/manage_hub/test_snapshots/test/test_issue_token_already_issued.1.json b/contracts/manage_hub/test_snapshots/test/test_issue_token_already_issued.1.json index 1edc15d7..acd12d03 100644 --- a/contracts/manage_hub/test_snapshots/test/test_issue_token_already_issued.1.json +++ b/contracts/manage_hub/test_snapshots/test/test_issue_token_already_issued.1.json @@ -34,7 +34,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "cdd69c3fd874411d158fc77a18795065d7f498cbbc879e2867b48fe03aede991" + "bytes": "a5b2d00e993f5317b8188f506f241af385016d448d9e1a5b84affcf1873e9918" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" @@ -71,7 +71,7 @@ "symbol": "Token" }, { - "bytes": "cdd69c3fd874411d158fc77a18795065d7f498cbbc879e2867b48fe03aede991" + "bytes": "a5b2d00e993f5317b8188f506f241af385016d448d9e1a5b84affcf1873e9918" } ] }, @@ -91,7 +91,7 @@ "symbol": "Token" }, { - "bytes": "cdd69c3fd874411d158fc77a18795065d7f498cbbc879e2867b48fe03aede991" + "bytes": "a5b2d00e993f5317b8188f506f241af385016d448d9e1a5b84affcf1873e9918" } ] }, @@ -111,7 +111,7 @@ "symbol": "id" }, "val": { - "bytes": "cdd69c3fd874411d158fc77a18795065d7f498cbbc879e2867b48fe03aede991" + "bytes": "a5b2d00e993f5317b8188f506f241af385016d448d9e1a5b84affcf1873e9918" } }, { diff --git a/contracts/manage_hub/test_snapshots/test/test_issue_token_success.1.json b/contracts/manage_hub/test_snapshots/test/test_issue_token_success.1.json index ba884ffd..a1046171 100644 --- a/contracts/manage_hub/test_snapshots/test/test_issue_token_success.1.json +++ b/contracts/manage_hub/test_snapshots/test/test_issue_token_success.1.json @@ -34,7 +34,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "38583f41eacf5f6951e5d80f06c378b72e3b0d6f384805a92ef5d4f8c64c9e66" + "bytes": "7af854b18c2e85e4222c8129fb1a3655924be2f94851fc274a303f8a3e38df46" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" @@ -71,7 +71,7 @@ "symbol": "Token" }, { - "bytes": "38583f41eacf5f6951e5d80f06c378b72e3b0d6f384805a92ef5d4f8c64c9e66" + "bytes": "7af854b18c2e85e4222c8129fb1a3655924be2f94851fc274a303f8a3e38df46" } ] }, @@ -91,7 +91,7 @@ "symbol": "Token" }, { - "bytes": "38583f41eacf5f6951e5d80f06c378b72e3b0d6f384805a92ef5d4f8c64c9e66" + "bytes": "7af854b18c2e85e4222c8129fb1a3655924be2f94851fc274a303f8a3e38df46" } ] }, @@ -111,7 +111,7 @@ "symbol": "id" }, "val": { - "bytes": "38583f41eacf5f6951e5d80f06c378b72e3b0d6f384805a92ef5d4f8c64c9e66" + "bytes": "7af854b18c2e85e4222c8129fb1a3655924be2f94851fc274a303f8a3e38df46" } }, { diff --git a/contracts/manage_hub/test_snapshots/test/test_log_event_and_retrieve.1.json b/contracts/manage_hub/test_snapshots/test/test_log_event_and_retrieve.1.json index 23889256..2f2e453c 100644 --- a/contracts/manage_hub/test_snapshots/test/test_log_event_and_retrieve.1.json +++ b/contracts/manage_hub/test_snapshots/test/test_log_event_and_retrieve.1.json @@ -31,7 +31,7 @@ "symbol": "EventLogsByEvent" }, { - "bytes": "e32f7c67760db15e668ed038d8a5e91df151e169ba08233dd3c1ce0268cc52c6" + "bytes": "17a86fac080dfa3d245a483e457c449470871198dd6aef51a8ab0ab4b724458d" } ] }, @@ -51,7 +51,7 @@ "symbol": "EventLogsByEvent" }, { - "bytes": "e32f7c67760db15e668ed038d8a5e91df151e169ba08233dd3c1ce0268cc52c6" + "bytes": "17a86fac080dfa3d245a483e457c449470871198dd6aef51a8ab0ab4b724458d" } ] }, @@ -82,7 +82,7 @@ "symbol": "event_id" }, "val": { - "bytes": "e32f7c67760db15e668ed038d8a5e91df151e169ba08233dd3c1ce0268cc52c6" + "bytes": "17a86fac080dfa3d245a483e457c449470871198dd6aef51a8ab0ab4b724458d" } }, { @@ -127,7 +127,7 @@ "symbol": "event_id" }, "val": { - "bytes": "e32f7c67760db15e668ed038d8a5e91df151e169ba08233dd3c1ce0268cc52c6" + "bytes": "17a86fac080dfa3d245a483e457c449470871198dd6aef51a8ab0ab4b724458d" } }, { @@ -218,7 +218,7 @@ "symbol": "event_id" }, "val": { - "bytes": "e32f7c67760db15e668ed038d8a5e91df151e169ba08233dd3c1ce0268cc52c6" + "bytes": "17a86fac080dfa3d245a483e457c449470871198dd6aef51a8ab0ab4b724458d" } }, { @@ -309,7 +309,7 @@ "symbol": "event_id" }, "val": { - "bytes": "e32f7c67760db15e668ed038d8a5e91df151e169ba08233dd3c1ce0268cc52c6" + "bytes": "17a86fac080dfa3d245a483e457c449470871198dd6aef51a8ab0ab4b724458d" } }, { diff --git a/contracts/manage_hub/test_snapshots/test/test_multiple_tokens_different_users.1.json b/contracts/manage_hub/test_snapshots/test/test_multiple_tokens_different_users.1.json index b7bf6f82..5a53b396 100644 --- a/contracts/manage_hub/test_snapshots/test/test_multiple_tokens_different_users.1.json +++ b/contracts/manage_hub/test_snapshots/test/test_multiple_tokens_different_users.1.json @@ -34,7 +34,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "365f8f3cff7cabd09eb886e6b0dde4bddde122f4ec94aea603fe869ea8240aec" + "bytes": "5c5da51555f10de50aef06b64ca6538e4a4c79787400d5ba66020b1e7450e1b4" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" @@ -59,7 +59,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "39f596500171e87b02d8610d7cc45ff6bd232e5e5abb287f8491ca7847760321" + "bytes": "7f392927e6bf5b20d6eadf3c64938c4676ea93129919a3296b0c382ee4d199a0" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" @@ -97,7 +97,7 @@ "symbol": "Token" }, { - "bytes": "365f8f3cff7cabd09eb886e6b0dde4bddde122f4ec94aea603fe869ea8240aec" + "bytes": "5c5da51555f10de50aef06b64ca6538e4a4c79787400d5ba66020b1e7450e1b4" } ] }, @@ -117,7 +117,7 @@ "symbol": "Token" }, { - "bytes": "365f8f3cff7cabd09eb886e6b0dde4bddde122f4ec94aea603fe869ea8240aec" + "bytes": "5c5da51555f10de50aef06b64ca6538e4a4c79787400d5ba66020b1e7450e1b4" } ] }, @@ -137,7 +137,7 @@ "symbol": "id" }, "val": { - "bytes": "365f8f3cff7cabd09eb886e6b0dde4bddde122f4ec94aea603fe869ea8240aec" + "bytes": "5c5da51555f10de50aef06b64ca6538e4a4c79787400d5ba66020b1e7450e1b4" } }, { @@ -187,7 +187,7 @@ "symbol": "Token" }, { - "bytes": "39f596500171e87b02d8610d7cc45ff6bd232e5e5abb287f8491ca7847760321" + "bytes": "7f392927e6bf5b20d6eadf3c64938c4676ea93129919a3296b0c382ee4d199a0" } ] }, @@ -207,7 +207,7 @@ "symbol": "Token" }, { - "bytes": "39f596500171e87b02d8610d7cc45ff6bd232e5e5abb287f8491ca7847760321" + "bytes": "7f392927e6bf5b20d6eadf3c64938c4676ea93129919a3296b0c382ee4d199a0" } ] }, @@ -227,7 +227,7 @@ "symbol": "id" }, "val": { - "bytes": "39f596500171e87b02d8610d7cc45ff6bd232e5e5abb287f8491ca7847760321" + "bytes": "7f392927e6bf5b20d6eadf3c64938c4676ea93129919a3296b0c382ee4d199a0" } }, { diff --git a/contracts/manage_hub/test_snapshots/test/test_transfer_token_inactive.1.json b/contracts/manage_hub/test_snapshots/test/test_transfer_token_inactive.1.json index dc976c48..135472cf 100644 --- a/contracts/manage_hub/test_snapshots/test/test_transfer_token_inactive.1.json +++ b/contracts/manage_hub/test_snapshots/test/test_transfer_token_inactive.1.json @@ -34,7 +34,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "c5acc41c5e138530cd0ade02f6575a85cf875723df81c74e2f4ff3a2acf83cb6" + "bytes": "abb30c1a648550f9d17a35c65ddb5e2ef326f11d0f53c77a79da382b1c1d1c56" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" @@ -71,7 +71,7 @@ "symbol": "Token" }, { - "bytes": "c5acc41c5e138530cd0ade02f6575a85cf875723df81c74e2f4ff3a2acf83cb6" + "bytes": "abb30c1a648550f9d17a35c65ddb5e2ef326f11d0f53c77a79da382b1c1d1c56" } ] }, @@ -91,7 +91,7 @@ "symbol": "Token" }, { - "bytes": "c5acc41c5e138530cd0ade02f6575a85cf875723df81c74e2f4ff3a2acf83cb6" + "bytes": "abb30c1a648550f9d17a35c65ddb5e2ef326f11d0f53c77a79da382b1c1d1c56" } ] }, @@ -111,7 +111,7 @@ "symbol": "id" }, "val": { - "bytes": "c5acc41c5e138530cd0ade02f6575a85cf875723df81c74e2f4ff3a2acf83cb6" + "bytes": "abb30c1a648550f9d17a35c65ddb5e2ef326f11d0f53c77a79da382b1c1d1c56" } }, { diff --git a/contracts/manage_hub/test_snapshots/test/test_transfer_token_success.1.json b/contracts/manage_hub/test_snapshots/test/test_transfer_token_success.1.json index 6a08954a..e38246f7 100644 --- a/contracts/manage_hub/test_snapshots/test/test_transfer_token_success.1.json +++ b/contracts/manage_hub/test_snapshots/test/test_transfer_token_success.1.json @@ -34,7 +34,7 @@ "function_name": "issue_token", "args": [ { - "bytes": "52dc98c5459ff3290363dc73235e6528a0f5290c9b20f8f82ad00335a6c24905" + "bytes": "b41ff10894192a58a8264eb94e7c98f328484e35dcbc25b9e3b323d04231444b" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHK3M" @@ -59,7 +59,7 @@ "function_name": "transfer_token", "args": [ { - "bytes": "52dc98c5459ff3290363dc73235e6528a0f5290c9b20f8f82ad00335a6c24905" + "bytes": "b41ff10894192a58a8264eb94e7c98f328484e35dcbc25b9e3b323d04231444b" }, { "address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4" @@ -93,7 +93,7 @@ "symbol": "Token" }, { - "bytes": "52dc98c5459ff3290363dc73235e6528a0f5290c9b20f8f82ad00335a6c24905" + "bytes": "b41ff10894192a58a8264eb94e7c98f328484e35dcbc25b9e3b323d04231444b" } ] }, @@ -113,7 +113,7 @@ "symbol": "Token" }, { - "bytes": "52dc98c5459ff3290363dc73235e6528a0f5290c9b20f8f82ad00335a6c24905" + "bytes": "b41ff10894192a58a8264eb94e7c98f328484e35dcbc25b9e3b323d04231444b" } ] }, @@ -133,7 +133,7 @@ "symbol": "id" }, "val": { - "bytes": "52dc98c5459ff3290363dc73235e6528a0f5290c9b20f8f82ad00335a6c24905" + "bytes": "b41ff10894192a58a8264eb94e7c98f328484e35dcbc25b9e3b323d04231444b" } }, { From 379b8bbdaff0c17477bcc6bcb034432535e3290a Mon Sep 17 00:00:00 2001 From: Sendi John Date: Thu, 2 Oct 2025 22:57:38 +0100 Subject: [PATCH 3/3] fix(common_types): remove duplicated #[cfg(test)] attribute in test_contract.rs --- contracts/common_types/src/test_contract.rs | 2 -- 1 file changed, 2 deletions(-) diff --git a/contracts/common_types/src/test_contract.rs b/contracts/common_types/src/test_contract.rs index 190ce268..963ffd42 100644 --- a/contracts/common_types/src/test_contract.rs +++ b/contracts/common_types/src/test_contract.rs @@ -1,5 +1,3 @@ -#![cfg(test)] - //! Test contract to verify common types functionality use crate::{AttendanceAction, MembershipStatus, SubscriptionPlan, UserRole};