get DLL names from programs that made the DLL (#4269)

* get program names from programs

* fixup
This commit is contained in:
Rob Walker 2019-05-13 14:17:44 -07:00 committed by GitHub
parent 796000e96f
commit 0d2574f8f0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 36 additions and 11 deletions

3
Cargo.lock generated
View File

@ -2461,9 +2461,11 @@ dependencies = [
"solana-exchange-api 0.15.0", "solana-exchange-api 0.15.0",
"solana-sdk 0.15.0", "solana-sdk 0.15.0",
"solana-stake-api 0.15.0", "solana-stake-api 0.15.0",
"solana-stake-program 0.15.0",
"solana-storage-api 0.15.0", "solana-storage-api 0.15.0",
"solana-token-api 0.15.0", "solana-token-api 0.15.0",
"solana-vote-api 0.15.0", "solana-vote-api 0.15.0",
"solana-vote-program 0.15.0",
] ]
[[package]] [[package]]
@ -2621,6 +2623,7 @@ dependencies = [
"solana-sdk 0.15.0", "solana-sdk 0.15.0",
"solana-stake-api 0.15.0", "solana-stake-api 0.15.0",
"solana-vote-api 0.15.0", "solana-vote-api 0.15.0",
"solana-vote-program 0.15.0",
] ]
[[package]] [[package]]

View File

@ -15,7 +15,9 @@ solana = { path = "../core", version = "0.15.0" }
solana-sdk = { path = "../sdk", version = "0.15.0" } solana-sdk = { path = "../sdk", version = "0.15.0" }
solana-budget-api = { path = "../programs/budget_api", version = "0.15.0" } solana-budget-api = { path = "../programs/budget_api", version = "0.15.0" }
solana-vote-api = { path = "../programs/vote_api", version = "0.15.0" } solana-vote-api = { path = "../programs/vote_api", version = "0.15.0" }
solana-vote-program = { path = "../programs/vote_program", version = "0.15.0" }
solana-stake-api = { path = "../programs/stake_api", version = "0.15.0" } solana-stake-api = { path = "../programs/stake_api", version = "0.15.0" }
solana-stake-program = { path = "../programs/stake_program", version = "0.15.0" }
solana-storage-api = { path = "../programs/storage_api", version = "0.15.0" } solana-storage-api = { path = "../programs/storage_api", version = "0.15.0" }
solana-token-api = { path = "../programs/token_api", version = "0.15.0" } solana-token-api = { path = "../programs/token_api", version = "0.15.0" }
solana-config-api = { path = "../programs/config_api", version = "0.15.0" } solana-config-api = { path = "../programs/config_api", version = "0.15.0" }

View File

@ -1,4 +1,8 @@
//! A command-line executable for generating the chain's genesis block. //! A command-line executable for generating the chain's genesis block.
#[macro_use]
extern crate solana_vote_program;
#[macro_use]
extern crate solana_stake_program;
use clap::{crate_description, crate_name, crate_version, value_t_or_exit, App, Arg}; use clap::{crate_description, crate_name, crate_version, value_t_or_exit, App, Arg};
use solana::blocktree::create_new_ledger; use solana::blocktree::create_new_ledger;
@ -144,8 +148,8 @@ fn main() -> Result<(), Box<dyn error::Error>> {
), ),
], ],
&[ &[
("solana_vote_program".to_string(), solana_vote_api::id()), solana_vote_program!(),
("solana_stake_program".to_string(), solana_stake_api::id()), solana_stake_program!(),
("solana_budget_program".to_string(), solana_budget_api::id()), ("solana_budget_program".to_string(), solana_budget_api::id()),
( (
"solana_storage_program".to_string(), "solana_storage_program".to_string(),

View File

@ -16,5 +16,4 @@ solana-stake-api = { path = "../stake_api", version = "0.15.0" }
[lib] [lib]
name = "solana_stake_program" name = "solana_stake_program"
crate-type = ["cdylib"] crate-type = ["lib", "cdylib"]

View File

@ -1,3 +1,9 @@
use solana_stake_api::stake_instruction::process_instruction; #[macro_export]
macro_rules! solana_stake_program {
() => {
("solana_stake_program".to_string(), solana_stake_api::id())
};
}
use solana_stake_api::stake_instruction::process_instruction;
solana_sdk::solana_entrypoint!(process_instruction); solana_sdk::solana_entrypoint!(process_instruction);

View File

@ -1,7 +1,7 @@
[package] [package]
name = "solana-vote-program" name = "solana-vote-program"
version = "0.15.0" version = "0.15.0"
description = "Solana vote program" description = "Solana Vote program"
authors = ["Solana Maintainers <maintainers@solana.com>"] authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana" repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0" license = "Apache-2.0"
@ -16,5 +16,4 @@ solana-vote-api = { path = "../vote_api", version = "0.15.0" }
[lib] [lib]
name = "solana_vote_program" name = "solana_vote_program"
crate-type = ["cdylib"] crate-type = ["lib","cdylib"]

View File

@ -1,3 +1,9 @@
use solana_vote_api::vote_instruction::process_instruction; #[macro_export]
macro_rules! solana_vote_program {
() => {
("solana_vote_program".to_string(), solana_vote_api::id())
};
}
use solana_vote_api::vote_instruction::process_instruction;
solana_sdk::solana_entrypoint!(process_instruction); solana_sdk::solana_entrypoint!(process_instruction);

View File

@ -28,6 +28,7 @@ solana-metrics = { path = "../metrics", version = "0.15.0" }
solana-sdk = { path = "../sdk", version = "0.15.0" } solana-sdk = { path = "../sdk", version = "0.15.0" }
solana-stake-api = { path = "../programs/stake_api", version = "0.15.0" } solana-stake-api = { path = "../programs/stake_api", version = "0.15.0" }
solana-vote-api = { path = "../programs/vote_api", version = "0.15.0" } solana-vote-api = { path = "../programs/vote_api", version = "0.15.0" }
solana-vote-program = { path = "../programs/vote_program", version = "0.15.0" }
[lib] [lib]
name = "solana_runtime" name = "solana_runtime"

View File

@ -2,7 +2,6 @@
//! programs. It offers a high-level API that signs transactions //! programs. It offers a high-level API that signs transactions
//! on behalf of the caller, and a low-level API for when they have //! on behalf of the caller, and a low-level API for when they have
//! already been signed and verified. //! already been signed and verified.
use crate::accounts::{AccountLockType, Accounts}; use crate::accounts::{AccountLockType, Accounts};
use crate::accounts_db::{ErrorCounters, InstructionAccounts, InstructionLoaders}; use crate::accounts_db::{ErrorCounters, InstructionAccounts, InstructionLoaders};
use crate::accounts_index::Fork; use crate::accounts_index::Fork;
@ -383,7 +382,10 @@ impl Bank {
"solana_bpf_loader", "solana_bpf_loader",
&solana_sdk::bpf_loader::id(), &solana_sdk::bpf_loader::id(),
); );
self.register_native_instruction_processor("solana_vote_program", &solana_vote_api::id()); self.register_native_instruction_processor(
&solana_vote_program!().0,
&solana_vote_program!().1,
);
// 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 {

View File

@ -17,5 +17,8 @@ mod system_instruction_processor;
#[macro_use] #[macro_use]
extern crate solana_metrics; extern crate solana_metrics;
#[macro_use]
extern crate solana_vote_program;
#[macro_use] #[macro_use]
extern crate serde_derive; extern crate serde_derive;