Proposal: log binary data for Solidity

Rename "Program return data: " to "Program return: " since "data" is
redundant.

(cherry picked from commit b89177c8de)

Conflicts:
	programs/bpf_loader/src/syscalls.rs
	sdk/bpf/c/inc/sol/log.h
	sdk/program/Cargo.toml
	sdk/src/feature_set.rs
	sdk/src/process_instruction.rs
This commit is contained in:
Sean Young
2021-09-17 09:14:49 +01:00
parent 400a88786a
commit ebe77a0985
17 changed files with 429 additions and 8 deletions

View File

@@ -0,0 +1,24 @@
//! @brief Example Rust-based BPF program that uses sol_log_data syscall
#![cfg(feature = "program")]
use solana_program::{
account_info::AccountInfo, entrypoint, entrypoint::ProgramResult, log::sol_log_data,
program::set_return_data, pubkey::Pubkey,
};
entrypoint!(process_instruction);
#[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(())
}