Implement the same interface in all builtin programs

This commit is contained in:
Greg Fitzgerald
2018-11-23 16:26:47 -07:00
parent 871dd47019
commit 30cdd85028
5 changed files with 47 additions and 28 deletions

View File

@@ -1,6 +1,7 @@
//! system program
use bincode::deserialize;
use program::ProgramError;
use solana_sdk::account::Account;
use solana_sdk::pubkey::Pubkey;
use solana_sdk::system_instruction::SystemInstruction;
@@ -99,6 +100,17 @@ pub fn process_instruction(
}
}
pub fn process(
tx: &Transaction,
instruction_index: usize,
accounts: &mut [&mut Account],
) -> std::result::Result<(), ProgramError> {
process_instruction(&tx, instruction_index, accounts).map_err(|err| match err {
Error::ResultWithNegativeTokens => ProgramError::ResultWithNegativeTokens,
_ => ProgramError::RuntimeError,
})
}
#[cfg(test)]
mod test {
use super::*;