triggr-program 0.1.1

Created with Anchor
Documentation
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(())
}