2021-10-19 16:48:15 -05:00
|
|
|
//! Example Rust-based BPF program that uses sol_log_data syscall
|
2021-09-17 09:14:49 +01:00
|
|
|
|
|
|
|
#![cfg(feature = "program")]
|
|
|
|
|
|
|
|
use solana_program::{
|
2022-02-22 11:59:06 +08:00
|
|
|
account_info::AccountInfo, entrypoint::ProgramResult, log::sol_log_data,
|
2021-09-17 09:14:49 +01:00
|
|
|
program::set_return_data, pubkey::Pubkey,
|
|
|
|
};
|
|
|
|
|
2022-02-22 11:59:06 +08:00
|
|
|
solana_program::entrypoint!(process_instruction);
|
2021-09-17 09:14:49 +01:00
|
|
|
#[allow(clippy::cognitive_complexity)]
|
|
|
|
fn process_instruction(
|
|
|
|
_program_id: &Pubkey,
|
|
|
|
_accounts: &[AccountInfo],
|
|
|
|
instruction_data: &[u8],
|
|
|
|
) -> ProgramResult {
|
|
|
|
let fields: Vec<&[u8]> = instruction_data.split(|e| *e == 0).collect();
|
|
|
|
|
|
|
|
set_return_data(&[0x08, 0x01, 0x44]);
|
|
|
|
|
|
|
|
sol_log_data(&fields);
|
|
|
|
|
|
|
|
Ok(())
|
|
|
|
}
|