solana_workflow/instructions/
change_variable.rs1use anchor_lang::prelude::*;
2
3use crate::pda::{ Mission, Variable};
4
5#[derive(Accounts)]
6#[instruction(_variable_id: u8)]
7pub struct CreateVariable<'info> {
8 #[account(mut)]
9 pub user: Signer<'info>,
10
11 #[account(mut)]
12 pub mission: Account<'info, Mission>,
13
14 #[account(
15 init_if_needed,
16 payer = user,
17 space=1000,
18 seeds=[
19 b"variable", mission.key().as_ref(), &[_variable_id]],
20 bump
21 )]
22 pub variable: Account<'info, Variable>,
23
24 pub system_program: Program<'info, System>,
25}
26
27pub fn change_variable(ctx: Context<CreateVariable>, value: Vec<u8>, _variable_id: u8) -> Result<()> {
28 let variable = &mut ctx.accounts.variable;
29
30 variable.value = value;
31
32 Ok(())
33}