From 63a758508af77889e3abd7b5ddd59e6b79e2ee72 Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Mon, 3 Dec 2018 13:31:11 -0800 Subject: [PATCH] Add sdk native_loader.rs --- sdk/src/lib.rs | 1 + sdk/src/native_loader.rs | 9 +++++++++ src/bpf_loader.rs | 2 +- src/native_loader.rs | 9 +-------- src/token_program.rs | 2 +- 5 files changed, 13 insertions(+), 10 deletions(-) create mode 100644 sdk/src/native_loader.rs diff --git a/sdk/src/lib.rs b/sdk/src/lib.rs index ba47799246..9ff8cf563f 100644 --- a/sdk/src/lib.rs +++ b/sdk/src/lib.rs @@ -1,6 +1,7 @@ pub mod account; pub mod hash; pub mod loader_instruction; +pub mod native_loader; pub mod native_program; pub mod packet; pub mod pubkey; diff --git a/sdk/src/native_loader.rs b/sdk/src/native_loader.rs new file mode 100644 index 0000000000..a0447568c8 --- /dev/null +++ b/sdk/src/native_loader.rs @@ -0,0 +1,9 @@ +use pubkey::Pubkey; + +pub const NATIVE_LOADER_PROGRAM_ID: [u8; 32] = [ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +]; + +pub fn id() -> Pubkey { + Pubkey::new(&NATIVE_LOADER_PROGRAM_ID) +} diff --git a/src/bpf_loader.rs b/src/bpf_loader.rs index 156c2110cd..180149f3ae 100644 --- a/src/bpf_loader.rs +++ b/src/bpf_loader.rs @@ -1,6 +1,6 @@ //! BPF loader -use native_loader; use solana_sdk::account::Account; +use solana_sdk::native_loader; use solana_sdk::pubkey::Pubkey; const BPF_LOADER_NAME: &str = "solana_bpf_loader"; diff --git a/src/native_loader.rs b/src/native_loader.rs index 358f04f645..54f019a605 100644 --- a/src/native_loader.rs +++ b/src/native_loader.rs @@ -7,6 +7,7 @@ use libloading::os::unix::*; use libloading::os::windows::*; use solana_sdk::account::KeyedAccount; use solana_sdk::loader_instruction::LoaderInstruction; +pub use solana_sdk::native_loader::*; use solana_sdk::native_program; use solana_sdk::pubkey::Pubkey; use std::env; @@ -41,18 +42,10 @@ fn create_path(name: &str) -> PathBuf { ) } -const NATIVE_LOADER_PROGRAM_ID: [u8; 32] = [ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -]; - pub fn check_id(program_id: &Pubkey) -> bool { program_id.as_ref() == NATIVE_LOADER_PROGRAM_ID } -pub fn id() -> Pubkey { - Pubkey::new(&NATIVE_LOADER_PROGRAM_ID) -} - pub fn process_instruction( program_id: &Pubkey, keyed_accounts: &mut [KeyedAccount], diff --git a/src/token_program.rs b/src/token_program.rs index e18f51fc03..adbdf70295 100644 --- a/src/token_program.rs +++ b/src/token_program.rs @@ -1,6 +1,6 @@ //! ERC20-like Token program -use native_loader; use solana_sdk::account::Account; +use solana_sdk::native_loader; use solana_sdk::pubkey::Pubkey; const ERC20_NAME: &str = "solana_erc20";