diff --git a/Cargo.lock b/Cargo.lock index b140ab11c..0bb3bbd3a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1968,6 +1968,7 @@ dependencies = [ "solana-metrics 0.12.0", "solana-native-loader 0.12.0", "solana-netutil 0.12.0", + "solana-runtime 0.12.0", "solana-sdk 0.12.0", "solana-system-program 0.12.0", "solana-vote-signer 0.12.0", @@ -2200,6 +2201,15 @@ dependencies = [ "solana-sdk 0.12.0", ] +[[package]] +name = "solana-runtime" +version = "0.12.0" +dependencies = [ + "solana-native-loader 0.12.0", + "solana-sdk 0.12.0", + "solana-system-program 0.12.0", +] + [[package]] name = "solana-sdk" version = "0.12.0" diff --git a/Cargo.toml b/Cargo.toml index d2c741c74..6a4529834 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -55,6 +55,7 @@ solana-logger = { path = "logger", version = "0.12.0" } solana-metrics = { path = "metrics", version = "0.12.0" } solana-native-loader = { path = "programs/native/native_loader", version = "0.12.0" } solana-netutil = { path = "netutil", version = "0.12.0" } +solana-runtime = { path = "runtime", version = "0.12.0" } solana-sdk = { path = "sdk", version = "0.12.0" } solana-system-program = { path = "programs/native/system", version = "0.12.0" } solana-vote-signer = { path = "vote-signer", version = "0.12.0" } diff --git a/ci/publish-crate.sh b/ci/publish-crate.sh index c25efc640..74c78078a 100755 --- a/ci/publish-crate.sh +++ b/ci/publish-crate.sh @@ -24,6 +24,7 @@ CRATES=( genesis ledger-tool wallet + runtime ) diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml new file mode 100644 index 000000000..2d1ba2eed --- /dev/null +++ b/runtime/Cargo.toml @@ -0,0 +1,19 @@ +[package] +name = "solana-runtime" +version = "0.12.0" +description = "Solana runtime" +authors = ["Solana Maintainers "] +repository = "https://github.com/solana-labs/solana" +license = "Apache-2.0" +homepage = "https://solana.com/" +edition = "2018" + +[dependencies] +solana-sdk = { path = "../sdk", version = "0.12.0" } +solana-native-loader = { path = "../programs/native/native_loader", version = "0.12.0" } +solana-system-program = { path = "../programs/native/system", version = "0.12.0" } + +[lib] +name = "solana_runtime" +crate-type = ["lib"] + diff --git a/src/runtime.rs b/runtime/src/lib.rs similarity index 100% rename from src/runtime.rs rename to runtime/src/lib.rs diff --git a/src/bank.rs b/src/bank.rs index ae2fbf061..df664456a 100644 --- a/src/bank.rs +++ b/src/bank.rs @@ -12,12 +12,12 @@ use crate::last_id_queue::{LastIdQueue, MAX_ENTRY_IDS}; use crate::leader_scheduler::{LeaderScheduler, LeaderSchedulerConfig}; use crate::poh_recorder::{PohRecorder, PohRecorderError}; use crate::result::Error; -use crate::runtime::{self, RuntimeError}; use crate::status_cache::StatusCache; use bincode::deserialize; use itertools::Itertools; use log::Level; use rayon::prelude::*; +use solana_runtime::{self, RuntimeError}; use solana_sdk::account::Account; use solana_sdk::bpf_loader; use solana_sdk::budget_program; @@ -578,7 +578,7 @@ impl Bank { .map(|(accs, tx)| match accs { Err(e) => Err(e.clone()), Ok((ref mut accounts, ref mut loaders)) => { - runtime::execute_transaction(tx, loaders, accounts, tick_height).map_err( + solana_runtime::execute_transaction(tx, loaders, accounts, tick_height).map_err( |RuntimeError::ProgramError(index, err)| { BankError::ProgramError(index, err) }, diff --git a/src/lib.rs b/src/lib.rs index 2157a589b..55bf1b0df 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -58,7 +58,6 @@ pub mod rpc; pub mod rpc_mock; pub mod rpc_pubsub; pub mod rpc_request; -pub mod runtime; pub mod service; pub mod sigverify; pub mod sigverify_stage;