diff --git a/web3.js/examples/bpf-c-noop/src/noop/noop.c b/web3.js/examples/bpf-c-noop/src/noop/noop.c index d5b8b3050a..3832e1fa2a 100644 --- a/web3.js/examples/bpf-c-noop/src/noop/noop.c +++ b/web3.js/examples/bpf-c-noop/src/noop/noop.c @@ -5,14 +5,14 @@ #include -extern uint32_t entrypoint(const uint8_t *input) { +extern uint64_t entrypoint(const uint8_t *input) { SolKeyedAccount ka[1]; SolParameters params = (SolParameters) { .ka = ka }; sol_log("Hello World"); if (!sol_deserialize(input, ¶ms, SOL_ARRAY_SIZE(ka))) { - return 1; + return ERROR_INVALID_ARGUMENT; } sol_log_params(¶ms); return SUCCESS; diff --git a/web3.js/examples/bpf-rust-noop/src/lib.rs b/web3.js/examples/bpf-rust-noop/src/lib.rs index d1ed6eca61..eac48afbc5 100644 --- a/web3.js/examples/bpf-rust-noop/src/lib.rs +++ b/web3.js/examples/bpf-rust-noop/src/lib.rs @@ -4,7 +4,8 @@ extern crate solana_sdk; use solana_sdk::{ - account_info::AccountInfo, entrypoint, entrypoint::SUCCESS, info, log::*, pubkey::Pubkey, + account_info::AccountInfo, entrypoint, info, log::*, program_error::ProgramError, + pubkey::Pubkey, }; #[derive(Debug, PartialEq)] @@ -20,7 +21,11 @@ fn return_sstruct() -> SStruct { } entrypoint!(process_instruction); -fn process_instruction(program_id: &Pubkey, accounts: &mut [AccountInfo], data: &[u8]) -> u32 { +fn process_instruction( + program_id: &Pubkey, + accounts: &[AccountInfo], + ix_data: &[u8], +) -> Result<(), ProgramError> { info!("Program identifier:"); program_id.log(); @@ -28,7 +33,7 @@ fn process_instruction(program_id: &Pubkey, accounts: &mut [AccountInfo], data: // the no-op program, no account keys or input data are expected but real // programs will have specific requirements so they can do their work. info!("Account keys and instruction input data:"); - sol_log_params(accounts, data); + sol_log_params(accounts, ix_data); { // Test - use std methods, unwrap @@ -54,7 +59,7 @@ fn process_instruction(program_id: &Pubkey, accounts: &mut [AccountInfo], data: panic!(); } - SUCCESS + Ok(()) } #[cfg(test)]