Remove runtime dependency on storage (#4480)

This commit is contained in:
Michael Vines
2019-05-30 10:54:28 -07:00
committed by GitHub
parent c82f4a1b6d
commit 39b40dfff8
8 changed files with 28 additions and 30 deletions

View File

@ -0,0 +1,19 @@
use crate::solana_storage_program;
use solana_sdk::genesis_block::GenesisBlock;
use solana_sdk::pubkey::Pubkey;
use solana_storage_api::storage_contract;
pub trait GenesisBlockUtil {
fn add_storage_program(&mut self, validator_storage_pubkey: &Pubkey);
}
impl GenesisBlockUtil for GenesisBlock {
fn add_storage_program(&mut self, validator_storage_pubkey: &Pubkey) {
self.accounts.push((
*validator_storage_pubkey,
storage_contract::create_validator_storage_account(1),
));
self.native_instruction_processors
.push(solana_storage_program!());
}
}

View File

@ -1,3 +1,5 @@
pub mod genesis_block_util;
#[macro_export]
macro_rules! solana_storage_program {
() => {