Merge remote-tracking branch 'origin/prod' into tokens
This commit is contained in:
commit
23a98aea9c
22
programs/bets/src/instructions/clear_bets_list.rs
Normal file
22
programs/bets/src/instructions/clear_bets_list.rs
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
use anchor_lang::prelude::*;
|
||||||
|
use crate::*;
|
||||||
|
|
||||||
|
pub fn clear(ctx: Context<ClearBetsList>) -> Result<()> {
|
||||||
|
let bets_list = &mut ctx.accounts.bets_list;
|
||||||
|
bets_list.bets.clear();
|
||||||
|
msg!("Cleared all bets from the list!");
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Accounts)]
|
||||||
|
pub struct ClearBetsList<'info> {
|
||||||
|
#[account(
|
||||||
|
mut,
|
||||||
|
seeds = [b"bets_list"],
|
||||||
|
bump
|
||||||
|
)]
|
||||||
|
pub bets_list: Account<'info, BetsList>,
|
||||||
|
|
||||||
|
#[account(mut)]
|
||||||
|
pub payer: Signer<'info>,
|
||||||
|
}
|
||||||
|
|
@ -8,6 +8,10 @@ pub fn close(ctx: Context<CloseBet>, winner:Pubkey, userid:String)->Result<()>{
|
||||||
BettingError::InvalidWinner
|
BettingError::InvalidWinner
|
||||||
);
|
);
|
||||||
|
|
||||||
|
let bets_list = &mut ctx.accounts.bets_list;
|
||||||
|
// Remove the bet_vault public key from the list
|
||||||
|
bets_list.bets.retain(|&bet| bet != bet_vault.key());
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -17,7 +21,7 @@ pub struct CloseBet<'info>{
|
||||||
#[account(mut)]
|
#[account(mut)]
|
||||||
pub bets_list: Account<'info, BetsList>,
|
pub bets_list: Account<'info, BetsList>,
|
||||||
|
|
||||||
#[account(mut)]
|
#[account(mut, close=winner)]
|
||||||
pub bet_vault: Account<'info, BetVault>,
|
pub bet_vault: Account<'info, BetVault>,
|
||||||
|
|
||||||
#[account(mut)]
|
#[account(mut)]
|
||||||
|
|
|
||||||
|
|
@ -30,3 +30,6 @@ pub use deduct_fees_token::*;
|
||||||
|
|
||||||
pub mod shared;
|
pub mod shared;
|
||||||
pub use shared::*;
|
pub use shared::*;
|
||||||
|
|
||||||
|
pub mod clear_bets_list;
|
||||||
|
pub use clear_bets_list::*;
|
||||||
|
|
|
||||||
|
|
@ -55,4 +55,7 @@ pub mod bets {
|
||||||
pub fn close_bet_token(ctx:Context<CloseBetToken>, winner:Pubkey, userid:String)->Result<()>{
|
pub fn close_bet_token(ctx:Context<CloseBetToken>, winner:Pubkey, userid:String)->Result<()>{
|
||||||
close_bet_token::close_token_bet(ctx, winner, userid)
|
close_bet_token::close_token_bet(ctx, winner, userid)
|
||||||
}
|
}
|
||||||
|
pub fn clear_bets_list(ctx: Context<ClearBetsList>) -> Result<()> {
|
||||||
|
clear_bets_list::clear(ctx)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user