This commit is contained in:
Sewmina 2025-05-21 04:06:05 +00:00
parent cf8ef365b2
commit fee9ac44f4
3 changed files with 18 additions and 1 deletions

View File

@ -22,6 +22,10 @@ pub fn close(ctx: Context<CloseBet>, winner:Pubkey, userid:String)->Result<()>{
msg!("Total lamports: {}", total_lamports);
let fee = total_lamports / 40; // 2.5%
// Calculate rent-exempt minimum balance
let rent_exempt_minimum = Rent::get()?.minimum_balance(bet_vault.to_account_info().data_len());
msg!("Rent exempt minimum: {}", rent_exempt_minimum);
let referrer_fee = total_lamports / 80; //1.25% for each referrer
msg!("Fee: {}, Referrer fee: {}", fee, referrer_fee);
msg!("Total to be sent: {}", fee + referrer_fee + referrer_fee);
@ -59,6 +63,12 @@ pub fn close(ctx: Context<CloseBet>, winner:Pubkey, userid:String)->Result<()>{
// Remove the bet_vault public key from the list
bets_list.bets.retain(|&bet| bet != bet_vault.key());
// Close the bet vault account
let bet_vault_account = bet_vault.to_account_info();
let rent_lamports = bet_vault_account.lamports();
**bet_vault_account.try_borrow_mut_lamports()? = 0;
**ctx.accounts.payer.try_borrow_mut_lamports()? += rent_lamports;
msg!("Bet {} closed by {}", bet_vault.key(), winner);
Ok(())

View File

@ -0,0 +1,4 @@
use std::str::FromStr;
use anchor_lang::prelude::*;
use crate::{error::BettingError, *};

View File

@ -11,4 +11,7 @@ pub mod close_bet;
pub use close_bet::*;
pub mod refund_bet;
pub use refund_bet::*;
pub use refund_bet::*;
pub mod deduct_fees;
pub use deduct_fees::*;