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>,
|
||||
}
|
||||
|
|
@ -7,6 +7,10 @@ pub fn close(ctx: Context<CloseBet>, winner:Pubkey, userid:String)->Result<()>{
|
|||
bet_vault.owner == winner || bet_vault.joiner == winner || bet_vault.owner_id == userid || bet_vault.joiner_id == userid,
|
||||
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(())
|
||||
}
|
||||
|
|
@ -17,7 +21,7 @@ pub struct CloseBet<'info>{
|
|||
#[account(mut)]
|
||||
pub bets_list: Account<'info, BetsList>,
|
||||
|
||||
#[account(mut)]
|
||||
#[account(mut, close=winner)]
|
||||
pub bet_vault: Account<'info, BetVault>,
|
||||
|
||||
#[account(mut)]
|
||||
|
|
|
|||
|
|
@ -29,4 +29,7 @@ pub mod deduct_fees_token;
|
|||
pub use deduct_fees_token::*;
|
||||
|
||||
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<()>{
|
||||
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