Synchronize and cleanup instruction processor lists (#5356)
This commit is contained in:
2
genesis_programs/.gitignore
vendored
Normal file
2
genesis_programs/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
/target/
|
||||
/farf/
|
35
genesis_programs/Cargo.toml
Normal file
35
genesis_programs/Cargo.toml
Normal file
@@ -0,0 +1,35 @@
|
||||
[package]
|
||||
name = "solana-genesis-programs"
|
||||
version = "0.18.0-pre0"
|
||||
description = "Solana genesis programs"
|
||||
authors = ["Solana Maintainers <maintainers@solana.com>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
hashbrown = "0.2.0"
|
||||
solana-bpf-loader-api = { path = "../programs/bpf_loader_api", version = "0.18.0-pre0" }
|
||||
solana-bpf-loader-program = { path = "../programs/bpf_loader_program", version = "0.18.0-pre0" }
|
||||
solana-budget-api= { path = "../programs/budget_api", version = "0.18.0-pre0" }
|
||||
solana-budget-program = { path = "../programs/budget_program", version = "0.18.0-pre0" }
|
||||
solana-config-api = { path = "../programs/config_api", version = "0.18.0-pre0" }
|
||||
solana-config-program = { path = "../programs/config_program", version = "0.18.0-pre0" }
|
||||
solana-exchange-api = { path = "../programs/exchange_api", version = "0.18.0-pre0" }
|
||||
solana-exchange-program = { path = "../programs/exchange_program", version = "0.18.0-pre0" }
|
||||
solana-move-loader-program = { path = "../programs/move_loader_program", version = "0.18.0-pre0" }
|
||||
solana-move-loader-api = { path = "../programs/move_loader_api", version = "0.18.0-pre0" }
|
||||
solana-sdk = { path = "../sdk", version = "0.18.0-pre0" }
|
||||
solana-stake-api = { path = "../programs/stake_api", version = "0.18.0-pre0" }
|
||||
solana-stake-program = { path = "../programs/stake_program", version = "0.18.0-pre0" }
|
||||
solana-storage-api = { path = "../programs/storage_api", version = "0.18.0-pre0" }
|
||||
solana-storage-program = { path = "../programs/storage_program", version = "0.18.0-pre0" }
|
||||
solana-token-api = { path = "../programs/token_api", version = "0.18.0-pre0" }
|
||||
solana-token-program = { path = "../programs/token_program", version = "0.18.0-pre0" }
|
||||
solana-vote-api = { path = "../programs/vote_api", version = "0.18.0-pre0" }
|
||||
solana-vote-program = { path = "../programs/vote_program", version = "0.18.0-pre0" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib"]
|
||||
name = "solana_genesis_programs"
|
58
genesis_programs/src/lib.rs
Normal file
58
genesis_programs/src/lib.rs
Normal file
@@ -0,0 +1,58 @@
|
||||
use solana_sdk::pubkey::Pubkey;
|
||||
|
||||
#[macro_use]
|
||||
extern crate solana_bpf_loader_program;
|
||||
#[macro_use]
|
||||
extern crate solana_budget_program;
|
||||
#[macro_use]
|
||||
extern crate solana_config_program;
|
||||
#[macro_use]
|
||||
extern crate solana_exchange_program;
|
||||
#[macro_use]
|
||||
extern crate solana_move_loader_program;
|
||||
#[macro_use]
|
||||
extern crate solana_stake_program;
|
||||
#[macro_use]
|
||||
extern crate solana_storage_program;
|
||||
#[macro_use]
|
||||
extern crate solana_token_program;
|
||||
#[macro_use]
|
||||
extern crate solana_vote_program;
|
||||
|
||||
pub fn get() -> Vec<(String, Pubkey)> {
|
||||
vec![
|
||||
solana_bpf_loader_program!(),
|
||||
solana_budget_program!(),
|
||||
solana_config_program!(),
|
||||
solana_exchange_program!(),
|
||||
solana_move_loader_program!(),
|
||||
solana_stake_program!(),
|
||||
solana_storage_program!(),
|
||||
solana_token_program!(),
|
||||
solana_vote_program!(),
|
||||
]
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use hashbrown::HashSet;
|
||||
|
||||
#[test]
|
||||
fn test_id_uniqueness() {
|
||||
let mut unique = HashSet::new();
|
||||
let ids = vec![
|
||||
solana_budget_api::id(),
|
||||
solana_config_api::id(),
|
||||
solana_exchange_api::id(),
|
||||
solana_move_loader_api::id(),
|
||||
solana_sdk::bpf_loader::id(),
|
||||
solana_sdk::native_loader::id(),
|
||||
solana_sdk::system_program::id(),
|
||||
solana_stake_api::id(),
|
||||
solana_storage_api::id(),
|
||||
solana_token_api::id(),
|
||||
solana_vote_api::id(),
|
||||
];
|
||||
assert!(ids.into_iter().all(move |id| unique.insert(id)));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user