diff --git a/Cargo.lock b/Cargo.lock index c56d52475d..512aa76fb2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -290,7 +290,7 @@ dependencies = [ [[package]] name = "btc_spv_bin" -version = "0.21.4" +version = "0.21.5" dependencies = [ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)", "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3071,37 +3071,37 @@ dependencies = [ [[package]] name = "solana-archiver" -version = "0.21.4" +version = "0.21.5" dependencies = [ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)", "console 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-clap-utils 0.21.4", - "solana-core 0.21.4", - "solana-logger 0.21.4", - "solana-metrics 0.21.4", - "solana-net-utils 0.21.4", - "solana-sdk 0.21.4", + "solana-clap-utils 0.21.5", + "solana-core 0.21.5", + "solana-logger 0.21.5", + "solana-metrics 0.21.5", + "solana-net-utils 0.21.5", + "solana-sdk 0.21.5", ] [[package]] name = "solana-banking-bench" -version = "0.21.4" +version = "0.21.5" dependencies = [ "crossbeam-channel 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-core 0.21.4", - "solana-ledger 0.21.4", - "solana-logger 0.21.4", - "solana-measure 0.21.4", - "solana-runtime 0.21.4", - "solana-sdk 0.21.4", + "solana-core 0.21.5", + "solana-ledger 0.21.5", + "solana-logger 0.21.5", + "solana-measure 0.21.5", + "solana-runtime 0.21.5", + "solana-sdk 0.21.5", ] [[package]] name = "solana-bench-exchange" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "bs58 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3117,36 +3117,36 @@ dependencies = [ "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", "serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-clap-utils 0.21.4", - "solana-client 0.21.4", - "solana-core 0.21.4", - "solana-drone 0.21.4", - "solana-exchange-program 0.21.4", - "solana-genesis 0.21.4", - "solana-local-cluster 0.21.4", - "solana-logger 0.21.4", - "solana-metrics 0.21.4", - "solana-net-utils 0.21.4", - "solana-runtime 0.21.4", - "solana-sdk 0.21.4", + "solana-clap-utils 0.21.5", + "solana-client 0.21.5", + "solana-core 0.21.5", + "solana-drone 0.21.5", + "solana-exchange-program 0.21.5", + "solana-genesis 0.21.5", + "solana-local-cluster 0.21.5", + "solana-logger 0.21.5", + "solana-metrics 0.21.5", + "solana-net-utils 0.21.5", + "solana-runtime 0.21.5", + "solana-sdk 0.21.5", "untrusted 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "ws 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "solana-bench-streamer" -version = "0.21.4" +version = "0.21.5" dependencies = [ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-clap-utils 0.21.4", - "solana-core 0.21.4", - "solana-logger 0.21.4", - "solana-net-utils 0.21.4", + "solana-clap-utils 0.21.5", + "solana-core 0.21.5", + "solana-logger 0.21.5", + "solana-net-utils 0.21.5", ] [[package]] name = "solana-bench-tps" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3158,39 +3158,39 @@ dependencies = [ "serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)", "serial_test 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "serial_test_derive 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-clap-utils 0.21.4", - "solana-client 0.21.4", - "solana-core 0.21.4", - "solana-drone 0.21.4", - "solana-genesis 0.21.4", - "solana-librapay-api 0.21.4", - "solana-local-cluster 0.21.4", - "solana-logger 0.21.4", - "solana-measure 0.21.4", - "solana-metrics 0.21.4", - "solana-move-loader-program 0.21.4", - "solana-net-utils 0.21.4", - "solana-runtime 0.21.4", - "solana-sdk 0.21.4", + "solana-clap-utils 0.21.5", + "solana-client 0.21.5", + "solana-core 0.21.5", + "solana-drone 0.21.5", + "solana-genesis 0.21.5", + "solana-librapay-api 0.21.5", + "solana-local-cluster 0.21.5", + "solana-logger 0.21.5", + "solana-measure 0.21.5", + "solana-metrics 0.21.5", + "solana-move-loader-program 0.21.5", + "solana-net-utils 0.21.5", + "solana-runtime 0.21.5", + "solana-sdk 0.21.5", ] [[package]] name = "solana-bpf-loader-program" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-logger 0.21.4", - "solana-sdk 0.21.4", + "solana-logger 0.21.5", + "solana-sdk 0.21.5", "solana_rbpf 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "solana-btc-spv-program" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3200,12 +3200,12 @@ dependencies = [ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-sdk 0.21.4", + "solana-sdk 0.21.5", ] [[package]] name = "solana-budget-program" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3214,32 +3214,32 @@ dependencies = [ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-runtime 0.21.4", - "solana-sdk 0.21.4", + "solana-runtime 0.21.5", + "solana-sdk 0.21.5", ] [[package]] name = "solana-chacha-sys" -version = "0.21.4" +version = "0.21.5" dependencies = [ "cc 1.0.47 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "solana-clap-utils" -version = "0.21.4" +version = "0.21.5" dependencies = [ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)", "rpassword 4.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-sdk 0.21.4", + "solana-sdk 0.21.5", "tiny-bip39 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "solana-cli" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "bs58 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3260,27 +3260,27 @@ dependencies = [ "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", "serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-budget-program 0.21.4", - "solana-clap-utils 0.21.4", - "solana-client 0.21.4", - "solana-config-program 0.21.4", - "solana-core 0.21.4", - "solana-drone 0.21.4", - "solana-logger 0.21.4", - "solana-net-utils 0.21.4", - "solana-runtime 0.21.4", - "solana-sdk 0.21.4", - "solana-stake-program 0.21.4", - "solana-storage-program 0.21.4", - "solana-vote-program 0.21.4", - "solana-vote-signer 0.21.4", + "solana-budget-program 0.21.5", + "solana-clap-utils 0.21.5", + "solana-client 0.21.5", + "solana-config-program 0.21.5", + "solana-core 0.21.5", + "solana-drone 0.21.5", + "solana-logger 0.21.5", + "solana-net-utils 0.21.5", + "solana-runtime 0.21.5", + "solana-sdk 0.21.5", + "solana-stake-program 0.21.5", + "solana-storage-program 0.21.5", + "solana-vote-program 0.21.5", + "solana-vote-signer 0.21.5", "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "solana-client" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "bs58 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3293,42 +3293,42 @@ dependencies = [ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-logger 0.21.4", - "solana-net-utils 0.21.4", - "solana-sdk 0.21.4", + "solana-logger 0.21.5", + "solana-net-utils 0.21.5", + "solana-sdk 0.21.5", ] [[package]] name = "solana-config-program" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-logger 0.21.4", - "solana-sdk 0.21.4", + "solana-logger 0.21.5", + "solana-sdk 0.21.5", ] [[package]] name = "solana-config-tests" -version = "0.21.4" +version = "0.21.5" dependencies = [ "assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-config-program 0.21.4", - "solana-logger 0.21.4", - "solana-runtime 0.21.4", - "solana-sdk 0.21.4", + "solana-config-program 0.21.5", + "solana-logger 0.21.5", + "solana-runtime 0.21.5", + "solana-sdk 0.21.5", ] [[package]] name = "solana-core" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "bs58 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3365,26 +3365,26 @@ dependencies = [ "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", "serial_test 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "serial_test_derive 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-budget-program 0.21.4", - "solana-chacha-sys 0.21.4", - "solana-clap-utils 0.21.4", - "solana-client 0.21.4", - "solana-drone 0.21.4", - "solana-ledger 0.21.4", - "solana-logger 0.21.4", - "solana-measure 0.21.4", - "solana-merkle-tree 0.21.4", - "solana-metrics 0.21.4", - "solana-net-utils 0.21.4", - "solana-perf 0.21.4", - "solana-rayon-threadlimit 0.21.4", + "solana-budget-program 0.21.5", + "solana-chacha-sys 0.21.5", + "solana-clap-utils 0.21.5", + "solana-client 0.21.5", + "solana-drone 0.21.5", + "solana-ledger 0.21.5", + "solana-logger 0.21.5", + "solana-measure 0.21.5", + "solana-merkle-tree 0.21.5", + "solana-metrics 0.21.5", + "solana-net-utils 0.21.5", + "solana-perf 0.21.5", + "solana-rayon-threadlimit 0.21.5", "solana-reed-solomon-erasure 4.0.1-3 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-runtime 0.21.4", - "solana-sdk 0.21.4", - "solana-stake-program 0.21.4", - "solana-storage-program 0.21.4", - "solana-vote-program 0.21.4", - "solana-vote-signer 0.21.4", + "solana-runtime 0.21.5", + "solana-sdk 0.21.5", + "solana-stake-program 0.21.5", + "solana-storage-program 0.21.5", + "solana-vote-program 0.21.5", + "solana-vote-signer 0.21.5", "symlink 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "sys-info 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)", "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3397,7 +3397,7 @@ dependencies = [ [[package]] name = "solana-crate-features" -version = "0.21.4" +version = "0.21.5" dependencies = [ "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)", "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3420,7 +3420,7 @@ dependencies = [ [[package]] name = "solana-drone" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3429,40 +3429,40 @@ dependencies = [ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-clap-utils 0.21.4", - "solana-logger 0.21.4", - "solana-metrics 0.21.4", - "solana-sdk 0.21.4", + "solana-clap-utils 0.21.5", + "solana-logger 0.21.5", + "solana-metrics 0.21.5", + "solana-sdk 0.21.5", "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "solana-exchange-program" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-logger 0.21.4", - "solana-metrics 0.21.4", - "solana-runtime 0.21.4", - "solana-sdk 0.21.4", + "solana-logger 0.21.5", + "solana-metrics 0.21.5", + "solana-runtime 0.21.5", + "solana-sdk 0.21.5", ] [[package]] name = "solana-failure-program" -version = "0.21.4" +version = "0.21.5" dependencies = [ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-runtime 0.21.4", - "solana-sdk 0.21.4", + "solana-runtime 0.21.5", + "solana-sdk 0.21.5", ] [[package]] name = "solana-fixed-buf" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3471,7 +3471,7 @@ dependencies = [ [[package]] name = "solana-genesis" -version = "0.21.4" +version = "0.21.5" dependencies = [ "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3480,49 +3480,49 @@ dependencies = [ "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", "serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-clap-utils 0.21.4", - "solana-genesis-programs 0.21.4", - "solana-ledger 0.21.4", - "solana-sdk 0.21.4", - "solana-stake-program 0.21.4", - "solana-storage-program 0.21.4", - "solana-vote-program 0.21.4", + "solana-clap-utils 0.21.5", + "solana-genesis-programs 0.21.5", + "solana-ledger 0.21.5", + "solana-sdk 0.21.5", + "solana-stake-program 0.21.5", + "solana-storage-program 0.21.5", + "solana-vote-program 0.21.5", "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "solana-genesis-programs" -version = "0.21.4" +version = "0.21.5" dependencies = [ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-bpf-loader-program 0.21.4", - "solana-budget-program 0.21.4", - "solana-config-program 0.21.4", - "solana-exchange-program 0.21.4", - "solana-runtime 0.21.4", - "solana-sdk 0.21.4", - "solana-stake-program 0.21.4", - "solana-storage-program 0.21.4", - "solana-vest-program 0.21.4", - "solana-vote-program 0.21.4", + "solana-bpf-loader-program 0.21.5", + "solana-budget-program 0.21.5", + "solana-config-program 0.21.5", + "solana-exchange-program 0.21.5", + "solana-runtime 0.21.5", + "solana-sdk 0.21.5", + "solana-stake-program 0.21.5", + "solana-storage-program 0.21.5", + "solana-vest-program 0.21.5", + "solana-vote-program 0.21.5", ] [[package]] name = "solana-gossip" -version = "0.21.4" +version = "0.21.5" dependencies = [ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-clap-utils 0.21.4", - "solana-client 0.21.4", - "solana-core 0.21.4", - "solana-logger 0.21.4", - "solana-net-utils 0.21.4", - "solana-sdk 0.21.4", + "solana-clap-utils 0.21.5", + "solana-client 0.21.5", + "solana-core 0.21.5", + "solana-logger 0.21.5", + "solana-net-utils 0.21.5", + "solana-sdk 0.21.5", ] [[package]] name = "solana-install" -version = "0.21.4" +version = "0.21.5" dependencies = [ "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3541,11 +3541,11 @@ dependencies = [ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-clap-utils 0.21.4", - "solana-client 0.21.4", - "solana-config-program 0.21.4", - "solana-logger 0.21.4", - "solana-sdk 0.21.4", + "solana-clap-utils 0.21.5", + "solana-client 0.21.5", + "solana-config-program 0.21.5", + "solana-logger 0.21.5", + "solana-sdk 0.21.5", "tar 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)", "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", "url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3555,21 +3555,21 @@ dependencies = [ [[package]] name = "solana-keygen" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bs58 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)", "dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)", "rpassword 4.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-clap-utils 0.21.4", - "solana-sdk 0.21.4", + "solana-clap-utils 0.21.5", + "solana-sdk 0.21.5", "tiny-bip39 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "solana-ledger" -version = "0.21.4" +version = "0.21.5" dependencies = [ "assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3594,20 +3594,20 @@ dependencies = [ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-budget-program 0.21.4", - "solana-client 0.21.4", - "solana-genesis-programs 0.21.4", - "solana-logger 0.21.4", - "solana-measure 0.21.4", - "solana-merkle-tree 0.21.4", - "solana-metrics 0.21.4", - "solana-perf 0.21.4", - "solana-rayon-threadlimit 0.21.4", + "solana-budget-program 0.21.5", + "solana-client 0.21.5", + "solana-genesis-programs 0.21.5", + "solana-logger 0.21.5", + "solana-measure 0.21.5", + "solana-merkle-tree 0.21.5", + "solana-metrics 0.21.5", + "solana-perf 0.21.5", + "solana-rayon-threadlimit 0.21.5", "solana-reed-solomon-erasure 4.0.1-3 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-runtime 0.21.4", - "solana-sdk 0.21.4", - "solana-stake-program 0.21.4", - "solana-vote-program 0.21.4", + "solana-runtime 0.21.5", + "solana-sdk 0.21.5", + "solana-stake-program 0.21.5", + "solana-vote-program 0.21.5", "sys-info 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)", "tar 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)", "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3615,7 +3615,7 @@ dependencies = [ [[package]] name = "solana-ledger-tool" -version = "0.21.4" +version = "0.21.5" dependencies = [ "assert_cmd 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3624,59 +3624,59 @@ dependencies = [ "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", "serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-clap-utils 0.21.4", - "solana-ledger 0.21.4", - "solana-logger 0.21.4", - "solana-runtime 0.21.4", - "solana-sdk 0.21.4", - "solana-vote-program 0.21.4", + "solana-clap-utils 0.21.5", + "solana-ledger 0.21.5", + "solana-logger 0.21.5", + "solana-runtime 0.21.5", + "solana-sdk 0.21.5", + "solana-vote-program 0.21.5", ] [[package]] name = "solana-librapay-api" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-logger 0.21.4", - "solana-move-loader-program 0.21.4", - "solana-runtime 0.21.4", - "solana-sdk 0.21.4", + "solana-logger 0.21.5", + "solana-move-loader-program 0.21.5", + "solana-runtime 0.21.5", + "solana-sdk 0.21.5", "solana_libra_language_e2e_tests 0.0.1-sol4 (registry+https://github.com/rust-lang/crates.io-index)", "solana_libra_types 0.0.1-sol4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "solana-local-cluster" -version = "0.21.4" +version = "0.21.5" dependencies = [ "itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "serial_test 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "serial_test_derive 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-client 0.21.4", - "solana-config-program 0.21.4", - "solana-core 0.21.4", - "solana-drone 0.21.4", - "solana-exchange-program 0.21.4", - "solana-genesis-programs 0.21.4", - "solana-ledger 0.21.4", - "solana-logger 0.21.4", - "solana-rayon-threadlimit 0.21.4", - "solana-runtime 0.21.4", - "solana-sdk 0.21.4", - "solana-stake-program 0.21.4", - "solana-storage-program 0.21.4", - "solana-vest-program 0.21.4", - "solana-vote-program 0.21.4", + "solana-client 0.21.5", + "solana-config-program 0.21.5", + "solana-core 0.21.5", + "solana-drone 0.21.5", + "solana-exchange-program 0.21.5", + "solana-genesis-programs 0.21.5", + "solana-ledger 0.21.5", + "solana-logger 0.21.5", + "solana-rayon-threadlimit 0.21.5", + "solana-runtime 0.21.5", + "solana-sdk 0.21.5", + "solana-stake-program 0.21.5", + "solana-storage-program 0.21.5", + "solana-vest-program 0.21.5", + "solana-vote-program 0.21.5", "symlink 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "solana-log-analyzer" -version = "0.21.4" +version = "0.21.5" dependencies = [ "byte-unit 3.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3685,13 +3685,13 @@ dependencies = [ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-clap-utils 0.21.4", - "solana-logger 0.21.4", + "solana-clap-utils 0.21.5", + "solana-logger 0.21.5", ] [[package]] name = "solana-logger" -version = "0.21.4" +version = "0.21.5" dependencies = [ "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3700,22 +3700,22 @@ dependencies = [ [[package]] name = "solana-measure" -version = "0.21.4" +version = "0.21.5" dependencies = [ - "solana-sdk 0.21.4", + "solana-sdk 0.21.5", ] [[package]] name = "solana-merkle-tree" -version = "0.21.4" +version = "0.21.5" dependencies = [ "hex 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-sdk 0.21.4", + "solana-sdk 0.21.5", ] [[package]] name = "solana-metrics" -version = "0.21.4" +version = "0.21.5" dependencies = [ "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3724,13 +3724,13 @@ dependencies = [ "reqwest 0.9.22 (registry+https://github.com/rust-lang/crates.io-index)", "serial_test 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "serial_test_derive 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-sdk 0.21.4", + "solana-sdk 0.21.5", "sys-info 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "solana-move-loader-program" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3741,8 +3741,8 @@ dependencies = [ "serde_bytes 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-logger 0.21.4", - "solana-sdk 0.21.4", + "solana-logger 0.21.5", + "solana-sdk 0.21.5", "solana_libra_bytecode_verifier 0.0.1-sol4 (registry+https://github.com/rust-lang/crates.io-index)", "solana_libra_canonical_serialization 0.0.1-sol4 (registry+https://github.com/rust-lang/crates.io-index)", "solana_libra_compiler 0.0.1-sol4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3759,7 +3759,7 @@ dependencies = [ [[package]] name = "solana-net-shaper" -version = "0.21.4" +version = "0.21.5" dependencies = [ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3768,13 +3768,13 @@ dependencies = [ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-clap-utils 0.21.4", - "solana-logger 0.21.4", + "solana-clap-utils 0.21.5", + "solana-logger 0.21.5", ] [[package]] name = "solana-net-utils" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3785,37 +3785,37 @@ dependencies = [ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-clap-utils 0.21.4", - "solana-logger 0.21.4", + "solana-clap-utils 0.21.5", + "solana-logger 0.21.5", "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "solana-noop-program" -version = "0.21.4" +version = "0.21.5" dependencies = [ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-logger 0.21.4", - "solana-sdk 0.21.4", + "solana-logger 0.21.5", + "solana-sdk 0.21.5", ] [[package]] name = "solana-ownable-api" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "num-derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-runtime 0.21.4", - "solana-sdk 0.21.4", + "solana-runtime 0.21.5", + "solana-sdk 0.21.5", ] [[package]] name = "solana-perf" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "dlopen 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3827,16 +3827,16 @@ dependencies = [ "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-budget-program 0.21.4", - "solana-logger 0.21.4", - "solana-metrics 0.21.4", - "solana-rayon-threadlimit 0.21.4", - "solana-sdk 0.21.4", + "solana-budget-program 0.21.5", + "solana-logger 0.21.5", + "solana-metrics 0.21.5", + "solana-rayon-threadlimit 0.21.5", + "solana-sdk 0.21.5", ] [[package]] name = "solana-rayon-threadlimit" -version = "0.21.4" +version = "0.21.5" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "sys-info 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3854,7 +3854,7 @@ dependencies = [ [[package]] name = "solana-runtime" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "bv 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3872,23 +3872,23 @@ dependencies = [ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-bpf-loader-program 0.21.4", - "solana-logger 0.21.4", - "solana-measure 0.21.4", - "solana-metrics 0.21.4", - "solana-noop-program 0.21.4", - "solana-rayon-threadlimit 0.21.4", - "solana-sdk 0.21.4", - "solana-stake-program 0.21.4", - "solana-storage-program 0.21.4", - "solana-vote-program 0.21.4", + "solana-bpf-loader-program 0.21.5", + "solana-logger 0.21.5", + "solana-measure 0.21.5", + "solana-metrics 0.21.5", + "solana-noop-program 0.21.5", + "solana-rayon-threadlimit 0.21.5", + "solana-sdk 0.21.5", + "solana-stake-program 0.21.5", + "solana-storage-program 0.21.5", + "solana-vote-program 0.21.5", "sys-info 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)", "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "solana-scripts" -version = "0.21.4" +version = "0.21.5" dependencies = [ "csv 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3896,7 +3896,7 @@ dependencies = [ [[package]] name = "solana-sdk" -version = "0.21.4" +version = "0.21.5" dependencies = [ "assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3919,15 +3919,15 @@ dependencies = [ "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-crate-features 0.21.4", - "solana-logger 0.21.4", - "solana-sdk-macro 0.21.4", + "solana-crate-features 0.21.5", + "solana-logger 0.21.5", + "solana-sdk-macro 0.21.5", "tiny-bip39 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "solana-sdk-c" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "bs58 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3937,12 +3937,12 @@ dependencies = [ "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-sdk 0.21.4", + "solana-sdk 0.21.5", ] [[package]] name = "solana-sdk-macro" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bs58 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3952,7 +3952,7 @@ dependencies = [ [[package]] name = "solana-stake-program" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3961,29 +3961,29 @@ dependencies = [ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-config-program 0.21.4", - "solana-logger 0.21.4", - "solana-metrics 0.21.4", - "solana-sdk 0.21.4", - "solana-vote-program 0.21.4", + "solana-config-program 0.21.5", + "solana-logger 0.21.5", + "solana-metrics 0.21.5", + "solana-sdk 0.21.5", + "solana-vote-program 0.21.5", ] [[package]] name = "solana-stake-tests" -version = "0.21.4" +version = "0.21.5" dependencies = [ "assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-logger 0.21.4", - "solana-runtime 0.21.4", - "solana-sdk 0.21.4", - "solana-stake-program 0.21.4", - "solana-vote-program 0.21.4", + "solana-logger 0.21.5", + "solana-runtime 0.21.5", + "solana-sdk 0.21.5", + "solana-stake-program 0.21.5", + "solana-vote-program 0.21.5", ] [[package]] name = "solana-storage-program" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3992,35 +3992,35 @@ dependencies = [ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-logger 0.21.4", - "solana-sdk 0.21.4", + "solana-logger 0.21.5", + "solana-sdk 0.21.5", ] [[package]] name = "solana-storage-tests" -version = "0.21.4" +version = "0.21.5" dependencies = [ "assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-logger 0.21.4", - "solana-runtime 0.21.4", - "solana-sdk 0.21.4", - "solana-storage-program 0.21.4", + "solana-logger 0.21.5", + "solana-runtime 0.21.5", + "solana-sdk 0.21.5", + "solana-storage-program 0.21.5", ] [[package]] name = "solana-upload-perf" -version = "0.21.4" +version = "0.21.5" dependencies = [ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-metrics 0.21.4", + "solana-metrics 0.21.5", ] [[package]] name = "solana-validator" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bzip2 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4031,26 +4031,26 @@ dependencies = [ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "reqwest 0.9.22 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-clap-utils 0.21.4", - "solana-client 0.21.4", - "solana-core 0.21.4", - "solana-drone 0.21.4", - "solana-ledger 0.21.4", - "solana-logger 0.21.4", - "solana-metrics 0.21.4", - "solana-net-utils 0.21.4", - "solana-perf 0.21.4", - "solana-runtime 0.21.4", - "solana-sdk 0.21.4", - "solana-vote-program 0.21.4", - "solana-vote-signer 0.21.4", + "solana-clap-utils 0.21.5", + "solana-client 0.21.5", + "solana-core 0.21.5", + "solana-drone 0.21.5", + "solana-ledger 0.21.5", + "solana-logger 0.21.5", + "solana-metrics 0.21.5", + "solana-net-utils 0.21.5", + "solana-perf 0.21.5", + "solana-runtime 0.21.5", + "solana-sdk 0.21.5", + "solana-vote-program 0.21.5", + "solana-vote-signer 0.21.5", "tar 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)", "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "solana-vest-program" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4059,14 +4059,14 @@ dependencies = [ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-config-program 0.21.4", - "solana-runtime 0.21.4", - "solana-sdk 0.21.4", + "solana-config-program 0.21.5", + "solana-runtime 0.21.5", + "solana-sdk 0.21.5", ] [[package]] name = "solana-vote-program" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4074,14 +4074,14 @@ dependencies = [ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-logger 0.21.4", - "solana-metrics 0.21.4", - "solana-sdk 0.21.4", + "solana-logger 0.21.5", + "solana-metrics 0.21.5", + "solana-sdk 0.21.5", ] [[package]] name = "solana-vote-signer" -version = "0.21.4" +version = "0.21.5" dependencies = [ "bs58 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4091,22 +4091,22 @@ dependencies = [ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-clap-utils 0.21.4", - "solana-metrics 0.21.4", - "solana-sdk 0.21.4", + "solana-clap-utils 0.21.5", + "solana-metrics 0.21.5", + "solana-sdk 0.21.5", ] [[package]] name = "solana-watchtower" -version = "0.21.4" +version = "0.21.5" dependencies = [ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "solana-clap-utils 0.21.4", - "solana-client 0.21.4", - "solana-logger 0.21.4", - "solana-metrics 0.21.4", - "solana-sdk 0.21.4", + "solana-clap-utils 0.21.5", + "solana-client 0.21.5", + "solana-logger 0.21.5", + "solana-metrics 0.21.5", + "solana-sdk 0.21.5", ] [[package]] diff --git a/core/src/rpc.rs b/core/src/rpc.rs index aabcc7b3ac..19650337b6 100644 --- a/core/src/rpc.rs +++ b/core/src/rpc.rs @@ -256,10 +256,6 @@ impl JsonRpcRequestProcessor { last_vote, } }) - .filter(|vote_account_info| { - // Remove vote accounts with no delegated stake that have never voted - vote_account_info.last_vote != 0 || vote_account_info.activated_stake != 0 - }) .partition(|vote_account_info| { if bank.slot() >= MAX_LOCKOUT_HISTORY as u64 { vote_account_info.last_vote > bank.slot() - MAX_LOCKOUT_HISTORY as u64 @@ -267,9 +263,15 @@ impl JsonRpcRequestProcessor { vote_account_info.last_vote > 0 } }); + + let delinquent_staked_vote_accounts = delinquent_vote_accounts + .into_iter() + .filter(|vote_account_info| vote_account_info.activated_stake > 0) + .collect::>(); + Ok(RpcVoteAccountStatus { current: current_vote_accounts, - delinquent: delinquent_vote_accounts, + delinquent: delinquent_staked_vote_accounts, }) } @@ -1926,23 +1928,22 @@ pub mod tests { assert_eq!(bank.vote_accounts().len(), 1); - // Create a second vote account that has no stake. It should not be included in the - // getVoteAccounts response - let vote_keypair = Keypair::new(); + // Create a vote account with no stake. + let alice_vote_keypair = Keypair::new(); let instructions = vote_instruction::create_account( &alice.pubkey(), - &vote_keypair.pubkey(), + &alice_vote_keypair.pubkey(), &VoteInit { node_pubkey: alice.pubkey(), - authorized_voter: vote_keypair.pubkey(), - authorized_withdrawer: vote_keypair.pubkey(), + authorized_voter: alice_vote_keypair.pubkey(), + authorized_withdrawer: alice_vote_keypair.pubkey(), commission: 0, }, bank.get_minimum_balance_for_rent_exemption(VoteState::size_of()), ); let transaction = Transaction::new_signed_instructions( - &[&alice, &vote_keypair], + &[&alice, &alice_vote_keypair], instructions, bank.last_blockhash(), ); @@ -1950,18 +1951,47 @@ pub mod tests { .expect("process transaction"); assert_eq!(bank.vote_accounts().len(), 2); + // Check getVoteAccounts: the bootstrap leader vote account will be delinquent as it has + // stake but has never voted, and the vote account with no stake should not be present. + { + let req = format!(r#"{{"jsonrpc":"2.0","id":1,"method":"getVoteAccounts"}}"#); + let res = io.handle_request_sync(&req, meta.clone()); + let result: Value = serde_json::from_str(&res.expect("actual response")) + .expect("actual response deserialization"); + + let vote_account_status: RpcVoteAccountStatus = + serde_json::from_value(result["result"].clone()).unwrap(); + + assert!(vote_account_status.current.is_empty()); + assert_eq!(vote_account_status.delinquent.len(), 1); + for vote_account_info in vote_account_status.delinquent { + assert_ne!(vote_account_info.activated_stake, 0); + } + } + // Advance bank to the next epoch for _ in 0..TEST_SLOTS_PER_EPOCH { bank.freeze(); - let instruction = vote_instruction::vote( - &leader_vote_keypair.pubkey(), - &leader_vote_keypair.pubkey(), - Vote { - slots: vec![bank.slot()], - hash: bank.hash(), - }, - ); + // Votes + let instructions = vec![ + vote_instruction::vote( + &leader_vote_keypair.pubkey(), + &leader_vote_keypair.pubkey(), + Vote { + slots: vec![bank.slot()], + hash: bank.hash(), + }, + ), + vote_instruction::vote( + &alice_vote_keypair.pubkey(), + &alice_vote_keypair.pubkey(), + Vote { + slots: vec![bank.slot()], + hash: bank.hash(), + }, + ), + ]; bank = bank_forks.write().unwrap().insert(Bank::new_from_parent( &bank, @@ -1970,9 +2000,9 @@ pub mod tests { )); let transaction = Transaction::new_signed_with_payer( - vec![instruction], + instructions, Some(&alice.pubkey()), - &[&alice, &leader_vote_keypair], + &[&alice, &leader_vote_keypair, &alice_vote_keypair], bank.last_blockhash(), ); @@ -1995,16 +2025,50 @@ pub mod tests { // The vote account with no stake should not be present. assert!(vote_account_status.delinquent.is_empty()); - // The leader vote account should be active and have voting history. - assert_eq!(vote_account_status.current.len(), 1); - let leader_info = &vote_account_status.current[0]; - assert_eq!( - leader_info.vote_pubkey, - leader_vote_keypair.pubkey().to_string() - ); + // Both accounts should be active and have voting history. + assert_eq!(vote_account_status.current.len(), 2); + //let leader_info = &vote_account_status.current[0]; + let leader_info = vote_account_status + .current + .iter() + .find(|x| x.vote_pubkey == leader_vote_keypair.pubkey().to_string()) + .unwrap(); assert_ne!(leader_info.activated_stake, 0); // Subtract one because the last vote always carries over to the next epoch let expected_credits = TEST_SLOTS_PER_EPOCH - MAX_LOCKOUT_HISTORY as u64 - 1; assert_eq!(leader_info.epoch_credits, vec![(0, expected_credits, 0)]); + + // Advance bank with no voting + bank.freeze(); + bank_forks.write().unwrap().insert(Bank::new_from_parent( + &bank, + &Pubkey::default(), + bank.slot() + TEST_SLOTS_PER_EPOCH, + )); + + // The leader vote account should now be delinquent, and the other vote account disappears + // because it's inactive with no stake + { + let req = format!( + r#"{{"jsonrpc":"2.0","id":1,"method":"getVoteAccounts","params":{}}}"#, + json!([CommitmentConfig::recent()]) + ); + + let res = io.handle_request_sync(&req, meta.clone()); + let result: Value = serde_json::from_str(&res.expect("actual response")) + .expect("actual response deserialization"); + + let vote_account_status: RpcVoteAccountStatus = + serde_json::from_value(result["result"].clone()).unwrap(); + + assert!(vote_account_status.current.is_empty()); + assert_eq!(vote_account_status.delinquent.len(), 1); + for vote_account_info in vote_account_status.delinquent { + assert_eq!( + vote_account_info.vote_pubkey, + leader_vote_keypair.pubkey().to_string() + ); + } + } } }