spl_token/
entrypoint.rs

1//! Program entrypoint
2
3use {
4    crate::processor::Processor, solana_account_info::AccountInfo, solana_msg::msg,
5    solana_program_error::ProgramResult, solana_pubkey::Pubkey,
6    spl_token_interface::error::TokenError,
7};
8
9solana_program_entrypoint::entrypoint!(process_instruction);
10fn process_instruction(
11    program_id: &Pubkey,
12    accounts: &[AccountInfo],
13    instruction_data: &[u8],
14) -> ProgramResult {
15    if let Err(error) = Processor::process(program_id, accounts, instruction_data) {
16        // catch the error so we can print it
17        msg!(error.to_str::<TokenError>());
18        return Err(error);
19    }
20    Ok(())
21}