intent_transfer/config/
access_control.rs1use anchor_lang::prelude::*;
2use anchor_lang::solana_program::bpf_loader_upgradeable;
3
4use crate::error::IntentTransferError;
5
6#[derive(Accounts)]
7pub struct UpgradeAuthority<'info> {
8 #[account(mut, address = program_data.upgrade_authority_address.ok_or(IntentTransferError::Unauthorized)?)]
9 pub signer: Signer<'info>,
10
11 #[account(seeds = [crate::ID.as_ref()], bump, seeds::program = bpf_loader_upgradeable::ID)]
12 pub program_data: Account<'info, ProgramData>,
13}