added uid to bets

This commit is contained in:
Sewmina Dilshan 2025-04-04 08:25:14 +05:30
parent 2568a215e9
commit b745747acd
4 changed files with 12 additions and 7 deletions

View File

@ -1,7 +1,7 @@
use anchor_lang::prelude::*; use anchor_lang::prelude::*;
use crate::*; use crate::*;
pub fn create(ctx: Context<CreateBet>, wager: u64, game_id:String, _nonce:u64) -> Result<()> { pub fn create(ctx: Context<CreateBet>, wager: u64, user_id:String, game_id:String, _nonce:u64) -> Result<()> {
let bets_list = &mut ctx.accounts.bets_list; let bets_list = &mut ctx.accounts.bets_list;
let bet_vault = &mut ctx.accounts.bet_vault; let bet_vault = &mut ctx.accounts.bet_vault;
let payer = &ctx.accounts.payer; let payer = &ctx.accounts.payer;
@ -10,6 +10,7 @@ pub fn create(ctx: Context<CreateBet>, wager: u64, game_id:String, _nonce:u64) -
// Store bet details // Store bet details
bet_vault.game_id = game_id; bet_vault.game_id = game_id;
bet_vault.owner = payer.key(); bet_vault.owner = payer.key();
bet_vault.owner_id= user_id;
bet_vault.wager = wager; bet_vault.wager = wager;
// Transfer SOL from the payer to the bet vault // Transfer SOL from the payer to the bet vault

View File

@ -1,7 +1,7 @@
use anchor_lang::prelude::*; use anchor_lang::prelude::*;
use crate::*; use crate::*;
pub fn join(ctx: Context<JoinBet>, _game_id:String) ->Result<()>{ pub fn join(ctx: Context<JoinBet>,user_id:String, _game_id:String) ->Result<()>{
let bet_vault = &mut ctx.accounts.bet_vault; let bet_vault = &mut ctx.accounts.bet_vault;
let payer= &ctx.accounts.payer; let payer= &ctx.accounts.payer;
@ -20,7 +20,7 @@ pub fn join(ctx: Context<JoinBet>, _game_id:String) ->Result<()>{
)?; )?;
bet_vault.joiner = payer.key(); bet_vault.joiner = payer.key();
bet_vault.joiner_id = user_id;
msg!("Joined bet {}!", bet_vault.key()); msg!("Joined bet {}!", bet_vault.key());
Ok(()) Ok(())

View File

@ -19,12 +19,12 @@ pub mod bets {
initialize_bets_list::init(ctx) initialize_bets_list::init(ctx)
} }
pub fn create_bet(ctx: Context<CreateBet>, wager:u64, game_id:String, nonce:u64)-> Result<()>{ pub fn create_bet(ctx: Context<CreateBet>, wager:u64,user_id:String, game_id:String, nonce:u64)-> Result<()>{
create_bet::create(ctx, wager,game_id,nonce) create_bet::create(ctx, wager, user_id, game_id,nonce)
} }
pub fn join_bet(ctx: Context<JoinBet>, game_id:String) -> Result<()>{ pub fn join_bet(ctx: Context<JoinBet>,user_id:String, game_id:String) -> Result<()>{
join_bet::join(ctx, game_id) join_bet::join(ctx,user_id, game_id)
} }
pub fn close_bet(ctx:Context<CloseBet>, winner:Pubkey)->Result<()> { pub fn close_bet(ctx:Context<CloseBet>, winner:Pubkey)->Result<()> {

View File

@ -7,6 +7,10 @@ pub struct BetVault {
#[max_len(10)] #[max_len(10)]
pub game_id: String, pub game_id: String,
pub owner: Pubkey, pub owner: Pubkey,
#[max_len(40)]
pub owner_id: String,
pub joiner: Pubkey, pub joiner: Pubkey,
#[max_len(40)]
pub joiner_id: String,
pub wager:u64 pub wager:u64
} }