Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
45585f5
Bump all crates
joncinque Aug 12, 2025
531298e
Update programs/sbf deps and lockfile
joncinque Aug 13, 2025
fce9e8f
Update programs/sbf and tests
joncinque Aug 13, 2025
c1c14dd
Update lockfile
joncinque Aug 13, 2025
b16bd4f
Straightforward changes, updating type names and functions
joncinque Aug 13, 2025
c6b5fef
IMPORTANT: Update runtime / syscalls with new AccountInfo
joncinque Aug 13, 2025
2fbd27a
Update sol_to_lamports and lamports_to_sol in libs
joncinque Aug 13, 2025
562e61e
zk-keygen: update to zk-sdk and v3 crates
joncinque Aug 13, 2025
66fec11
watchtower: Update to v3 crates and sol_str_to_lamports
joncinque Aug 13, 2025
4db4dd2
test-validator: Update sol string parsing with sol_str_to_lamports
joncinque Aug 13, 2025
73c210f
gossip: Update to sdk v3 crates
joncinque Aug 13, 2025
c95a759
faucet: Use build_balance_message instead of floats
joncinque Aug 13, 2025
6d0eb01
ledger-tool: Use build_balance_message and new imports
joncinque Aug 13, 2025
a1d8a1d
stake-accounts: Update to sol_str_to_lamports / build_balance_message
joncinque Aug 13, 2025
101bdaf
tokens: Use build_balance_message / sol_str_to_lamports
joncinque Aug 13, 2025
d6d280b
cli: Update dependencies and string treatment
joncinque Aug 13, 2025
c3702c5
Fix clippy issue
joncinque Aug 13, 2025
161fd2b
Update lockfiles post-rebase
joncinque Aug 13, 2025
3bc03aa
Enable crate features now required based on hack check
joncinque Aug 13, 2025
2f1424d
Run cargo sort
joncinque Aug 13, 2025
28e0674
Update frozen-abi based on VoteState name change
joncinque Aug 13, 2025
4562fb1
Run cargo fmt on programs/sbf
joncinque Aug 13, 2025
edfb140
Fixup expected strings in tests
joncinque Aug 13, 2025
a91fe42
Remove SysvarId where not needed
joncinque Aug 13, 2025
415818d
Update program-entrypoint to v3.1
joncinque Aug 13, 2025
d74e394
Fixup failing sbf tests
joncinque Aug 13, 2025
1efc081
Fix rebase issue, use cluster-type from new crate
joncinque Aug 13, 2025
7595991
Fixup lockfile everywhere
joncinque Aug 13, 2025
83829e4
Fix unused import error for non-solana builds
joncinque Aug 13, 2025
447baba
Update programs and tests
joncinque Aug 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2,505 changes: 1,296 additions & 1,209 deletions Cargo.lock

Large diffs are not rendered by default.

