Update programs using simple error mapping to use CustomError
This commit is contained in:
parent
db5370c5df
commit
1a9ef37251
|
@ -2327,6 +2327,7 @@ dependencies = [
|
|||
"bincode 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"solana-runtime 0.12.0",
|
||||
"solana-sdk 0.12.0",
|
||||
]
|
||||
|
|
|
@ -5,7 +5,7 @@ use log::*;
|
|||
use solana_sdk::account::KeyedAccount;
|
||||
use solana_sdk::native_program::ProgramError;
|
||||
use solana_sdk::pubkey::Pubkey;
|
||||
use solana_sdk::solana_entrypoint;
|
||||
use solana_sdk::{custom_error, solana_entrypoint};
|
||||
|
||||
solana_entrypoint!(entrypoint);
|
||||
fn entrypoint(
|
||||
|
@ -18,5 +18,6 @@ fn entrypoint(
|
|||
|
||||
trace!("process_instruction: {:?}", data);
|
||||
trace!("keyed_accounts: {:?}", keyed_accounts);
|
||||
process_instruction(program_id, keyed_accounts, data).map_err(|_| ProgramError::GenericError)
|
||||
process_instruction(program_id, keyed_accounts, data)
|
||||
.map_err(|e| ProgramError::CustomError(custom_error!(e)))
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@ edition = "2018"
|
|||
bincode = "1.1.2"
|
||||
log = "0.4.2"
|
||||
serde = "1.0.89"
|
||||
serde_derive = "1.0.89"
|
||||
solana-sdk = { path = "../../sdk", version = "0.12.0" }
|
||||
|
||||
[dev-dependencies]
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
use log::*;
|
||||
use serde_derive::Serialize;
|
||||
use solana_sdk::account::KeyedAccount;
|
||||
use solana_sdk::custom_error;
|
||||
use solana_sdk::native_program::ProgramError;
|
||||
use solana_sdk::pubkey::Pubkey;
|
||||
use solana_sdk::system_instruction::SystemInstruction;
|
||||
|
@ -8,7 +10,7 @@ use solana_sdk::system_program;
|
|||
const FROM_ACCOUNT_INDEX: usize = 0;
|
||||
const TO_ACCOUNT_INDEX: usize = 1;
|
||||
|
||||
#[derive(Debug, Clone, PartialEq)]
|
||||
#[derive(Serialize, Debug, Clone, PartialEq)]
|
||||
enum SystemError {
|
||||
AccountAlreadyInUse,
|
||||
ResultWithNegativeLamports,
|
||||
|
@ -96,11 +98,10 @@ pub fn entrypoint(
|
|||
program_id,
|
||||
} => create_system_account(keyed_accounts, lamports, space, &program_id).map_err(|e| {
|
||||
match e {
|
||||
SystemError::AccountAlreadyInUse => ProgramError::InvalidArgument,
|
||||
SystemError::ResultWithNegativeLamports => {
|
||||
ProgramError::ResultWithNegativeLamports
|
||||
}
|
||||
SystemError::SourceNotSystemAccount => ProgramError::InvalidArgument,
|
||||
e => ProgramError::CustomError(custom_error!(e)),
|
||||
}
|
||||
}),
|
||||
SystemInstruction::Assign { program_id } => {
|
||||
|
|
|
@ -2,7 +2,7 @@ use log::*;
|
|||
use solana_sdk::account::KeyedAccount;
|
||||
use solana_sdk::native_program::ProgramError;
|
||||
use solana_sdk::pubkey::Pubkey;
|
||||
use solana_sdk::solana_entrypoint;
|
||||
use solana_sdk::{custom_error, solana_entrypoint};
|
||||
|
||||
mod token_program;
|
||||
|
||||
|
@ -17,6 +17,6 @@ fn entrypoint(
|
|||
|
||||
token_program::TokenProgram::process(program_id, info, input).map_err(|err| {
|
||||
error!("error: {:?}", err);
|
||||
ProgramError::GenericError
|
||||
ProgramError::CustomError(custom_error!(err))
|
||||
})
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ use solana_sdk::account::KeyedAccount;
|
|||
use solana_sdk::pubkey::Pubkey;
|
||||
use std;
|
||||
|
||||
#[derive(Debug, PartialEq)]
|
||||
#[derive(Serialize, Debug, PartialEq)]
|
||||
pub enum Error {
|
||||
InvalidArgument,
|
||||
InsufficentFunds,
|
||||
|
|
Loading…
Reference in New Issue