make runtime depend on bpf_loader (#4601)
* make runtime depend on bpf_loader * remove vote redundancy, move bpf_loader to genesis, export program\! from bpf_loader crate * move bpf_loader specification into genesis * bpf tests to use genesis with bpf * need to avoid depending on programs, except for macros
This commit is contained in:
@ -26,6 +26,7 @@ serde_derive = "1.0.92"
|
||||
serde_json = "1.0.38"
|
||||
solana-logger = { path = "../logger", version = "0.16.0" }
|
||||
solana-metrics = { path = "../metrics", version = "0.16.0" }
|
||||
solana-bpfloader = { path = "../programs/bpf_loader", version = "0.16.0" }
|
||||
solana-noop-program = { path = "../programs/noop_program", version = "0.16.0" }
|
||||
solana-sdk = { path = "../sdk", version = "0.16.0" }
|
||||
solana-stake-api = { path = "../programs/stake_api", version = "0.16.0" }
|
||||
|
@ -503,14 +503,6 @@ impl Bank {
|
||||
"solana_system_program",
|
||||
&solana_sdk::system_program::id(),
|
||||
);
|
||||
self.register_native_instruction_processor(
|
||||
"solana_bpf_loader",
|
||||
&solana_sdk::bpf_loader::id(),
|
||||
);
|
||||
self.register_native_instruction_processor(
|
||||
&solana_vote_program!().0,
|
||||
&solana_vote_program!().1,
|
||||
);
|
||||
|
||||
// Add additional native programs specified in the genesis block
|
||||
for (name, program_id) in &genesis_block.native_instruction_processors {
|
||||
|
@ -15,6 +15,10 @@ pub struct GenesisBlockInfo {
|
||||
pub voting_keypair: Keypair,
|
||||
}
|
||||
|
||||
pub fn create_genesis_block(mint_lamports: u64) -> GenesisBlockInfo {
|
||||
create_genesis_block_with_leader(mint_lamports, &Pubkey::new_rand(), 0)
|
||||
}
|
||||
|
||||
pub fn create_genesis_block_with_leader(
|
||||
mint_lamports: u64,
|
||||
bootstrap_leader_pubkey: &Pubkey,
|
||||
@ -60,7 +64,11 @@ pub fn create_genesis_block_with_leader(
|
||||
),
|
||||
),
|
||||
],
|
||||
&[solana_vote_program!(), solana_stake_program!()],
|
||||
&[
|
||||
solana_bpf_loader!(),
|
||||
solana_vote_program!(),
|
||||
solana_stake_program!(),
|
||||
],
|
||||
);
|
||||
|
||||
GenesisBlockInfo {
|
||||
|
@ -27,5 +27,8 @@ extern crate solana_vote_program;
|
||||
#[macro_use]
|
||||
extern crate solana_stake_program;
|
||||
|
||||
#[macro_use]
|
||||
extern crate solana_bpf_loader;
|
||||
|
||||
#[macro_use]
|
||||
extern crate serde_derive;
|
||||
|
Reference in New Issue
Block a user