From 93982bfa7ac9b7c4587809e966e88f5e755f7e3a Mon Sep 17 00:00:00 2001 From: Chibey-max Date: Sun, 29 Mar 2026 00:05:13 +0100 Subject: [PATCH] feat(contract): standardize event name trimming (#326) - Add `name` field to `EventRegistrationArgs` and `EventInfo` structs - Implement `trim_string` helper to strip leading/trailing ASCII whitespace - Apply trimming to event name in `register_event` before persisting - Add `name` field to local `EventInfo` copy in ticket_payment contract - Add `test_register_event_name_trimming` test with intentionally messy names - Update all existing test fixtures to include the new `name` field --- contract/contracts/event_registry/src/lib.rs | 47 ++++++++ contract/contracts/event_registry/src/test.rs | 108 ++++++++++++++++++ .../contracts/event_registry/src/test_e2e.rs | 1 + .../contracts/event_registry/src/types.rs | 4 + .../test/test_complete_event_lifecycle.1.json | 16 +++ .../test/test_event_inactive_error.1.json | 16 +++ .../test/test_get_event_payment_info.1.json | 16 +++ ..._increment_inventory_inactive_event.1.json | 16 +++ ...ement_inventory_max_supply_exceeded.1.json | 16 +++ ...ent_inventory_persists_across_reads.1.json | 16 +++ .../test_increment_inventory_success.1.json | 16 +++ ...ncrement_inventory_unlimited_supply.1.json | 16 +++ .../test/test_multiple_tiers_inventory.1.json | 16 +++ .../test/test_organizer_events_list.1.json | 32 ++++++ ...test_register_duplicate_event_fails.1.json | 16 +++ .../test/test_register_event_success.1.json | 16 +++ ...est_register_event_unlimited_supply.1.json | 16 +++ .../test/test_storage_operations.1.json | 16 +++ .../test/test_tier_not_found.1.json | 16 +++ .../test/test_tier_supply_exceeded.1.json | 16 +++ .../test/test_update_event_status.1.json | 16 +++ .../test_update_metadata_invalid_cid.1.json | 16 +++ .../test/test_update_metadata_success.1.json | 16 +++ .../contracts/ticket_payment/src/contract.rs | 1 + contract/contracts/ticket_payment/src/test.rs | 23 ++++ .../contracts/ticket_payment/src/test_e2e.rs | 4 + 26 files changed, 508 insertions(+) diff --git a/contract/contracts/event_registry/src/lib.rs b/contract/contracts/event_registry/src/lib.rs index c6b8ce6..f45338c 100644 --- a/contract/contracts/event_registry/src/lib.rs +++ b/contract/contracts/event_registry/src/lib.rs @@ -277,8 +277,12 @@ impl EventRegistry { let platform_fee_percent = storage::get_platform_fee(&env); + // Sanitize: trim leading/trailing whitespace from the event name + let trimmed_name = trim_string(&env, &args.name); + let event_info = EventInfo { event_id: args.event_id.clone(), + name: trimmed_name, organizer_address: args.organizer_address.clone(), payment_address: args.payment_address.clone(), platform_fee_percent, @@ -1733,6 +1737,49 @@ fn is_zero_address(env: &Env, address: &Address) -> bool { address.to_string() == zero_account } +/// Trims leading and trailing ASCII whitespace from a Soroban `String`. +fn trim_string(env: &Env, s: &String) -> String { + let len = s.len(); + if len == 0 { + return s.clone(); + } + + // Copy string bytes into a stack buffer for manipulation + let mut buf = [0u8; 256]; + let len_usize = len as usize; + // If name exceeds buffer, return as-is (shouldn't happen in practice) + if len_usize > buf.len() { + return s.clone(); + } + s.copy_into_slice(&mut buf[..len_usize]); + + let mut start = 0usize; + while start < len_usize { + let b = buf[start]; + if b == b' ' || b == b'\t' || b == b'\n' || b == b'\r' { + start += 1; + } else { + break; + } + } + + let mut end = len_usize; + while end > start { + let b = buf[end - 1]; + if b == b' ' || b == b'\t' || b == b'\n' || b == b'\r' { + end -= 1; + } else { + break; + } + } + + if start == 0 && end == len_usize { + return s.clone(); + } + + String::from_bytes(env, &buf[start..end]) +} + fn validate_metadata_cid(env: &Env, cid: &String) -> Result<(), EventRegistryError> { let cid_len = cid.len(); if !(MIN_METADATA_CID_LEN..=MAX_METADATA_CID_LEN).contains(&cid_len) { diff --git a/contract/contracts/event_registry/src/test.rs b/contract/contracts/event_registry/src/test.rs index dd4520a..8101124 100644 --- a/contract/contracts/event_registry/src/test.rs +++ b/contract/contracts/event_registry/src/test.rs @@ -29,6 +29,7 @@ fn test_register_and_get_series() { let tiers = Map::new(&env); client.register_event(&EventRegistrationArgs { event_id: event_id1.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: Address::generate(&env), metadata_cid: metadata_cid.clone(), @@ -45,6 +46,7 @@ fn test_register_and_get_series() { }); client.register_event(&EventRegistrationArgs { event_id: event_id2.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: Address::generate(&env), metadata_cid: metadata_cid.clone(), @@ -96,6 +98,7 @@ fn test_issue_and_use_series_pass() { let tiers = Map::new(&env); client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: Address::generate(&env), metadata_cid: metadata_cid.clone(), @@ -259,6 +262,7 @@ fn test_storage_operations() { let tiers = Map::new(&env); let event_info = EventInfo { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: payment_address.clone(), platform_fee_percent: 5, @@ -346,6 +350,7 @@ fn test_get_total_tickets_sold_uses_event_current_supply() { client.store_event(&EventInfo { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address, platform_fee_percent: 500, @@ -387,6 +392,7 @@ fn test_organizer_events_list() { let event_1 = EventInfo { event_id: String::from_str(&env, "e1"), + name: String::from_str(&env, "Test Event 1"), organizer_address: organizer.clone(), payment_address: payment_address.clone(), platform_fee_percent: 5, @@ -416,6 +422,7 @@ fn test_organizer_events_list() { let event_2 = EventInfo { event_id: String::from_str(&env, "e2"), + name: String::from_str(&env, "Test Event 2"), organizer_address: organizer.clone(), payment_address: payment_address.clone(), platform_fee_percent: 5, @@ -491,6 +498,7 @@ fn test_register_event_success() { client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr.clone(), metadata_cid, @@ -518,6 +526,52 @@ fn test_register_event_success() { assert_eq!(event_info.grace_period_end, 0); } +#[test] +fn test_register_event_name_trimming() { + let env = Env::default(); + let contract_id = env.register(EventRegistry, ()); + let client = EventRegistryClient::new(&env, &contract_id); + + let admin = Address::generate(&env); + let organizer = Address::generate(&env); + let payment_addr = Address::generate(&env); + let platform_wallet = Address::generate(&env); + + env.mock_all_auths(); + let usdc_token = Address::generate(&env); + client.initialize(&admin, &platform_wallet, &500, &usdc_token); + + let event_id = String::from_str(&env, "event_trim_test"); + let metadata_cid = String::from_str( + &env, + "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi", + ); + + // Register with intentionally messy name (leading/trailing whitespace) + let messy_name = String::from_str(&env, " Summer Fest 2025 "); + client.register_event(&EventRegistrationArgs { + event_id: event_id.clone(), + name: messy_name, + organizer_address: organizer, + payment_address: payment_addr, + metadata_cid, + max_supply: 100, + milestone_plan: None, + tiers: Map::new(&env), + refund_deadline: 0, + restocking_fee: 0, + resale_cap_bps: None, + min_sales_target: None, + target_deadline: None, + banner_cid: None, + tags: None, + }); + + let stored = client.get_event(&event_id).unwrap(); + // Name should be trimmed of leading and trailing whitespace + assert_eq!(stored.name, String::from_str(&env, "Summer Fest 2025")); +} + #[test] fn test_register_event_invalid_target_deadline() { let env = Env::default(); @@ -561,6 +615,7 @@ fn test_register_event_invalid_target_deadline() { // Past deadline should fail let result = client.try_register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: payment_addr.clone(), metadata_cid: metadata_cid.clone(), @@ -580,6 +635,7 @@ fn test_register_event_invalid_target_deadline() { // Present deadline should fail let result = client.try_register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: payment_addr.clone(), metadata_cid: metadata_cid.clone(), @@ -599,6 +655,7 @@ fn test_register_event_invalid_target_deadline() { // Future deadline should succeed client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -631,6 +688,7 @@ fn test_register_event_rejects_contract_as_organizer() { let result = client.try_register_event(&EventRegistrationArgs { event_id: String::from_str(&env, "event_bad_org_contract"), + name: String::from_str(&env, "Test Event"), organizer_address: client.address.clone(), payment_address: Address::generate(&env), metadata_cid: String::from_str( @@ -670,6 +728,7 @@ fn test_register_event_rejects_zero_organizer_address() { let result = client.try_register_event(&EventRegistrationArgs { event_id: String::from_str(&env, "event_bad_org_zero"), + name: String::from_str(&env, "Test Event"), organizer_address: zero_organizer, payment_address: Address::generate(&env), metadata_cid: String::from_str( @@ -714,6 +773,7 @@ fn test_register_event_unlimited_supply() { let tiers = Map::new(&env); client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -757,6 +817,7 @@ fn test_register_duplicate_event_fails() { let tiers = Map::new(&env); client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: payment_addr.clone(), metadata_cid: metadata_cid.clone(), @@ -774,6 +835,7 @@ fn test_register_duplicate_event_fails() { let result = client.try_register_event(&EventRegistrationArgs { event_id, + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -810,6 +872,7 @@ fn test_register_event_invalid_metadata_cid_formats() { let short_cid = String::from_str(&env, "bafy"); let short_result = client.try_register_event(&EventRegistrationArgs { event_id: String::from_str(&env, "event_short_cid"), + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: payment_addr.clone(), metadata_cid: short_cid, @@ -835,6 +898,7 @@ fn test_register_event_invalid_metadata_cid_formats() { ); let wrong_prefix_result = client.try_register_event(&EventRegistrationArgs { event_id: String::from_str(&env, "event_wrong_prefix_cid"), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid: wrong_prefix_cid, @@ -860,6 +924,7 @@ fn test_register_event_invalid_metadata_cid_formats() { ); let oversized_result = client.try_register_event(&EventRegistrationArgs { event_id: String::from_str(&env, "event_oversized_cid"), + name: String::from_str(&env, "Test Event"), organizer_address: Address::generate(&env), payment_address: Address::generate(&env), metadata_cid: oversized_cid, @@ -903,6 +968,7 @@ fn test_get_event_payment_info() { let tiers = Map::new(&env); client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr.clone(), metadata_cid, @@ -946,6 +1012,7 @@ fn test_update_event_status() { let tiers = Map::new(&env); client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -988,6 +1055,7 @@ fn test_event_inactive_error() { let tiers = Map::new(&env); client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -1031,6 +1099,7 @@ fn test_complete_event_lifecycle() { let tiers = Map::new(&env); client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: payment_addr.clone(), metadata_cid, @@ -1086,6 +1155,7 @@ fn test_update_metadata_success() { let tiers = Map::new(&env); client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -1134,6 +1204,7 @@ fn test_update_metadata_invalid_cid() { let tiers = Map::new(&env); client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -1228,6 +1299,7 @@ fn test_set_custom_event_fee() { client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: Address::generate(&env), metadata_cid, @@ -1283,6 +1355,7 @@ fn test_set_custom_event_fee_exceeds_max() { client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: Address::generate(&env), metadata_cid, @@ -1352,6 +1425,7 @@ fn test_increment_inventory_success() { client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -1423,6 +1497,7 @@ fn test_increment_inventory_max_supply_exceeded() { client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -1489,6 +1564,7 @@ fn test_increment_inventory_bulk_exceeds_max_supply() { client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -1555,6 +1631,7 @@ fn test_increment_inventory_unlimited_supply() { client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -1639,6 +1716,7 @@ fn test_increment_inventory_inactive_event() { ); client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -1698,6 +1776,7 @@ fn test_increment_inventory_persists_across_reads() { ); client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -1774,6 +1853,7 @@ fn test_tier_limit_exceeds_max_supply() { let result = client.try_register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -1833,6 +1913,7 @@ fn test_tier_not_found() { client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -1893,6 +1974,7 @@ fn test_tier_supply_exceeded() { client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -1969,6 +2051,7 @@ fn test_multiple_tiers_inventory() { client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -2034,6 +2117,7 @@ fn test_increment_inventory_supply_overflow() { // Store event with current_supply near i128::MAX to trigger overflow client.store_event(&EventInfo { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: payment_addr, platform_fee_percent: 500, @@ -2100,6 +2184,7 @@ fn test_increment_inventory_tier_sold_overflow() { client.store_event(&EventInfo { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: payment_addr, platform_fee_percent: 500, @@ -2156,6 +2241,7 @@ fn test_update_event_status_noop_skips_event() { let tiers = Map::new(&env); client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -2232,6 +2318,7 @@ fn test_blacklist_prevents_event_registration() { let result = client.try_register_event(&EventRegistrationArgs { event_id, + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -2276,6 +2363,7 @@ fn test_update_metadata_noop_skips_event() { let tiers = Map::new(&env); client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: payment_addr, metadata_cid: metadata_cid.clone(), @@ -2359,6 +2447,7 @@ fn test_blacklist_suspends_active_events() { let tiers = Map::new(&env); client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: payment_addr, metadata_cid: metadata_cid.clone(), @@ -2484,6 +2573,7 @@ fn test_register_event_with_resale_cap() { client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -2527,6 +2617,7 @@ fn test_register_event_resale_cap_zero() { client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -2570,6 +2661,7 @@ fn test_register_event_resale_cap_none() { client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -2613,6 +2705,7 @@ fn test_postpone_event_sets_grace_period() { client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -2663,6 +2756,7 @@ fn test_register_event_resale_cap_invalid() { let result = client.try_register_event(&EventRegistrationArgs { event_id, + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -2702,6 +2796,7 @@ fn test_cancel_event_success() { let tiers = Map::new(&env); client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: payment_addr, metadata_cid, @@ -2741,6 +2836,7 @@ fn test_archive_event_rejects_active_event() { let event_id = String::from_str(&env, "archive_active"); client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid: String::from_str( @@ -2784,6 +2880,7 @@ fn test_cancel_already_cancelled_fails() { let tiers = Map::new(&env); client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: Address::generate(&env), metadata_cid, @@ -2825,6 +2922,7 @@ fn test_update_status_on_cancelled_event_fails() { let tiers = Map::new(&env); client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: Address::generate(&env), metadata_cid, @@ -3468,6 +3566,7 @@ fn test_register_event_with_banner_cid() { client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -3517,6 +3616,7 @@ fn test_goal_met_event_fires_only_once() { client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: Address::generate(&env), payment_address: Address::generate(&env), metadata_cid, @@ -3573,6 +3673,7 @@ fn test_register_event_without_banner_cid() { client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, metadata_cid, @@ -3639,6 +3740,7 @@ fn test_series_pass_issued_at_timestamp() { client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: Address::generate(&env), metadata_cid, @@ -3712,6 +3814,7 @@ fn base_args( ) -> EventRegistrationArgs { EventRegistrationArgs { event_id: String::from_str(env, "evt_milestone"), + name: String::from_str(env, "Test Event"), organizer_address: organizer.clone(), payment_address: Address::generate(env), metadata_cid: String::from_str( @@ -4048,6 +4151,7 @@ fn test_cancelled_status_guard() { let tiers = Map::new(&env); client.register_event(&EventRegistrationArgs { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: Address::generate(&env), metadata_cid: String::from_str( @@ -4180,6 +4284,7 @@ fn test_register_event_restocking_fee_exceeds_tier_price_fails() { // restocking_fee (6_000_000) > tier price (5_000_000) — must fail let result = client.try_register_event(&EventRegistrationArgs { event_id: String::from_str(&env, "evt_restocking_guard"), + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: Address::generate(&env), metadata_cid: String::from_str( @@ -4234,6 +4339,7 @@ fn test_register_event_restocking_fee_equal_to_tier_price_succeeds() { // restocking_fee == tier price — should succeed let result = client.try_register_event(&EventRegistrationArgs { event_id: String::from_str(&env, "evt_restocking_equal"), + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: Address::generate(&env), metadata_cid: String::from_str( @@ -4284,6 +4390,7 @@ fn test_register_event_restocking_fee_zero_always_valid() { let result = client.try_register_event(&EventRegistrationArgs { event_id: String::from_str(&env, "evt_restocking_zero"), + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: Address::generate(&env), metadata_cid: String::from_str( @@ -4334,6 +4441,7 @@ fn setup_tags_test(env: &Env) -> (EventRegistryClient<'static>, Address, Address fn tags_base_args(env: &Env, event_id: &str, organizer: &Address) -> EventRegistrationArgs { EventRegistrationArgs { event_id: String::from_str(env, event_id), + name: String::from_str(env, "Test Event"), organizer_address: organizer.clone(), payment_address: organizer.clone(), metadata_cid: String::from_str( diff --git a/contract/contracts/event_registry/src/test_e2e.rs b/contract/contracts/event_registry/src/test_e2e.rs index 90fadea..0ac3489 100644 --- a/contract/contracts/event_registry/src/test_e2e.rs +++ b/contract/contracts/event_registry/src/test_e2e.rs @@ -25,6 +25,7 @@ fn make_event_args( ) -> EventRegistrationArgs { EventRegistrationArgs { event_id: String::from_str(env, event_id), + name: String::from_str(env, "Test Event"), organizer_address: organizer.clone(), payment_address: organizer.clone(), metadata_cid: String::from_str( diff --git a/contract/contracts/event_registry/src/types.rs b/contract/contracts/event_registry/src/types.rs index dd48415..6962fff 100644 --- a/contract/contracts/event_registry/src/types.rs +++ b/contract/contracts/event_registry/src/types.rs @@ -90,6 +90,8 @@ pub enum EventStatus { pub struct EventInfo { /// Unique identifier for the event pub event_id: String, + /// Human-readable name for the event (trimmed of leading/trailing whitespace) + pub name: String, /// The wallet address of the event organizer pub organizer_address: Address, /// The address where payments for this event should be routed @@ -158,6 +160,8 @@ pub struct PaymentInfo { #[derive(Clone, Debug, Eq, PartialEq)] pub struct EventRegistrationArgs { pub event_id: String, + /// Human-readable name for the event. Leading/trailing whitespace will be trimmed on registration. + pub name: String, pub organizer_address: Address, pub payment_address: Address, pub metadata_cid: String, diff --git a/contract/contracts/event_registry/test_snapshots/test/test_complete_event_lifecycle.1.json b/contract/contracts/event_registry/test_snapshots/test/test_complete_event_lifecycle.1.json index ca26677..aee9f6d 100644 --- a/contract/contracts/event_registry/test_snapshots/test/test_complete_event_lifecycle.1.json +++ b/contract/contracts/event_registry/test_snapshots/test/test_complete_event_lifecycle.1.json @@ -60,6 +60,14 @@ }, "val": "void" }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" @@ -338,6 +346,14 @@ "i128": "0" } }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" diff --git a/contract/contracts/event_registry/test_snapshots/test/test_event_inactive_error.1.json b/contract/contracts/event_registry/test_snapshots/test/test_event_inactive_error.1.json index 0d8b8fa..ec0ae1c 100644 --- a/contract/contracts/event_registry/test_snapshots/test/test_event_inactive_error.1.json +++ b/contract/contracts/event_registry/test_snapshots/test/test_event_inactive_error.1.json @@ -60,6 +60,14 @@ }, "val": "void" }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" @@ -335,6 +343,14 @@ "i128": "0" } }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" diff --git a/contract/contracts/event_registry/test_snapshots/test/test_get_event_payment_info.1.json b/contract/contracts/event_registry/test_snapshots/test/test_get_event_payment_info.1.json index 68d5752..2972b85 100644 --- a/contract/contracts/event_registry/test_snapshots/test/test_get_event_payment_info.1.json +++ b/contract/contracts/event_registry/test_snapshots/test/test_get_event_payment_info.1.json @@ -60,6 +60,14 @@ }, "val": "void" }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" @@ -313,6 +321,14 @@ "i128": "0" } }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" diff --git a/contract/contracts/event_registry/test_snapshots/test/test_increment_inventory_inactive_event.1.json b/contract/contracts/event_registry/test_snapshots/test/test_increment_inventory_inactive_event.1.json index daefdec..b211e94 100644 --- a/contract/contracts/event_registry/test_snapshots/test/test_increment_inventory_inactive_event.1.json +++ b/contract/contracts/event_registry/test_snapshots/test/test_increment_inventory_inactive_event.1.json @@ -79,6 +79,14 @@ }, "val": "void" }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" @@ -412,6 +420,14 @@ "i128": "0" } }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" diff --git a/contract/contracts/event_registry/test_snapshots/test/test_increment_inventory_max_supply_exceeded.1.json b/contract/contracts/event_registry/test_snapshots/test/test_increment_inventory_max_supply_exceeded.1.json index d6733fe..c3867c0 100644 --- a/contract/contracts/event_registry/test_snapshots/test/test_increment_inventory_max_supply_exceeded.1.json +++ b/contract/contracts/event_registry/test_snapshots/test/test_increment_inventory_max_supply_exceeded.1.json @@ -79,6 +79,14 @@ }, "val": "void" }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" @@ -441,6 +449,14 @@ "i128": "0" } }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" diff --git a/contract/contracts/event_registry/test_snapshots/test/test_increment_inventory_persists_across_reads.1.json b/contract/contracts/event_registry/test_snapshots/test/test_increment_inventory_persists_across_reads.1.json index 774b301..3593703 100644 --- a/contract/contracts/event_registry/test_snapshots/test/test_increment_inventory_persists_across_reads.1.json +++ b/contract/contracts/event_registry/test_snapshots/test/test_increment_inventory_persists_across_reads.1.json @@ -79,6 +79,14 @@ }, "val": "void" }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" @@ -516,6 +524,14 @@ "i128": "0" } }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" diff --git a/contract/contracts/event_registry/test_snapshots/test/test_increment_inventory_success.1.json b/contract/contracts/event_registry/test_snapshots/test/test_increment_inventory_success.1.json index 262796b..298024c 100644 --- a/contract/contracts/event_registry/test_snapshots/test/test_increment_inventory_success.1.json +++ b/contract/contracts/event_registry/test_snapshots/test/test_increment_inventory_success.1.json @@ -79,6 +79,14 @@ }, "val": "void" }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" @@ -441,6 +449,14 @@ "i128": "0" } }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" diff --git a/contract/contracts/event_registry/test_snapshots/test/test_increment_inventory_unlimited_supply.1.json b/contract/contracts/event_registry/test_snapshots/test/test_increment_inventory_unlimited_supply.1.json index 4c6ce8a..d852d64 100644 --- a/contract/contracts/event_registry/test_snapshots/test/test_increment_inventory_unlimited_supply.1.json +++ b/contract/contracts/event_registry/test_snapshots/test/test_increment_inventory_unlimited_supply.1.json @@ -79,6 +79,14 @@ }, "val": "void" }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" @@ -640,6 +648,14 @@ "i128": "0" } }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" diff --git a/contract/contracts/event_registry/test_snapshots/test/test_multiple_tiers_inventory.1.json b/contract/contracts/event_registry/test_snapshots/test/test_multiple_tiers_inventory.1.json index 51c5de4..0aa41bc 100644 --- a/contract/contracts/event_registry/test_snapshots/test/test_multiple_tiers_inventory.1.json +++ b/contract/contracts/event_registry/test_snapshots/test/test_multiple_tiers_inventory.1.json @@ -79,6 +79,14 @@ }, "val": "void" }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" @@ -522,6 +530,14 @@ "i128": "0" } }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" diff --git a/contract/contracts/event_registry/test_snapshots/test/test_organizer_events_list.1.json b/contract/contracts/event_registry/test_snapshots/test/test_organizer_events_list.1.json index 38c81c5..1bff3fc 100644 --- a/contract/contracts/event_registry/test_snapshots/test/test_organizer_events_list.1.json +++ b/contract/contracts/event_registry/test_snapshots/test/test_organizer_events_list.1.json @@ -115,6 +115,14 @@ "i128": "0" } }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event 1" + } + }, { "key": { "symbol": "organizer_address" @@ -313,6 +321,14 @@ "i128": "0" } }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event 2" + } + }, { "key": { "symbol": "organizer_address" @@ -615,6 +631,14 @@ "i128": "0" } }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event 1" + } + }, { "key": { "symbol": "organizer_address" @@ -839,6 +863,14 @@ "i128": "0" } }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event 2" + } + }, { "key": { "symbol": "organizer_address" diff --git a/contract/contracts/event_registry/test_snapshots/test/test_register_duplicate_event_fails.1.json b/contract/contracts/event_registry/test_snapshots/test/test_register_duplicate_event_fails.1.json index 2a1bd98..cd1ad39 100644 --- a/contract/contracts/event_registry/test_snapshots/test/test_register_duplicate_event_fails.1.json +++ b/contract/contracts/event_registry/test_snapshots/test/test_register_duplicate_event_fails.1.json @@ -60,6 +60,14 @@ }, "val": "void" }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" @@ -313,6 +321,14 @@ "i128": "0" } }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" diff --git a/contract/contracts/event_registry/test_snapshots/test/test_register_event_success.1.json b/contract/contracts/event_registry/test_snapshots/test/test_register_event_success.1.json index 7bb7031..cb10c2b 100644 --- a/contract/contracts/event_registry/test_snapshots/test/test_register_event_success.1.json +++ b/contract/contracts/event_registry/test_snapshots/test/test_register_event_success.1.json @@ -60,6 +60,14 @@ }, "val": "void" }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" @@ -372,6 +380,14 @@ "i128": "0" } }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" diff --git a/contract/contracts/event_registry/test_snapshots/test/test_register_event_unlimited_supply.1.json b/contract/contracts/event_registry/test_snapshots/test/test_register_event_unlimited_supply.1.json index 6c6d09c..b874db7 100644 --- a/contract/contracts/event_registry/test_snapshots/test/test_register_event_unlimited_supply.1.json +++ b/contract/contracts/event_registry/test_snapshots/test/test_register_event_unlimited_supply.1.json @@ -60,6 +60,14 @@ }, "val": "void" }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" @@ -313,6 +321,14 @@ "i128": "0" } }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" diff --git a/contract/contracts/event_registry/test_snapshots/test/test_storage_operations.1.json b/contract/contracts/event_registry/test_snapshots/test/test_storage_operations.1.json index 8bab84f..9454ff9 100644 --- a/contract/contracts/event_registry/test_snapshots/test/test_storage_operations.1.json +++ b/contract/contracts/event_registry/test_snapshots/test/test_storage_operations.1.json @@ -116,6 +116,14 @@ "i128": "0" } }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" @@ -394,6 +402,14 @@ "i128": "0" } }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" diff --git a/contract/contracts/event_registry/test_snapshots/test/test_tier_not_found.1.json b/contract/contracts/event_registry/test_snapshots/test/test_tier_not_found.1.json index f84a2df..4b73887 100644 --- a/contract/contracts/event_registry/test_snapshots/test/test_tier_not_found.1.json +++ b/contract/contracts/event_registry/test_snapshots/test/test_tier_not_found.1.json @@ -79,6 +79,14 @@ }, "val": "void" }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" @@ -390,6 +398,14 @@ "i128": "0" } }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" diff --git a/contract/contracts/event_registry/test_snapshots/test/test_tier_supply_exceeded.1.json b/contract/contracts/event_registry/test_snapshots/test/test_tier_supply_exceeded.1.json index 250cb15..d2cba8f 100644 --- a/contract/contracts/event_registry/test_snapshots/test/test_tier_supply_exceeded.1.json +++ b/contract/contracts/event_registry/test_snapshots/test/test_tier_supply_exceeded.1.json @@ -79,6 +79,14 @@ }, "val": "void" }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" @@ -465,6 +473,14 @@ "i128": "0" } }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" diff --git a/contract/contracts/event_registry/test_snapshots/test/test_update_event_status.1.json b/contract/contracts/event_registry/test_snapshots/test/test_update_event_status.1.json index 0d8b8fa..ec0ae1c 100644 --- a/contract/contracts/event_registry/test_snapshots/test/test_update_event_status.1.json +++ b/contract/contracts/event_registry/test_snapshots/test/test_update_event_status.1.json @@ -60,6 +60,14 @@ }, "val": "void" }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" @@ -335,6 +343,14 @@ "i128": "0" } }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" diff --git a/contract/contracts/event_registry/test_snapshots/test/test_update_metadata_invalid_cid.1.json b/contract/contracts/event_registry/test_snapshots/test/test_update_metadata_invalid_cid.1.json index ee67650..82f2590 100644 --- a/contract/contracts/event_registry/test_snapshots/test/test_update_metadata_invalid_cid.1.json +++ b/contract/contracts/event_registry/test_snapshots/test/test_update_metadata_invalid_cid.1.json @@ -60,6 +60,14 @@ }, "val": "void" }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" @@ -315,6 +323,14 @@ "i128": "0" } }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" diff --git a/contract/contracts/event_registry/test_snapshots/test/test_update_metadata_success.1.json b/contract/contracts/event_registry/test_snapshots/test/test_update_metadata_success.1.json index 817022e..30d6178 100644 --- a/contract/contracts/event_registry/test_snapshots/test/test_update_metadata_success.1.json +++ b/contract/contracts/event_registry/test_snapshots/test/test_update_metadata_success.1.json @@ -60,6 +60,14 @@ }, "val": "void" }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" @@ -335,6 +343,14 @@ "i128": "0" } }, + { + "key": { + "symbol": "name" + }, + "val": { + "string": "Test Event" + } + }, { "key": { "symbol": "organizer_address" diff --git a/contract/contracts/ticket_payment/src/contract.rs b/contract/contracts/ticket_payment/src/contract.rs index bdfcb75..5754363 100644 --- a/contract/contracts/ticket_payment/src/contract.rs +++ b/contract/contracts/ticket_payment/src/contract.rs @@ -145,6 +145,7 @@ pub mod event_registry { #[derive(Clone, Debug, Eq, PartialEq)] pub struct EventInfo { pub event_id: String, + pub name: String, pub organizer_address: Address, pub payment_address: Address, pub platform_fee_percent: u32, diff --git a/contract/contracts/ticket_payment/src/test.rs b/contract/contracts/ticket_payment/src/test.rs index 20d83a6..06e4f84 100644 --- a/contract/contracts/ticket_payment/src/test.rs +++ b/contract/contracts/ticket_payment/src/test.rs @@ -24,6 +24,7 @@ impl MockCancelledRegistry { pub fn get_event(env: Env, event_id: String) -> Option { Some(event_registry::EventInfo { event_id, + name: String::from_str(&env, "Test Event"), organizer_address: Address::generate(&env), payment_address: Address::generate(&env), platform_fee_percent: 500, @@ -88,6 +89,7 @@ impl MockEventRegistry { if event_id == String::from_str(&env, "event_1") { return Some(event_registry::EventInfo { event_id: String::from_str(&env, "event_1"), + name: String::from_str(&env, "Test Event"), organizer_address: Address::generate(&env), // This will be different each call unless mocked specifically payment_address: Address::generate(&env), platform_fee_percent: 500, @@ -160,6 +162,7 @@ impl MockEventRegistry2 { pub fn get_event(env: Env, _event_id: String) -> Option { Some(event_registry::EventInfo { event_id: String::from_str(&env, "event_1"), + name: String::from_str(&env, "Test Event"), organizer_address: Address::generate(&env), payment_address: Address::generate(&env), platform_fee_percent: 250, @@ -251,6 +254,7 @@ impl MockAuctionEventRegistry { Some(event_registry::EventInfo { event_id, + name: String::from_str(&env, "Test Event"), organizer_address: Address::generate(&env), payment_address: Address::generate(&env), platform_fee_percent: 500, @@ -964,6 +968,7 @@ impl MockEventRegistryMaxSupply { pub fn get_event(env: Env, _event_id: String) -> Option { Some(event_registry::EventInfo { event_id: String::from_str(&env, "event_1"), + name: String::from_str(&env, "Test Event"), organizer_address: Address::generate(&env), payment_address: Address::generate(&env), platform_fee_percent: 500, @@ -1075,6 +1080,7 @@ impl MockEventRegistryWithInventory { Some(event_registry::EventInfo { event_id, + name: String::from_str(&env, "Test Event"), organizer_address: Address::generate(&env), payment_address: Address::generate(&env), platform_fee_percent: 500, @@ -1298,6 +1304,7 @@ impl MockEventRegistryWithMilestones { Some(event_registry::EventInfo { event_id: String::from_str(&env, "milestone_event"), + name: String::from_str(&env, "Test Event"), organizer_address: Address::generate(&env), payment_address: Address::generate(&env), platform_fee_percent: 500, @@ -1620,6 +1627,7 @@ impl MockEventRegistryEarlyBird { pub fn get_event(env: Env, _event_id: String) -> Option { Some(event_registry::EventInfo { event_id: String::from_str(&env, "event_eb_1"), + name: String::from_str(&env, "Test Event"), organizer_address: Address::generate(&env), payment_address: Address::generate(&env), platform_fee_percent: 500, @@ -2110,6 +2118,7 @@ impl MockEventRegistryWithOrganizer { Some(event_registry::EventInfo { event_id, + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: Address::generate(&env), platform_fee_percent: 500, @@ -2438,6 +2447,7 @@ impl MockPlatformRegistryE2E { let event = event_registry::EventInfo { event_id: event_id.clone(), + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address, platform_fee_percent: 500, @@ -2891,6 +2901,7 @@ impl MockEventRegistryRefund { pub fn get_event(env: Env, event_id: String) -> Option { Some(event_registry::EventInfo { event_id, + name: String::from_str(&env, "Test Event"), organizer_address: Address::generate(&env), payment_address: Address::generate(&env), platform_fee_percent: 500, @@ -2963,6 +2974,7 @@ impl MockEventRegistryWithResaleCap { pub fn get_event(env: Env, _event_id: String) -> Option { Some(event_registry::EventInfo { event_id: String::from_str(&env, "event_capped"), + name: String::from_str(&env, "Test Event"), organizer_address: Address::generate(&env), payment_address: Address::generate(&env), platform_fee_percent: 500, @@ -3207,6 +3219,7 @@ impl MockRegistryZeroCap { pub fn get_event(env: Env, _event_id: String) -> Option { Some(event_registry::EventInfo { event_id: String::from_str(&env, "event_zero_cap"), + name: String::from_str(&env, "Test Event"), organizer_address: Address::generate(&env), payment_address: Address::generate(&env), platform_fee_percent: 500, @@ -3821,6 +3834,7 @@ impl MockEventRegistryUsdPriced { pub fn get_event(env: Env, _event_id: String) -> Option { Some(event_registry::EventInfo { event_id: String::from_str(&env, "event_1"), + name: String::from_str(&env, "Test Event"), organizer_address: Address::generate(&env), payment_address: Address::generate(&env), platform_fee_percent: 500, @@ -4474,6 +4488,7 @@ impl MockEventRegistryWithFailingLoyaltyUpdate { pub fn get_event(env: Env, event_id: String) -> Option { Some(event_registry::EventInfo { event_id, + name: String::from_str(&env, "Test Event"), organizer_address: Address::generate(&env), payment_address: Address::generate(&env), platform_fee_percent: 500, @@ -4601,6 +4616,7 @@ impl MockEventRegistryWithLoyalty { pub fn get_event(env: Env, event_id: String) -> Option { Some(event_registry::EventInfo { event_id, + name: String::from_str(&env, "Test Event"), organizer_address: Address::generate(&env), payment_address: Address::generate(&env), platform_fee_percent: 500, @@ -4682,6 +4698,7 @@ impl MockEventRegistryWithExcessiveLoyaltyDiscount { pub fn get_event(env: Env, event_id: String) -> Option { Some(event_registry::EventInfo { event_id, + name: String::from_str(&env, "Test Event"), organizer_address: Address::generate(&env), payment_address: Address::generate(&env), platform_fee_percent: 500, @@ -4898,6 +4915,7 @@ impl MockEventRegistryCustomFee { pub fn get_event(env: Env, event_id: String) -> Option { Some(event_registry::EventInfo { event_id, + name: String::from_str(&env, "Test Event"), organizer_address: Address::generate(&env), payment_address: Address::generate(&env), platform_fee_percent: 500, @@ -5023,6 +5041,7 @@ impl MockEventRegistryHighPrice { pub fn get_event(env: Env, event_id: String) -> Option { Some(event_registry::EventInfo { event_id, + name: String::from_str(&env, "Test Event"), organizer_address: Address::generate(&env), payment_address: Address::generate(&env), platform_fee_percent: 500, @@ -5130,6 +5149,7 @@ impl MockEventRegistryRefundDeadline { pub fn get_event(env: Env, event_id: String) -> Option { Some(event_registry::EventInfo { event_id, + name: String::from_str(&env, "Test Event"), organizer_address: Address::generate(&env), payment_address: Address::generate(&env), platform_fee_percent: 500, @@ -5705,6 +5725,7 @@ impl MockEventRegistryForDust { .unwrap_or_else(|| Address::generate(&env)); Some(event_registry::EventInfo { event_id, + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address: payment_addr, platform_fee_percent: 500, @@ -5896,6 +5917,7 @@ impl MockEventRegistryForReferral { pub fn get_event(env: Env, event_id: String) -> Option { Some(event_registry::EventInfo { event_id, + name: String::from_str(&env, "Test Event"), organizer_address: Address::generate(&env), payment_address: Address::generate(&env), platform_fee_percent: 500, // 5% @@ -5975,6 +5997,7 @@ impl MockEventRegistryFullLoyaltyDiscount { pub fn get_event(env: Env, event_id: String) -> Option { Some(event_registry::EventInfo { event_id, + name: String::from_str(&env, "Test Event"), organizer_address: Address::generate(&env), payment_address: Address::generate(&env), platform_fee_percent: 500, // 5% diff --git a/contract/contracts/ticket_payment/src/test_e2e.rs b/contract/contracts/ticket_payment/src/test_e2e.rs index 1a03249..675c59f 100644 --- a/contract/contracts/ticket_payment/src/test_e2e.rs +++ b/contract/contracts/ticket_payment/src/test_e2e.rs @@ -49,6 +49,7 @@ impl MockRegistryE2E { Some(event_registry::EventInfo { event_id, + name: String::from_str(&env, "Test Event"), organizer_address: organizer, payment_address, platform_fee_percent: 500, @@ -161,6 +162,7 @@ impl MockRegistryCancelledE2E { Some(event_registry::EventInfo { event_id, + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: organizer, platform_fee_percent: 500, @@ -253,6 +255,7 @@ impl MockRegistryWithGoal { Some(event_registry::EventInfo { event_id, + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: organizer, platform_fee_percent: 500, @@ -1028,6 +1031,7 @@ impl MockRegistryAuction { Some(event_registry::EventInfo { event_id, + name: String::from_str(&env, "Test Event"), organizer_address: organizer.clone(), payment_address: organizer, platform_fee_percent: 500,