From 9c17c33e358d651eac2fc3f8b81eba6c5de90e6a Mon Sep 17 00:00:00 2001 From: Sewmina Dilshan Date: Tue, 29 Jul 2025 15:27:08 +0530 Subject: [PATCH] uid for receipt --- programs/bets/src/instructions/enter_leaderboard.rs | 3 ++- programs/bets/src/instructions/update_leaderboard.rs | 2 ++ programs/bets/src/lib.rs | 4 ++-- programs/bets/src/state/ticket_receipt_vault.rs | 2 ++ 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/programs/bets/src/instructions/enter_leaderboard.rs b/programs/bets/src/instructions/enter_leaderboard.rs index fc56285..f22ba9c 100644 --- a/programs/bets/src/instructions/enter_leaderboard.rs +++ b/programs/bets/src/instructions/enter_leaderboard.rs @@ -2,7 +2,7 @@ use anchor_lang::prelude::*; use anchor_spl::{associated_token::AssociatedToken, token_interface::{TokenAccount, TokenInterface}}; use crate::*; -pub fn enter(ctx: Context, id:u64) -> Result<()> { +pub fn enter(ctx: Context, id:u64, uid:String) -> Result<()> { let payer = &ctx.accounts.payer; let receipt = &mut ctx.accounts.receipt_account; @@ -21,6 +21,7 @@ pub fn enter(ctx: Context, id:u64) -> Result<()> { receipt.active = true; receipt.id= id; + receipt.uid = uid; msg!("Successfully entered leaderboard"); Ok(()) diff --git a/programs/bets/src/instructions/update_leaderboard.rs b/programs/bets/src/instructions/update_leaderboard.rs index 1931d41..8d9e602 100644 --- a/programs/bets/src/instructions/update_leaderboard.rs +++ b/programs/bets/src/instructions/update_leaderboard.rs @@ -25,6 +25,8 @@ pub fn update(ctx: Context, id:u64, player:Pubkey, new_score: if !leaderboard.players.contains(&player) { leaderboard.players.push(player); } + + receipt.active = false; msg!("Successfully updated leaderboard with score: {}", new_score); Ok(()) diff --git a/programs/bets/src/lib.rs b/programs/bets/src/lib.rs index a9303c9..af37438 100644 --- a/programs/bets/src/lib.rs +++ b/programs/bets/src/lib.rs @@ -75,8 +75,8 @@ pub mod bets { buy_tickets::buy(ctx,amount) } - pub fn enter_leaderboard(ctx:Context, id:u64)->Result<()>{ - enter_leaderboard::enter(ctx, id) + pub fn enter_leaderboard(ctx:Context, id:u64, uid:String)->Result<()>{ + enter_leaderboard::enter(ctx, id, uid) } pub fn remove_leaderboard(ctx:Context, id:u64)->Result<()>{ diff --git a/programs/bets/src/state/ticket_receipt_vault.rs b/programs/bets/src/state/ticket_receipt_vault.rs index fb93ef1..f97609c 100644 --- a/programs/bets/src/state/ticket_receipt_vault.rs +++ b/programs/bets/src/state/ticket_receipt_vault.rs @@ -5,5 +5,7 @@ use crate::*; #[derive(InitSpace)] pub struct TicketReceiptVault{ pub id: u64, + #[max_len(50)] + pub uid: String, pub active: bool } \ No newline at end of file