clockwork_http/instructions/
fee_claim.rs1use {
2 crate::state::{Fee, FeeAccount, SEED_FEE},
3 anchor_lang::prelude::*,
4};
5
6#[derive(Accounts)]
7#[instruction(amount: u64)]
8pub struct FeeClaim<'info> {
9 #[account(mut)]
10 pub authority: Signer<'info>,
11
12 #[account(mut)]
13 pub pay_to: SystemAccount<'info>,
14
15 #[account(
16 mut,
17 seeds = [
18 SEED_FEE,
19 fee.authority.as_ref(),
20 ],
21 bump,
22 has_one = authority,
23 )]
24 pub fee: Account<'info, Fee>,
25}
26
27pub fn handler<'info>(ctx: Context<FeeClaim>, amount: u64) -> Result<()> {
28 let pay_to = &mut ctx.accounts.pay_to;
30 let fee = &mut ctx.accounts.fee;
31
32 fee.claim_worker_balance(amount, pay_to)?;
34
35 Ok(())
36}