* Update tests to demonstrate that program id account info for CPI is optional * Clean up comments that say that program id account info is required
20 lines
514 B
Rust
20 lines
514 B
Rust
//! Example Rust-based BPF upgradeable program
|
|
|
|
extern crate solana_program;
|
|
use solana_program::{
|
|
account_info::AccountInfo, entrypoint, entrypoint::ProgramResult, msg, pubkey::Pubkey,
|
|
sysvar::clock,
|
|
};
|
|
|
|
entrypoint!(process_instruction);
|
|
fn process_instruction(
|
|
_program_id: &Pubkey,
|
|
accounts: &[AccountInfo],
|
|
_instruction_data: &[u8],
|
|
) -> ProgramResult {
|
|
msg!("Upgradeable program");
|
|
assert_eq!(accounts.len(), 1);
|
|
assert_eq!(*accounts[0].key, clock::id());
|
|
Err(42.into())
|
|
}
|