From c68da4b479f526d6cae6dd86512e9c939e137553 Mon Sep 17 00:00:00 2001 From: hana <81144685+2501babe@users.noreply.github.com> Date: Fri, 6 Dec 2024 03:30:38 -0800 Subject: [PATCH 1/2] add native stake program --- Cargo.lock | 55 ++++++++++++++++++++++++++++++++++++++++++ Cargo.toml | 1 + harness/Cargo.toml | 1 + harness/src/program.rs | 5 ++++ 4 files changed, 62 insertions(+) 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..2cf234dc 100644 --- a/harness/Cargo.toml +++ b/harness/Cargo.toml @@ -31,6 +31,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 } 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..610c124e 100644 --- a/harness/src/program.rs +++ b/harness/src/program.rs @@ -142,6 +142,11 @@ static BUILTINS: &[Builtin] = &[ name: "solana_bpf_loader_upgradeable_program", entrypoint: solana_bpf_loader_program::Entrypoint::vm, }, + Builtin { + program_id: solana_sdk::stake::program::id(), + name: "solana_stake_program", + entrypoint: solana_stake_program::stake_instruction::Entrypoint::vm, + }, /* ... */ ]; From e4d90c2c6522fc7c4c1d01ac9c563aac705104a5 Mon Sep 17 00:00:00 2001 From: hana <81144685+2501babe@users.noreply.github.com> Date: Tue, 10 Dec 2024 00:30:19 -0800 Subject: [PATCH 2/2] feature gate stake program --- harness/Cargo.toml | 5 ++++- harness/src/program.rs | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/harness/Cargo.toml b/harness/Cargo.toml index 2cf234dc..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,7 +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 } +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 610c124e..cb31cd00 100644 --- a/harness/src/program.rs +++ b/harness/src/program.rs @@ -142,6 +142,7 @@ 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",