pub use crate::state::*;
use anchor_lang::{prelude::*, system_program::System};
#[derive(Accounts)]
#[instruction(active_triggers: Vec<Pubkey>)]
pub struct UpdateUser<'info> {
#[account(mut)]
signer: Signer<'info>,
#[account(
mut,
seeds = ["user".as_bytes(), &signer.key().to_bytes()],
bump,
realloc = 8 + (32 * active_triggers.len()) + User::MIN_SIZE,
realloc::payer = signer,
realloc::zero = true
)]
user: Account<'info, User>,
system_program: Program<'info, System>,
}
pub fn handler(ctx: Context<UpdateUser>, active_triggers: Vec<Pubkey>) -> Result<()> {
ctx.accounts.user.active_triggers = active_triggers;
Ok(())
}