diff --git a/contracts/src/wager/types.cairo b/contracts/src/wager/types.cairo index 86860e3..48acc75 100644 --- a/contracts/src/wager/types.cairo +++ b/contracts/src/wager/types.cairo @@ -1,6 +1,5 @@ use starknet::ContractAddress; -// TODO Add timestamp tracking #[derive(Drop, Serde, starknet::Store, Clone)] pub struct Wager { pub wager_id: u64, @@ -22,6 +21,12 @@ pub enum Category { Sports, Politics, Entertainment, + Crypto, + Stocks, + Games, + Technology, + Health, + Others, } #[derive(Drop, Copy, Serde, PartialEq, starknet::Store, Default)] diff --git a/contracts/src/wager/wager.cairo b/contracts/src/wager/wager.cairo index 12fcc84..250d6bd 100644 --- a/contracts/src/wager/wager.cairo +++ b/contracts/src/wager/wager.cairo @@ -110,9 +110,7 @@ pub mod StrkWager { pub struct WagerResolvedEvent { pub wager_id: u64, pub winner: ContractAddress, - // pub final_outcome: Claim, //TODO - // pub consensus_reached: bool, - // pub resolved_at: u64, + pub resolved_at: u64, } const ADMIN_ROLE: felt252 = selector!("ADMIN_ROLE"); // Unique identifier for the role @@ -317,7 +315,7 @@ pub mod StrkWager { self.wagers.entry(wager_id).write(wager); - self.emit(WagerResolvedEvent { wager_id, winner }); + self.emit(WagerResolvedEvent { wager_id, winner, resolved_at: get_block_timestamp() }); } fn cancel_wager(ref self: ContractState, wager_id: u64) { @@ -488,7 +486,12 @@ pub mod StrkWager { self._escrow_dispatcher().distribute_funds(wager_id, winner); // Emit an event for resolution - self.emit(WagerResolvedEvent { wager_id, winner }); + self + .emit( + WagerResolvedEvent { + wager_id, winner, resolved_at: get_block_timestamp() + } + ); }, Mode::Group => { assert(false, 'not_group_allow'); }, }