cronos_scheduler/instructions/
task_update.rs1use {
2 crate::state::*,
3 anchor_lang::prelude::*,
4};
5
6
7#[derive(Accounts)]
8#[instruction(ixs: Vec<InstructionData>)]
9pub struct TaskUpdate<'info> {
10 #[account()]
11 pub authority: Signer<'info>,
12
13 #[account(
14 seeds = [
15 SEED_MANAGER,
16 manager.authority.as_ref()
17 ],
18 bump,
19 has_one = authority,
20 )]
21 pub manager: Account<'info, Manager>,
22
23 #[account(
24 seeds = [
25 SEED_QUEUE,
26 queue.manager.as_ref(),
27 queue.id.to_be_bytes().as_ref(),
28 ],
29 bump,
30 has_one = manager,
31 )]
32 pub queue: Account<'info, Queue>,
33
34 #[account(
35 mut,
36 seeds = [
37 SEED_TASK,
38 task.queue.as_ref(),
39 task.id.to_be_bytes().as_ref(),
40 ],
41 bump,
42 )]
43 pub task: Account<'info, Task>,
44}
45
46pub fn handler(
47 ctx: Context<TaskUpdate>,
48 ixs: Vec<InstructionData>,
49) -> Result<()> {
50 let task = &mut ctx.accounts.task;
51
52 task.ixs = ixs;
54
55 Ok(())
56}