System program is now registered like all other native programs (#5526)

This commit is contained in:
Michael Vines
2019-08-15 21:07:00 -07:00
committed by GitHub
parent e73cbdda61
commit 8258532791
5 changed files with 10 additions and 9 deletions

View File

@ -1,4 +1,5 @@
use solana_sdk::pubkey::Pubkey; use solana_sdk::pubkey::Pubkey;
use solana_sdk::system_program::solana_system_program;
#[macro_use] #[macro_use]
extern crate solana_bpf_loader_program; extern crate solana_bpf_loader_program;
@ -21,6 +22,7 @@ extern crate solana_vote_program;
pub fn get() -> Vec<(String, Pubkey)> { pub fn get() -> Vec<(String, Pubkey)> {
vec![ vec![
solana_system_program(),
solana_bpf_loader_program!(), solana_bpf_loader_program!(),
solana_budget_program!(), solana_budget_program!(),
solana_config_program!(), solana_config_program!(),

View File

@ -613,12 +613,6 @@ impl Bank {
self.inflation = genesis_block.inflation.clone(); self.inflation = genesis_block.inflation.clone();
// Add native programs mandatory for the MessageProcessor to function
self.register_native_instruction_processor(
"solana_system_program",
&solana_sdk::system_program::id(),
);
// Add additional native programs specified in the genesis block // Add additional native programs specified in the genesis block
for (name, program_id) in &genesis_block.native_instruction_processors { for (name, program_id) in &genesis_block.native_instruction_processors {
self.register_native_instruction_processor(name, program_id); self.register_native_instruction_processor(name, program_id);

View File

@ -4,7 +4,7 @@ use solana_sdk::{
genesis_block::{Builder, GenesisBlock}, genesis_block::{Builder, GenesisBlock},
pubkey::Pubkey, pubkey::Pubkey,
signature::{Keypair, KeypairUtil}, signature::{Keypair, KeypairUtil},
system_program, system_program::{self, solana_system_program},
}; };
use solana_stake_api::stake_state; use solana_stake_api::stake_state;
use solana_vote_api::vote_state; use solana_vote_api::vote_state;
@ -66,6 +66,7 @@ pub fn create_genesis_block_with_leader(
]) ])
// Bare minimum program set // Bare minimum program set
.native_instruction_processors(&[ .native_instruction_processors(&[
solana_system_program(),
solana_bpf_loader_program!(), solana_bpf_loader_program!(),
solana_vote_program!(), solana_vote_program!(),
solana_stake_program!(), solana_stake_program!(),

View File

@ -8,7 +8,7 @@ use crate::poh_config::PohConfig;
use crate::pubkey::Pubkey; use crate::pubkey::Pubkey;
use crate::rent::Rent; use crate::rent::Rent;
use crate::signature::{Keypair, KeypairUtil}; use crate::signature::{Keypair, KeypairUtil};
use crate::system_program; use crate::system_program::{self, solana_system_program};
use crate::timing::{DEFAULT_SLOTS_PER_EPOCH, DEFAULT_SLOTS_PER_SEGMENT, DEFAULT_TICKS_PER_SLOT}; use crate::timing::{DEFAULT_SLOTS_PER_EPOCH, DEFAULT_SLOTS_PER_SEGMENT, DEFAULT_TICKS_PER_SLOT};
use bincode::{deserialize, serialize}; use bincode::{deserialize, serialize};
use memmap::Mmap; use memmap::Mmap;
@ -41,7 +41,7 @@ pub fn create_genesis_block(lamports: u64) -> (GenesisBlock, Keypair) {
mint_keypair.pubkey(), mint_keypair.pubkey(),
Account::new(lamports, 0, &system_program::id()), Account::new(lamports, 0, &system_program::id()),
)], )],
&[], &[solana_system_program()],
), ),
mint_keypair, mint_keypair,
) )

View File

@ -3,3 +3,7 @@ const ID: [u8; 32] = [
]; ];
crate::solana_name_id!(ID, "11111111111111111111111111111111"); crate::solana_name_id!(ID, "11111111111111111111111111111111");
pub fn solana_system_program() -> (String, crate::pubkey::Pubkey) {
("solana_system_program".to_string(), id())
}