diff --git a/Cargo.lock b/Cargo.lock index 18477e3d..d9bf5855 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -536,6 +536,7 @@ dependencies = [ "iana-time-zone", "js-sys", "num-traits", + "serde", "wasm-bindgen", "windows-targets 0.52.6", ] @@ -1667,6 +1668,7 @@ dependencies = [ "solana-logger", "solana-program-runtime", "solana-sdk", + "solana-stake-program", "solana-system-program", "solana-timings", ] @@ -2733,6 +2735,22 @@ dependencies = [ "solana-sdk", ] +[[package]] +name = "solana-config-program" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a035a01970ebbf40a244b3b79af533329ac8d48d80b0b98e166e23e35aa88171" +dependencies = [ + "bincode", + "chrono", + "serde", + "serde_derive", + "solana-log-collector", + "solana-program-runtime", + "solana-sdk", + "solana-short-vec", +] + [[package]] name = "solana-cpi" version = "2.1.0" @@ -3344,6 +3362,23 @@ dependencies = [ "solana-pubkey", ] +[[package]] +name = "solana-stake-program" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8bb1a59fdd929becddfaed9ec33a1ca4db853f45ae85e14e4f4054a875fc41d" +dependencies = [ + "bincode", + "log", + "solana-config-program", + "solana-feature-set", + "solana-log-collector", + "solana-program-runtime", + "solana-sdk", + "solana-type-overrides", + "solana-vote-program", +] + [[package]] name = "solana-system-program" version = "2.1.0" @@ -3407,6 +3442,26 @@ dependencies = [ "thiserror", ] +[[package]] +name = "solana-vote-program" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "637cadc921725d1804a451ea7d2dff83310a12b75e0b6c83a8bb67ebc02d10f1" +dependencies = [ + "bincode", + "log", + "num-derive", + "num-traits", + "serde", + "serde_derive", + "solana-feature-set", + "solana-metrics", + "solana-program", + "solana-program-runtime", + "solana-sdk", + "thiserror", +] + [[package]] name = "solana_rbpf" version = "0.8.5" diff --git a/Cargo.toml b/Cargo.toml index b6424f46..79fe18e8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -47,6 +47,7 @@ solana-compute-budget = "=2.1.0" solana-logger = "2.1" solana-program = "2.1" solana-program-runtime = "=2.1.0" +solana-stake-program = "=2.1.0" solana-system-program = "=2.1.0" solana-sdk = "2.1" solana-timings = "=2.1.0" diff --git a/harness/Cargo.toml b/harness/Cargo.toml index 374490a6..2f61da5d 100644 --- a/harness/Cargo.toml +++ b/harness/Cargo.toml @@ -11,6 +11,9 @@ version = { workspace = true } [features] default = [] +all-builtins = [ + "dep:solana-stake-program", +] fuzz = [ "dep:mollusk-svm-fuzz-fixture", "dep:mollusk-svm-fuzz-fs", @@ -31,6 +34,7 @@ solana-bpf-loader-program = { workspace = true } solana-compute-budget = { workspace = true } solana-logger = { workspace = true } solana-program-runtime = { workspace = true } +solana-stake-program = { workspace = true, optional = true } solana-system-program = { workspace = true } solana-sdk = { workspace = true } solana-timings = { workspace = true } diff --git a/harness/src/program.rs b/harness/src/program.rs index 0d920fd0..cb31cd00 100644 --- a/harness/src/program.rs +++ b/harness/src/program.rs @@ -142,6 +142,12 @@ static BUILTINS: &[Builtin] = &[ name: "solana_bpf_loader_upgradeable_program", entrypoint: solana_bpf_loader_program::Entrypoint::vm, }, + #[cfg(feature = "all-builtins")] + Builtin { + program_id: solana_sdk::stake::program::id(), + name: "solana_stake_program", + entrypoint: solana_stake_program::stake_instruction::Entrypoint::vm, + }, /* ... */ ];