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);
|
msg!("Total lamports: {}", total_lamports);
|
||||||
|
|
||||||
let fee = total_lamports / 40; // 2.5%
|
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
|
let referrer_fee = total_lamports / 80; //1.25% for each referrer
|
||||||
msg!("Fee: {}, Referrer fee: {}", fee, referrer_fee);
|
msg!("Fee: {}, Referrer fee: {}", fee, referrer_fee);
|
||||||
msg!("Total to be sent: {}", fee + referrer_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
|
// Remove the bet_vault public key from the list
|
||||||
bets_list.bets.retain(|&bet| bet != bet_vault.key());
|
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);
|
msg!("Bet {} closed by {}", bet_vault.key(), winner);
|
||||||
|
|
||||||
Ok(())
|
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 use close_bet::*;
|
||||||
|
|
||||||
pub mod refund_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