cronos_scheduler/instructions/
admin_fee_collect.rs

1use {
2    crate::state::*,
3    anchor_lang::prelude::*
4};
5
6#[derive(Accounts)]
7pub struct AdminFeeCollect<'info> {
8    #[account(
9        mut,
10        address = config.admin
11    )]
12    pub admin: Signer<'info>,
13
14    #[account(
15        seeds = [SEED_CONFIG],
16        bump,
17    )]
18    pub config: Account<'info, Config>,
19
20    #[account(
21        mut,
22        seeds = [
23            SEED_FEE, 
24            fee.queue.as_ref()
25        ],
26        bump,
27    )]
28    pub fee: Account<'info, Fee>,
29}
30
31pub fn handler(ctx: Context<AdminFeeCollect>) -> Result<()> {
32    let admin = &mut ctx.accounts.admin;
33    let fee = &mut ctx.accounts.fee;
34
35    fee.collect(admin)
36}