diff --git a/contract/src/lib.rs b/contract/src/lib.rs index 34ef0d3e3..807e52fb4 100644 --- a/contract/src/lib.rs +++ b/contract/src/lib.rs @@ -429,8 +429,10 @@ impl SkillSyncEscrow { session.status = Status::Completed; session.completed_at = env.ledger().timestamp(); Self::save_session_internal(&env, &session_id, &session); - env.events() - .publish((Symbol::new(&env, "SessionCompleted"), session_id), ()); + env.events().publish( + (Symbol::new(&env, "SessionCompleted"), session_id), + (session.seller.clone(), session.completed_at), + ); } // ── #526: approve_session ───────────────────────────────────────────────── diff --git a/contract/src/test.rs b/contract/src/test.rs index ca8f9e16f..114cea84d 100644 --- a/contract/src/test.rs +++ b/contract/src/test.rs @@ -574,6 +574,7 @@ mod test_skillsync_escrow { let id = make_id(&env, 11); client.lock_funds(&id, &buyer, &seller, &200, &token_id); client.complete_session(&id); + let s = client.get_session(&id); let events = env.events().all(); let last = events.last().unwrap(); assert_eq!(last.0, cid); @@ -581,6 +582,10 @@ mod test_skillsync_escrow { last.1, (Symbol::new(&env, "SessionCompleted"), id.clone()).into_val(&env) ); + assert_eq!( + last.2, + (seller.clone(), s.completed_at).into_val(&env) + ); } #[test]