200 changes: 99 additions & 101 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,6 @@ bincode = "1.3.3"
bitflags = { version = "2.9.1" }
blake3 = "1.8.2"
borsh = { version = "1.5.7", features = ["derive", "unstable__schema"] }
borsh0-10 = { package = "borsh", version = "0.10.3" }
bs58 = { version = "0.5.1", default-features = false }
bv = "0.11.1"
byte-unit = "4.0.19"
Expand Down Expand Up @@ -371,23 +370,23 @@ smallvec = "1.15.1"
smpl_jwt = "0.7.1"
socket2 = "0.6.0"
soketto = "0.7"
solana-account = "2.2.1"
solana-account = "3.0.0"
solana-account-decoder = { path = "account-decoder", version = "=3.0.0" }
solana-account-decoder-client-types = { path = "account-decoder-client-types", version = "=3.0.0" }
solana-account-info = "2.3.0"
solana-account-info = "3.0.0"
solana-accounts-db = { path = "accounts-db", version = "=3.0.0" }
solana-address-lookup-table-interface = "2.2.2"
solana-atomic-u64 = "2.2.1"
solana-address-lookup-table-interface = "3.0.0"
solana-atomic-u64 = "3.0.0"
solana-banks-client = { path = "banks-client", version = "=3.0.0" }
solana-banks-interface = { path = "banks-interface", version = "=3.0.0" }
solana-banks-server = { path = "banks-server", version = "=3.0.0" }
solana-bench-tps = { path = "bench-tps", version = "=3.0.0" }
solana-big-mod-exp = "2.2.1"
solana-bincode = "2.2.1"
solana-blake3-hasher = "2.2.1"
solana-big-mod-exp = "3.0.0"
solana-bincode = "3.0.0"
solana-blake3-hasher = "3.0.0"
solana-bloom = { path = "bloom", version = "=3.0.0" }
solana-bn254 = "2.2.2"
solana-borsh = "2.2.1"
solana-bn254 = "3.0.0"
solana-borsh = "3.0.0"
solana-bpf-loader-program = { path = "programs/bpf_loader", version = "=3.0.0" }
solana-bucket-map = { path = "bucket_map", version = "=3.0.0" }
solana-builtins = { path = "builtins", version = "=3.0.0" }
Expand All @@ -398,125 +397,124 @@ solana-cli = { path = "cli", version = "=3.0.0" }
solana-cli-config = { path = "cli-config", version = "=3.0.0" }
solana-cli-output = { path = "cli-output", version = "=3.0.0" }
solana-client = { path = "client", version = "=3.0.0" }
solana-client-traits = "2.2.1"
solana-clock = "2.2.2"
solana-cluster-type = "2.2.1"
solana-commitment-config = "2.2.1"
solana-client-traits = "3.0.0"
solana-clock = "3.0.0"
solana-cluster-type = "3.0.0"
solana-commitment-config = "3.0.0"
solana-compute-budget = { path = "compute-budget", version = "=3.0.0" }
solana-compute-budget-instruction = { path = "compute-budget-instruction", version = "=3.0.0" }
solana-compute-budget-interface = "2.2.2"
solana-compute-budget-interface = "3.0.0"
solana-compute-budget-program = { path = "programs/compute-budget", version = "=3.0.0" }
solana-config-interface = "1.0.0"
solana-config-program-client = "1.1.0"
solana-config-interface = "2.0.0"
solana-connection-cache = { path = "connection-cache", version = "=3.0.0", default-features = false }
solana-core = { path = "core", version = "=3.0.0" }
solana-cost-model = { path = "cost-model", version = "=3.0.0" }
solana-cpi = "2.2.1"
solana-cpi = "3.0.0"
solana-curve25519 = { path = "curves/curve25519", version = "=3.0.0" }
solana-define-syscall = "2.3.0"
solana-derivation-path = "2.2.1"
solana-define-syscall = "3.0.0"
solana-derivation-path = "3.0.0"
solana-download-utils = { path = "download-utils", version = "=3.0.0" }
solana-ed25519-program = "2.2.3"
solana-ed25519-program = "3.0.0"
solana-entry = { path = "entry", version = "=3.0.0" }
solana-epoch-info = "2.2.1"
solana-epoch-rewards = "2.2.1"
solana-epoch-rewards-hasher = "2.2.1"
solana-epoch-schedule = "2.2.1"
solana-example-mocks = "2.2.1"
solana-epoch-info = "3.0.0"
solana-epoch-rewards = "3.0.0"
solana-epoch-rewards-hasher = "3.0.0"
solana-epoch-schedule = "3.0.0"
solana-example-mocks = "3.0.0"
solana-faucet = { path = "faucet", version = "=3.0.0" }
solana-feature-gate-client = "0.0.2"
solana-feature-gate-interface = "2.2.2"
solana-feature-gate-interface = "3.0.0"
solana-fee = { path = "fee", version = "=3.0.0" }
solana-fee-calculator = "2.2.1"
solana-fee-structure = "2.3.0"
solana-fee-calculator = "3.0.0"
solana-fee-structure = "3.0.0"
solana-file-download = "3.0.0"
solana-frozen-abi = "2.3.0"
solana-frozen-abi = "3.0.0"
solana-frozen-abi-macro = "3.0.0"
solana-genesis = { path = "genesis", version = "=3.0.0" }
solana-genesis-config = "2.3.0"
solana-genesis-config = "3.0.0"
solana-genesis-utils = { path = "genesis-utils", version = "=3.0.0" }
solana-geyser-plugin-manager = { path = "geyser-plugin-manager", version = "=3.0.0" }
solana-gossip = { path = "gossip", version = "=3.0.0" }
solana-hard-forks = "2.2.1"
solana-hash = "2.3.0"
solana-inflation = "2.2.1"
solana-instruction = "2.3.0"
solana-instructions-sysvar = "2.2.2"
solana-keccak-hasher = "2.2.1"
solana-keypair = "2.2.1"
solana-last-restart-slot = "2.2.1"
solana-hard-forks = "3.0.0"
solana-hash = "3.0.0"
solana-inflation = "3.0.0"
solana-instruction = "3.0.0"
solana-instruction-error = "2.0.0"
solana-instructions-sysvar = "3.0.0"
solana-keccak-hasher = "3.0.0"
solana-keypair = "3.0.0"
solana-last-restart-slot = "3.0.0"
solana-lattice-hash = { path = "lattice-hash", version = "=3.0.0" }
solana-ledger = { path = "ledger", version = "=3.0.0" }
solana-loader-v2-interface = "2.2.1"
solana-loader-v3-interface = "5.0.0"
solana-loader-v4-interface = "2.2.1"
solana-loader-v2-interface = "3.0.0"
solana-loader-v3-interface = "6.1.0"
solana-loader-v4-interface = "3.1.0"
solana-loader-v4-program = { path = "programs/loader-v4", version = "=3.0.0" }
solana-local-cluster = { path = "local-cluster", version = "=3.0.0" }
solana-logger = "3.0.0"
solana-low-pass-filter = { path = "low-pass-filter", version = "=3.0.0" }
solana-measure = { path = "measure", version = "=3.0.0" }
solana-merkle-tree = { path = "merkle-tree", version = "=3.0.0" }
solana-message = "2.4.0"
solana-message = "3.0.0"
solana-metrics = { path = "metrics", version = "=3.0.0" }
solana-msg = "2.2.1"
solana-native-token = "2.2.2"
solana-msg = "3.0.0"
solana-native-token = "3.0.0"
solana-net-utils = { path = "net-utils", version = "=3.0.0" }
solana-nohash-hasher = "0.2.1"
solana-nonce = "2.2.1"
solana-nonce-account = "2.2.1"
solana-nonce = "3.0.0"
solana-nonce-account = "3.0.0"
solana-notifier = { path = "notifier", version = "=3.0.0" }
solana-offchain-message = "2.2.1"
solana-packet = "2.2.1"
solana-offchain-message = "3.0.0"
solana-packet = "3.0.0"
solana-perf = { path = "perf", version = "=3.0.0" }
solana-poh = { path = "poh", version = "=3.0.0" }
solana-poh-config = "2.2.1"
solana-poh-config = "3.0.0"
solana-poseidon = { path = "poseidon", version = "=3.0.0" }
solana-precompile-error = "2.2.2"
solana-presigner = "2.2.1"
solana-program = { version = "2.3.0", default-features = false }
solana-program-entrypoint = "2.3.0"
solana-program-error = "2.2.2"
solana-program-memory = "2.3.1"
solana-program-option = "2.2.1"
solana-program-pack = "2.2.1"
solana-precompile-error = "3.0.0"
solana-presigner = "3.0.0"
solana-program = { version = "3.0.0", default-features = false }
solana-program-entrypoint = "3.1.0"
solana-program-error = "3.0.0"
solana-program-memory = "3.0.0"
solana-program-option = "3.0.0"
solana-program-pack = "3.0.0"
solana-program-runtime = { path = "program-runtime", version = "=3.0.0" }
solana-program-test = { path = "program-test", version = "=3.0.0" }
solana-pubkey = { version = "2.4.0", default-features = false }
solana-pubkey = { version = "3.0.0", default-features = false }
solana-pubsub-client = { path = "pubsub-client", version = "=3.0.0" }
solana-quic-client = { path = "quic-client", version = "=3.0.0" }
solana-quic-definitions = "2.3.0"
solana-quic-definitions = "3.0.0"
solana-rayon-threadlimit = { path = "rayon-threadlimit", version = "=3.0.0" }
solana-remote-wallet = { path = "remote-wallet", version = "=3.0.0", default-features = false }
solana-rent = "2.2.1"
solana-reward-info = "2.2.1"
solana-rent = "3.0.0"
solana-reward-info = "3.0.0"
solana-rpc = { path = "rpc", version = "=3.0.0" }
solana-rpc-client = { path = "rpc-client", version = "=3.0.0", default-features = false }
solana-rpc-client-api = { path = "rpc-client-api", version = "=3.0.0" }
solana-rpc-client-nonce-utils = { path = "rpc-client-nonce-utils", version = "=3.0.0" }
solana-rpc-client-types = { path = "rpc-client-types", version = "=3.0.0" }
solana-runtime = { path = "runtime", version = "=3.0.0" }
solana-runtime-transaction = { path = "runtime-transaction", version = "=3.0.0" }
solana-sanitize = "2.2.1"
solana-sanitize = "3.0.0"
solana-sbpf = "=0.12.2"
solana-sdk-ids = "2.2.1"
solana-secp256k1-program = "2.2.3"
solana-secp256k1-recover = "2.2.1"
solana-secp256r1-program = "2.2.4"
solana-seed-derivable = "2.2.1"
solana-seed-phrase = "2.2.1"
solana-sdk-ids = "3.0.0"
solana-secp256k1-program = "3.0.0"
solana-secp256k1-recover = "3.0.0"
solana-secp256r1-program = "3.0.0"
solana-seed-derivable = "3.0.0"
solana-seed-phrase = "3.0.0"
solana-send-transaction-service = { path = "send-transaction-service", version = "=3.0.0" }
solana-serde = "2.2.1"
solana-serde-varint = "2.2.2"
solana-serialize-utils = "2.2.1"
solana-sha256-hasher = "2.3.0"
solana-short-vec = "2.2.1"
solana-shred-version = "2.2.1"
solana-signature = { version = "2.3.0", default-features = false }
solana-signer = "2.2.1"
solana-slot-hashes = "2.2.1"
solana-slot-history = "2.2.1"
solana-stable-layout = "2.2.1"
solana-stake-interface = { version = "1.2.1" }
solana-serde = "3.0.0"
solana-serde-varint = "3.0.0"
solana-serialize-utils = "3.0.0"
solana-sha256-hasher = "3.0.0"
solana-short-vec = "3.0.0"
solana-shred-version = "3.0.0"
solana-signature = { version = "3.0.0", default-features = false }
solana-signer = "3.0.0"
solana-slot-hashes = "3.0.0"
solana-slot-history = "3.0.0"
solana-stable-layout = "3.0.0"
solana-stake-interface = { version = "2.0.0" }
solana-stake-program = { path = "programs/stake", version = "=3.0.0" }
solana-storage-bigtable = { path = "storage-bigtable", version = "=3.0.0" }
solana-storage-proto = { path = "storage-proto", version = "=3.0.0" }
Expand All @@ -530,47 +528,47 @@ solana-svm-metrics = { path = "svm-metrics", version = "=3.0.0" }
solana-svm-timings = { path = "svm-timings", version = "=3.0.0" }
solana-svm-transaction = { path = "svm-transaction", version = "=3.0.0" }
solana-svm-type-overrides = { path = "svm-type-overrides", version = "=3.0.0" }
solana-system-interface = "1.0"
solana-system-interface = "2.0"
solana-system-program = { path = "programs/system", version = "=3.0.0" }
solana-system-transaction = "2.2.1"
solana-sysvar = "2.2.2"
solana-sysvar-id = "2.2.1"
solana-system-transaction = "3.0.0"
solana-sysvar = "3.0.0"
solana-sysvar-id = "3.0.0"
solana-test-validator = { path = "test-validator", version = "=3.0.0" }
solana-time-utils = "2.2.1"
solana-time-utils = "3.0.0"
solana-tls-utils = { path = "tls-utils", version = "=3.0.0" }
solana-tps-client = { path = "tps-client", version = "=3.0.0" }
solana-tpu-client = { path = "tpu-client", version = "=3.0.0", default-features = false }
solana-tpu-client-next = { path = "tpu-client-next", version = "=3.0.0" }
solana-transaction = "2.2.3"
solana-transaction = "3.0.0"
solana-transaction-context = { path = "transaction-context", version = "=3.0.0", features = ["bincode"] }
solana-transaction-error = "2.2.1"
solana-transaction-error = "3.0.0"
solana-transaction-metrics-tracker = { path = "transaction-metrics-tracker", version = "=3.0.0" }
solana-transaction-status = { path = "transaction-status", version = "=3.0.0" }
solana-transaction-status-client-types = { path = "transaction-status-client-types", version = "=3.0.0" }
solana-turbine = { path = "turbine", version = "=3.0.0" }
solana-udp-client = { path = "udp-client", version = "=3.0.0" }
solana-unified-scheduler-logic = { path = "unified-scheduler-logic", version = "=3.0.0" }
solana-unified-scheduler-pool = { path = "unified-scheduler-pool", version = "=3.0.0" }
solana-validator-exit = "2.2.1"
solana-validator-exit = "3.0.0"
solana-version = { path = "version", version = "=3.0.0" }
solana-vote = { path = "vote", version = "=3.0.0" }
solana-vote-interface = "2.2.6"
solana-vote-interface = "3.0.0"
solana-vote-program = { path = "programs/vote", version = "=3.0.0", default-features = false }
solana-wen-restart = { path = "wen-restart", version = "=3.0.0" }
solana-zk-elgamal-proof-program = { path = "programs/zk-elgamal-proof", version = "=3.0.0" }
solana-zk-keygen = { path = "zk-keygen", version = "=3.0.0" }
solana-zk-sdk = "3.0.0"
solana-zk-sdk = "4.0.0"
solana-zk-token-proof-program = { path = "programs/zk-token-proof", version = "=3.0.0" }
solana-zk-token-sdk = { path = "zk-token-sdk", version = "=3.0.0" }
spl-associated-token-account-interface = "1.0.0"
spl-generic-token = "1.0.1"
spl-memo-interface = "1.0.0"
spl-pod = "0.5.1"
spl-token-2022-interface = "1.0.0"
spl-token-confidential-transfer-proof-extraction = "0.4.0"
spl-token-group-interface = "0.6.0"
spl-token-interface = "1.0.0"
spl-token-metadata-interface = "0.7.0"
spl-associated-token-account-interface = "2.0.0"
spl-generic-token = "2.0.0"
spl-memo-interface = "2.0.0"
spl-pod = "0.7.0"
spl-token-2022-interface = "2.0.0"
spl-token-confidential-transfer-proof-extraction = "0.5.0"
spl-token-group-interface = "0.7.0"
spl-token-interface = "2.0.0"
spl-token-metadata-interface = "0.8.0"
static_assertions = "1.1.0"
stream-cancel = "0.8.2"
strum = "0.24"
Expand Down
4 changes: 2 additions & 2 deletions account-decoder/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ solana-address-lookup-table-interface = { workspace = true, features = [
"bytemuck",
] }
solana-clock = { workspace = true }
solana-config-program-client = { workspace = true, features = ["serde"] }
solana-config-interface = { workspace = true, features = ["bincode"] }
solana-epoch-schedule = { workspace = true }
solana-fee-calculator = { workspace = true }
solana-instruction = { workspace = true }
Expand All @@ -41,7 +41,7 @@ solana-rent = { workspace = true }
solana-sdk-ids = { workspace = true }
solana-slot-hashes = { workspace = true }
solana-slot-history = { workspace = true }
solana-stake-interface = { workspace = true }
solana-stake-interface = { workspace = true, features = ["bincode", "sysvar"] }
solana-sysvar = { workspace = true }
solana-vote-interface = { workspace = true, features = ["bincode"] }
spl-generic-token = { workspace = true }
Expand Down
12 changes: 6 additions & 6 deletions account-decoder/src/parse_account_data.rs
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ mod test {
},
solana_vote_interface::{
program::id as vote_program_id,
state::{VoteState, VoteStateVersions},
state::{VoteStateV3, VoteStateVersions},
},
};

