init
This commit is contained in:
parent
cf8ef365b2
commit
fee9ac44f4
|
|
@ -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(())
|
||||
|
|
|
|||
4
programs/bets/src/instructions/deduct_fees.rs
Normal file
4
programs/bets/src/instructions/deduct_fees.rs
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
use std::str::FromStr;
|
||||
|
||||
use anchor_lang::prelude::*;
|
||||
use crate::{error::BettingError, *};
|
||||
|
|
@ -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::*;
|
||||
Loading…
Reference in New Issue
Block a user