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:
@ -73,6 +73,9 @@ pub mod window_service;
|
||||
#[macro_use]
|
||||
extern crate solana_budget_program;
|
||||
|
||||
#[macro_use]
|
||||
extern crate solana_storage_program;
|
||||
|
||||
#[cfg(test)]
|
||||
#[macro_use]
|
||||
extern crate hex_literal;
|
||||
|
@ -20,8 +20,8 @@ use solana_sdk::timing::DEFAULT_SLOTS_PER_EPOCH;
|
||||
use solana_sdk::timing::DEFAULT_TICKS_PER_SLOT;
|
||||
use solana_sdk::transaction::Transaction;
|
||||
use solana_stake_api::stake_instruction;
|
||||
use solana_storage_api::storage_contract;
|
||||
use solana_storage_api::storage_instruction;
|
||||
use solana_storage_program::genesis_block_util::GenesisBlockUtil;
|
||||
use solana_vote_api::vote_instruction;
|
||||
use solana_vote_api::vote_state::VoteState;
|
||||
use std::collections::HashMap;
|
||||
@ -130,8 +130,6 @@ impl LocalCluster {
|
||||
&leader_pubkey,
|
||||
config.node_stakes[0],
|
||||
);
|
||||
let storage_keypair = Keypair::new();
|
||||
genesis_block.add_storage_program(&leader_pubkey, &storage_keypair.pubkey());
|
||||
genesis_block.ticks_per_slot = config.ticks_per_slot;
|
||||
genesis_block.slots_per_epoch = config.slots_per_epoch;
|
||||
genesis_block.stakers_slot_offset = config.stakers_slot_offset;
|
||||
@ -140,6 +138,15 @@ impl LocalCluster {
|
||||
.native_instruction_processors
|
||||
.extend_from_slice(&config.native_instruction_processors);
|
||||
|
||||
let storage_keypair = Keypair::new();
|
||||
genesis_block.accounts.push((
|
||||
storage_keypair.pubkey(),
|
||||
storage_contract::create_validator_storage_account(leader_pubkey, 1),
|
||||
));
|
||||
genesis_block
|
||||
.native_instruction_processors
|
||||
.push(solana_storage_program!());
|
||||
|
||||
let (genesis_ledger_path, _blockhash) = create_new_tmp_ledger!(&genesis_block);
|
||||
let leader_ledger_path = tmp_copy_blocktree!(&genesis_ledger_path);
|
||||
let leader_contact_info = leader_node.info.clone();
|
||||
|
Reference in New Issue
Block a user