Expand All @@ -176,10 +176,10 @@ mod test {
let data = vec![0; 4];
assert!(parse_account_data_v3(&account_pubkey, &other_program, &data, None).is_err());

let vote_state = VoteState::default();
let mut vote_account_data: Vec<u8> = vec![0; VoteState::size_of()];
let versioned = VoteStateVersions::new_current(vote_state);
VoteState::serialize(&versioned, &mut vote_account_data).unwrap();
let vote_state = VoteStateV3::default();
let mut vote_account_data: Vec<u8> = vec![0; VoteStateV3::size_of()];
let versioned = VoteStateVersions::new_v3(vote_state);
VoteStateV3::serialize(&versioned, &mut vote_account_data).unwrap();
let parsed = parse_account_data_v3(
&account_pubkey,
&vote_program_id(),
Expand All @@ -188,7 +188,7 @@ mod test {
)
.unwrap();
assert_eq!(parsed.program, "vote".to_string());
assert_eq!(parsed.space, VoteState::size_of() as u64);
assert_eq!(parsed.space, VoteStateV3::size_of() as u64);

let nonce_data = Versions::new(State::Initialized(Data::default()));
let nonce_account_data = bincode::serialize(&nonce_data).unwrap();
Expand Down
3 changes: 1 addition & 2 deletions account-decoder/src/parse_config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use {
},
bincode::deserialize,
serde_json::Value,
solana_config_program_client::{get_config_data, ConfigKeys},
solana_config_interface::state::{get_config_data, ConfigKeys},
solana_pubkey::Pubkey,
solana_stake_interface::config::{
Config as StakeConfig, {self as stake_config},
Expand Down Expand Up @@ -101,7 +101,6 @@ mod test {
bincode::serialize,
serde_json::json,
solana_account::{Account, AccountSharedData, ReadableAccount},
solana_config_program_client::ConfigKeys,
};

fn create_config_account<T: serde::Serialize>(
Expand Down
6 changes: 2 additions & 4 deletions account-decoder/src/parse_sysvar.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,9 @@ use {
solana_sdk_ids::sysvar,
solana_slot_hashes::SlotHashes,
solana_slot_history::{self as slot_history, SlotHistory},
solana_stake_interface::stake_history::{StakeHistory, StakeHistoryEntry},
solana_sysvar::{
epoch_rewards::EpochRewards,
last_restart_slot::LastRestartSlot,
rewards::Rewards,
stake_history::{StakeHistory, StakeHistoryEntry},
epoch_rewards::EpochRewards, last_restart_slot::LastRestartSlot, rewards::Rewards,
},
};

Expand Down
Loading
Loading