Compare commits

..

10 Commits

Author SHA1 Message Date
Dan Albert
f9d9c1fcbf Update book to SOLANA_RELEASE=v0.16.5 (#5154) 2019-07-17 14:20:49 -06:00
mergify[bot]
7c59c105cf Add weighted shuffle support for values upto u64::MAX (#5151) (#5152)
automerge

(cherry picked from commit 10d85f8366)
2019-07-17 13:12:05 -07:00
Tyera Eulberg
a8ea9f2738 Fix bench-tps funding math; make generate_keypairs() and fund_keys() algorithms consistent (#4841) (#5145)
* Fix funding math; make generate_keypairs and fund_keys consistent

* Add test, and fix inconsistencies it exposes

* De-pow math, and use assert_eq in tests for better failure msgs
2019-07-17 09:01:13 -07:00
Michael Vines
651f87a937 Show stake pubkey 2019-07-16 20:10:58 -07:00
mergify[bot]
88f8e2f332 Check harder on crates.io for recently published crates (#5136) (#5138)
automerge
2019-07-16 19:54:17 -07:00
mergify[bot]
a2cb289503 clear-config.sh now works with a secondary disk (#5135) (#5137)
automerge
2019-07-16 19:47:40 -07:00
Michael Vines
89bd9d5b72 Bump blockexplorer version 2019-07-16 19:44:42 -07:00
mergify[bot]
7edaaeb2a1 Improve validator-info CLI (#5121) (#5125)
automerge
2019-07-16 09:08:35 -07:00
Michael Vines
1c3ade80c2 Add missing dash 2019-07-16 07:28:26 -07:00
Dan Albert
3606d51507 Increment toml and cargo.ock to 0.16.5 (#5119) 2019-07-15 17:32:12 -06:00
67 changed files with 634 additions and 554 deletions

448
Cargo.lock generated
View File

@@ -2168,7 +2168,7 @@ dependencies = [
[[package]]
name = "solana"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"bs58 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2200,27 +2200,27 @@ dependencies = [
"serde 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-budget-api 0.16.4",
"solana-budget-program 0.16.4",
"solana-chacha-sys 0.16.4",
"solana-client 0.16.4",
"solana-config-program 0.16.4",
"solana-drone 0.16.4",
"solana-budget-api 0.16.5",
"solana-budget-program 0.16.5",
"solana-chacha-sys 0.16.5",
"solana-client 0.16.5",
"solana-config-program 0.16.5",
"solana-drone 0.16.5",
"solana-ed25519-dalek 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-exchange-program 0.16.4",
"solana-kvstore 0.16.4",
"solana-logger 0.16.4",
"solana-metrics 0.16.4",
"solana-netutil 0.16.4",
"solana-runtime 0.16.4",
"solana-sdk 0.16.4",
"solana-stake-api 0.16.4",
"solana-stake-program 0.16.4",
"solana-storage-api 0.16.4",
"solana-storage-program 0.16.4",
"solana-vote-api 0.16.4",
"solana-vote-program 0.16.4",
"solana-vote-signer 0.16.4",
"solana-exchange-program 0.16.5",
"solana-kvstore 0.16.5",
"solana-logger 0.16.5",
"solana-metrics 0.16.5",
"solana-netutil 0.16.5",
"solana-runtime 0.16.5",
"solana-sdk 0.16.5",
"solana-stake-api 0.16.5",
"solana-stake-program 0.16.5",
"solana-storage-api 0.16.5",
"solana-storage-program 0.16.5",
"solana-vote-api 0.16.5",
"solana-vote-program 0.16.5",
"solana-vote-signer 0.16.5",
"sys-info 0.5.7 (registry+https://github.com/rust-lang/crates.io-index)",
"tokio 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
"tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2229,7 +2229,7 @@ dependencies = [
[[package]]
name = "solana-bench-exchange"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"bs58 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2245,33 +2245,33 @@ dependencies = [
"serde_derive 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_yaml 0.8.9 (registry+https://github.com/rust-lang/crates.io-index)",
"solana 0.16.4",
"solana-client 0.16.4",
"solana-drone 0.16.4",
"solana-exchange-api 0.16.4",
"solana-exchange-program 0.16.4",
"solana-logger 0.16.4",
"solana-metrics 0.16.4",
"solana-netutil 0.16.4",
"solana-runtime 0.16.4",
"solana-sdk 0.16.4",
"solana 0.16.5",
"solana-client 0.16.5",
"solana-drone 0.16.5",
"solana-exchange-api 0.16.5",
"solana-exchange-program 0.16.5",
"solana-logger 0.16.5",
"solana-metrics 0.16.5",
"solana-netutil 0.16.5",
"solana-runtime 0.16.5",
"solana-sdk 0.16.5",
"untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
"ws 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "solana-bench-streamer"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
"solana 0.16.4",
"solana-logger 0.16.4",
"solana-netutil 0.16.4",
"solana 0.16.5",
"solana-logger 0.16.5",
"solana-netutil 0.16.5",
]
[[package]]
name = "solana-bench-tps"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2280,58 +2280,58 @@ dependencies = [
"serde_derive 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_yaml 0.8.9 (registry+https://github.com/rust-lang/crates.io-index)",
"solana 0.16.4",
"solana-client 0.16.4",
"solana-drone 0.16.4",
"solana-logger 0.16.4",
"solana-metrics 0.16.4",
"solana-netutil 0.16.4",
"solana-runtime 0.16.4",
"solana-sdk 0.16.4",
"solana 0.16.5",
"solana-client 0.16.5",
"solana-drone 0.16.5",
"solana-logger 0.16.5",
"solana-metrics 0.16.5",
"solana-netutil 0.16.5",
"solana-runtime 0.16.5",
"solana-sdk 0.16.5",
]
[[package]]
name = "solana-bpf-loader-api"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"bincode 1.1.4 (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.58 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.16.4",
"solana-sdk 0.16.4",
"solana-logger 0.16.5",
"solana-sdk 0.16.5",
"solana_rbpf 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "solana-bpf-loader-program"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-bpf-loader-api 0.16.4",
"solana-logger 0.16.4",
"solana-sdk 0.16.4",
"solana-bpf-loader-api 0.16.5",
"solana-logger 0.16.5",
"solana-sdk 0.16.5",
]
[[package]]
name = "solana-bpf-programs"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
"elf 0.0.10 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-bpf-loader-api 0.16.4",
"solana-logger 0.16.4",
"solana-runtime 0.16.4",
"solana-sdk 0.16.4",
"solana-bpf-loader-api 0.16.5",
"solana-logger 0.16.5",
"solana-runtime 0.16.5",
"solana-sdk 0.16.5",
"solana_rbpf 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
"walkdir 2.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "solana-budget-api"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2340,30 +2340,30 @@ dependencies = [
"num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-runtime 0.16.4",
"solana-sdk 0.16.4",
"solana-runtime 0.16.5",
"solana-sdk 0.16.5",
]
[[package]]
name = "solana-budget-program"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-budget-api 0.16.4",
"solana-logger 0.16.4",
"solana-sdk 0.16.4",
"solana-budget-api 0.16.5",
"solana-logger 0.16.5",
"solana-sdk 0.16.5",
]
[[package]]
name = "solana-chacha-sys"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "solana-client"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"bs58 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2376,37 +2376,37 @@ dependencies = [
"serde 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.16.4",
"solana-netutil 0.16.4",
"solana-sdk 0.16.4",
"solana-logger 0.16.5",
"solana-netutil 0.16.5",
"solana-sdk 0.16.5",
]
[[package]]
name = "solana-config-api"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.16.4",
"solana-runtime 0.16.4",
"solana-sdk 0.16.4",
"solana-logger 0.16.5",
"solana-runtime 0.16.5",
"solana-sdk 0.16.5",
]
[[package]]
name = "solana-config-program"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-config-api 0.16.4",
"solana-logger 0.16.4",
"solana-sdk 0.16.4",
"solana-config-api 0.16.5",
"solana-logger 0.16.5",
"solana-sdk 0.16.5",
]
[[package]]
name = "solana-drone"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2415,9 +2415,9 @@ dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.16.4",
"solana-metrics 0.16.4",
"solana-sdk 0.16.4",
"solana-logger 0.16.5",
"solana-metrics 0.16.5",
"solana-sdk 0.16.5",
"tokio 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
"tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -2436,40 +2436,40 @@ dependencies = [
[[package]]
name = "solana-exchange-api"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.16.4",
"solana-metrics 0.16.4",
"solana-runtime 0.16.4",
"solana-sdk 0.16.4",
"solana-logger 0.16.5",
"solana-metrics 0.16.5",
"solana-runtime 0.16.5",
"solana-sdk 0.16.5",
]
[[package]]
name = "solana-exchange-program"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-exchange-api 0.16.4",
"solana-logger 0.16.4",
"solana-sdk 0.16.4",
"solana-exchange-api 0.16.5",
"solana-logger 0.16.5",
"solana-sdk 0.16.5",
]
[[package]]
name = "solana-failure-program"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-runtime 0.16.4",
"solana-sdk 0.16.4",
"solana-runtime 0.16.5",
"solana-sdk 0.16.5",
]
[[package]]
name = "solana-genesis"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2478,41 +2478,41 @@ dependencies = [
"serde_derive 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_yaml 0.8.9 (registry+https://github.com/rust-lang/crates.io-index)",
"solana 0.16.4",
"solana-bpf-loader-api 0.16.4",
"solana-bpf-loader-program 0.16.4",
"solana-budget-api 0.16.4",
"solana-budget-program 0.16.4",
"solana-config-api 0.16.4",
"solana-config-program 0.16.4",
"solana-exchange-api 0.16.4",
"solana-exchange-program 0.16.4",
"solana-sdk 0.16.4",
"solana-stake-api 0.16.4",
"solana-stake-program 0.16.4",
"solana-storage-api 0.16.4",
"solana-storage-program 0.16.4",
"solana-token-api 0.16.4",
"solana-token-program 0.16.4",
"solana-vote-api 0.16.4",
"solana-vote-program 0.16.4",
"solana 0.16.5",
"solana-bpf-loader-api 0.16.5",
"solana-bpf-loader-program 0.16.5",
"solana-budget-api 0.16.5",
"solana-budget-program 0.16.5",
"solana-config-api 0.16.5",
"solana-config-program 0.16.5",
"solana-exchange-api 0.16.5",
"solana-exchange-program 0.16.5",
"solana-sdk 0.16.5",
"solana-stake-api 0.16.5",
"solana-stake-program 0.16.5",
"solana-storage-api 0.16.5",
"solana-storage-program 0.16.5",
"solana-token-api 0.16.5",
"solana-token-program 0.16.5",
"solana-vote-api 0.16.5",
"solana-vote-program 0.16.5",
]
[[package]]
name = "solana-gossip"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
"env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
"solana 0.16.4",
"solana-client 0.16.4",
"solana-netutil 0.16.4",
"solana-sdk 0.16.4",
"solana 0.16.5",
"solana-client 0.16.5",
"solana-netutil 0.16.5",
"solana-sdk 0.16.5",
]
[[package]]
name = "solana-install"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2532,10 +2532,10 @@ dependencies = [
"serde 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_yaml 0.8.9 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-client 0.16.4",
"solana-config-api 0.16.4",
"solana-logger 0.16.4",
"solana-sdk 0.16.4",
"solana-client 0.16.5",
"solana-config-api 0.16.5",
"solana-logger 0.16.5",
"solana-sdk 0.16.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 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2545,16 +2545,16 @@ dependencies = [
[[package]]
name = "solana-keygen"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
"dirs 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-sdk 0.16.4",
"solana-sdk 0.16.5",
]
[[package]]
name = "solana-kvstore"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2569,7 +2569,7 @@ dependencies = [
[[package]]
name = "solana-ledger-tool"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"assert_cmd 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2577,30 +2577,30 @@ dependencies = [
"serde_derive 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_yaml 0.8.9 (registry+https://github.com/rust-lang/crates.io-index)",
"solana 0.16.4",
"solana-logger 0.16.4",
"solana-runtime 0.16.4",
"solana-sdk 0.16.4",
"solana 0.16.5",
"solana-logger 0.16.5",
"solana-runtime 0.16.5",
"solana-sdk 0.16.5",
]
[[package]]
name = "solana-logger"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "solana-merkle-tree"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-sdk 0.16.4",
"solana-sdk 0.16.5",
]
[[package]]
name = "solana-metrics"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
"influx_db_client 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2608,13 +2608,13 @@ dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
"reqwest 0.9.18 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-sdk 0.16.4",
"solana-sdk 0.16.5",
"sys-info 0.5.7 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "solana-netutil"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2622,33 +2622,33 @@ dependencies = [
"nix 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)",
"rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
"socket2 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.16.4",
"solana-logger 0.16.5",
"tokio 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "solana-noop-program"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.16.4",
"solana-sdk 0.16.4",
"solana-logger 0.16.5",
"solana-sdk 0.16.5",
]
[[package]]
name = "solana-replicator"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
"solana 0.16.4",
"solana-logger 0.16.4",
"solana-netutil 0.16.4",
"solana-sdk 0.16.4",
"solana 0.16.5",
"solana-logger 0.16.5",
"solana-netutil 0.16.5",
"solana-sdk 0.16.5",
]
[[package]]
name = "solana-runtime"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"bv 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2666,23 +2666,23 @@ dependencies = [
"serde 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-bpf-loader-api 0.16.4",
"solana-bpf-loader-program 0.16.4",
"solana-logger 0.16.4",
"solana-metrics 0.16.4",
"solana-noop-program 0.16.4",
"solana-sdk 0.16.4",
"solana-stake-api 0.16.4",
"solana-stake-program 0.16.4",
"solana-storage-api 0.16.4",
"solana-vote-api 0.16.4",
"solana-vote-program 0.16.4",
"solana-bpf-loader-api 0.16.5",
"solana-bpf-loader-program 0.16.5",
"solana-logger 0.16.5",
"solana-metrics 0.16.5",
"solana-noop-program 0.16.5",
"solana-sdk 0.16.5",
"solana-stake-api 0.16.5",
"solana-stake-program 0.16.5",
"solana-storage-api 0.16.5",
"solana-vote-api 0.16.5",
"solana-vote-program 0.16.5",
"sys-info 0.5.7 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "solana-sdk"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2703,38 +2703,38 @@ dependencies = [
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
"sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-ed25519-dalek 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.16.4",
"solana-logger 0.16.5",
"untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "solana-stake-api"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.16.4",
"solana-metrics 0.16.4",
"solana-sdk 0.16.4",
"solana-vote-api 0.16.4",
"solana-logger 0.16.5",
"solana-metrics 0.16.5",
"solana-sdk 0.16.5",
"solana-vote-api 0.16.5",
]
[[package]]
name = "solana-stake-program"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.16.4",
"solana-sdk 0.16.4",
"solana-stake-api 0.16.4",
"solana-logger 0.16.5",
"solana-sdk 0.16.5",
"solana-stake-api 0.16.5",
]
[[package]]
name = "solana-storage-api"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2744,26 +2744,26 @@ dependencies = [
"rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.16.4",
"solana-sdk 0.16.4",
"solana-logger 0.16.5",
"solana-sdk 0.16.5",
]
[[package]]
name = "solana-storage-program"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.16.4",
"solana-runtime 0.16.4",
"solana-sdk 0.16.4",
"solana-storage-api 0.16.4",
"solana-logger 0.16.5",
"solana-runtime 0.16.5",
"solana-sdk 0.16.5",
"solana-storage-api 0.16.5",
]
[[package]]
name = "solana-token-api"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2771,50 +2771,50 @@ dependencies = [
"num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.16.4",
"solana-sdk 0.16.4",
"solana-logger 0.16.5",
"solana-sdk 0.16.5",
]
[[package]]
name = "solana-token-program"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.16.4",
"solana-sdk 0.16.4",
"solana-token-api 0.16.4",
"solana-logger 0.16.5",
"solana-sdk 0.16.5",
"solana-token-api 0.16.5",
]
[[package]]
name = "solana-upload-perf"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-metrics 0.16.4",
"solana-metrics 0.16.5",
]
[[package]]
name = "solana-validator"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
"solana 0.16.4",
"solana-drone 0.16.4",
"solana-logger 0.16.4",
"solana-metrics 0.16.4",
"solana-netutil 0.16.4",
"solana-runtime 0.16.4",
"solana-sdk 0.16.4",
"solana-vote-api 0.16.4",
"solana-vote-signer 0.16.4",
"solana 0.16.5",
"solana-drone 0.16.5",
"solana-logger 0.16.5",
"solana-metrics 0.16.5",
"solana-netutil 0.16.5",
"solana-runtime 0.16.5",
"solana-sdk 0.16.5",
"solana-vote-api 0.16.5",
"solana-vote-signer 0.16.5",
]
[[package]]
name = "solana-validator-info"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2823,38 +2823,38 @@ dependencies = [
"serde 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-client 0.16.4",
"solana-config-api 0.16.4",
"solana-sdk 0.16.4",
"solana-client 0.16.5",
"solana-config-api 0.16.5",
"solana-sdk 0.16.5",
"url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "solana-vote-api"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.16.4",
"solana-metrics 0.16.4",
"solana-sdk 0.16.4",
"solana-logger 0.16.5",
"solana-metrics 0.16.5",
"solana-sdk 0.16.5",
]
[[package]]
name = "solana-vote-program"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.16.4",
"solana-sdk 0.16.4",
"solana-vote-api 0.16.4",
"solana-logger 0.16.5",
"solana-sdk 0.16.5",
"solana-vote-api 0.16.5",
]
[[package]]
name = "solana-vote-signer"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"bs58 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2864,13 +2864,13 @@ dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.94 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-metrics 0.16.4",
"solana-sdk 0.16.4",
"solana-metrics 0.16.5",
"solana-sdk 0.16.5",
]
[[package]]
name = "solana-wallet"
version = "0.16.4"
version = "0.16.5"
dependencies = [
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"bs58 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2880,19 +2880,19 @@ dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
"solana 0.16.4",
"solana-budget-api 0.16.4",
"solana-budget-program 0.16.4",
"solana-client 0.16.4",
"solana-drone 0.16.4",
"solana-logger 0.16.4",
"solana-netutil 0.16.4",
"solana-runtime 0.16.4",
"solana-sdk 0.16.4",
"solana-stake-api 0.16.4",
"solana-storage-api 0.16.4",
"solana-vote-api 0.16.4",
"solana-vote-signer 0.16.4",
"solana 0.16.5",
"solana-budget-api 0.16.5",
"solana-budget-program 0.16.5",
"solana-client 0.16.5",
"solana-drone 0.16.5",
"solana-logger 0.16.5",
"solana-netutil 0.16.5",
"solana-runtime 0.16.5",
"solana-sdk 0.16.5",
"solana-stake-api 0.16.5",
"solana-storage-api 0.16.5",
"solana-vote-api 0.16.5",
"solana-vote-signer 0.16.5",
"url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
]

View File

@@ -2,7 +2,7 @@
authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-bench-exchange"
version = "0.16.4"
version = "0.16.5"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -24,16 +24,16 @@ serde_derive = "1.0.92"
serde_json = "1.0.39"
serde_yaml = "0.8.9"
# solana-runtime = { path = "../solana/runtime"}
solana = { path = "../core", version = "0.16.4" }
solana-client = { path = "../client", version = "0.16.4" }
solana-drone = { path = "../drone", version = "0.16.4" }
solana-exchange-api = { path = "../programs/exchange_api", version = "0.16.4" }
solana-exchange-program = { path = "../programs/exchange_program", version = "0.16.4" }
solana-logger = { path = "../logger", version = "0.16.4" }
solana-metrics = { path = "../metrics", version = "0.16.4" }
solana-netutil = { path = "../netutil", version = "0.16.4" }
solana-runtime = { path = "../runtime", version = "0.16.4" }
solana-sdk = { path = "../sdk", version = "0.16.4" }
solana = { path = "../core", version = "0.16.5" }
solana-client = { path = "../client", version = "0.16.5" }
solana-drone = { path = "../drone", version = "0.16.5" }
solana-exchange-api = { path = "../programs/exchange_api", version = "0.16.5" }
solana-exchange-program = { path = "../programs/exchange_program", version = "0.16.5" }
solana-logger = { path = "../logger", version = "0.16.5" }
solana-metrics = { path = "../metrics", version = "0.16.5" }
solana-netutil = { path = "../netutil", version = "0.16.5" }
solana-runtime = { path = "../runtime", version = "0.16.5" }
solana-sdk = { path = "../sdk", version = "0.16.5" }
untrusted = "0.6.2"
ws = "0.8.1"

View File

@@ -2,16 +2,16 @@
authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-bench-streamer"
version = "0.16.4"
version = "0.16.5"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
[dependencies]
clap = "2.33.0"
solana = { path = "../core", version = "0.16.4" }
solana-logger = { path = "../logger", version = "0.16.4" }
solana-netutil = { path = "../netutil", version = "0.16.4" }
solana = { path = "../core", version = "0.16.5" }
solana-logger = { path = "../logger", version = "0.16.5" }
solana-netutil = { path = "../netutil", version = "0.16.5" }
[features]
cuda = ["solana/cuda"]

View File

@@ -2,7 +2,7 @@
authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-bench-tps"
version = "0.16.4"
version = "0.16.5"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -15,14 +15,14 @@ serde = "1.0.92"
serde_derive = "1.0.92"
serde_json = "1.0.39"
serde_yaml = "0.8.9"
solana = { path = "../core", version = "0.16.4" }
solana-client = { path = "../client", version = "0.16.4" }
solana-drone = { path = "../drone", version = "0.16.4" }
solana-logger = { path = "../logger", version = "0.16.4" }
solana-metrics = { path = "../metrics", version = "0.16.4" }
solana-netutil = { path = "../netutil", version = "0.16.4" }
solana-runtime = { path = "../runtime", version = "0.16.4" }
solana-sdk = { path = "../sdk", version = "0.16.4" }
solana = { path = "../core", version = "0.16.5" }
solana-client = { path = "../client", version = "0.16.5" }
solana-drone = { path = "../drone", version = "0.16.5" }
solana-logger = { path = "../logger", version = "0.16.5" }
solana-metrics = { path = "../metrics", version = "0.16.5" }
solana-netutil = { path = "../netutil", version = "0.16.5" }
solana-runtime = { path = "../runtime", version = "0.16.5" }
solana-sdk = { path = "../sdk", version = "0.16.5" }
[features]
cuda = ["solana/cuda"]

View File

@@ -346,10 +346,12 @@ pub fn fund_keys<T: Client>(
source: &Keypair,
dests: &[Keypair],
total: u64,
lamports_per_signature: u64,
max_fee: u64,
mut extra: u64,
) {
let mut funded: Vec<(&Keypair, u64)> = vec![(source, total)];
let mut notfunded: Vec<&Keypair> = dests.iter().collect();
let lamports_per_account = (total - (extra * max_fee)) / (notfunded.len() as u64 + 1);
println!("funding keys {}", dests.len());
while !notfunded.is_empty() {
@@ -362,7 +364,8 @@ pub fn fund_keys<T: Client>(
break;
}
let start = notfunded.len() - max_units as usize;
let per_unit = (f.1 - max_units * lamports_per_signature) / max_units;
let fees = if extra > 0 { max_fee } else { 0 };
let per_unit = (f.1 - lamports_per_account - fees) / max_units;
let moves: Vec<_> = notfunded[start..]
.iter()
.map(|k| (k.pubkey(), per_unit))
@@ -374,6 +377,7 @@ pub fn fund_keys<T: Client>(
if !moves.is_empty() {
to_fund.push((f.0, moves));
}
extra -= 1;
}
// try to transfer a "few" at a time with recent blockhash
@@ -582,16 +586,20 @@ fn should_switch_directions(num_lamports_per_account: u64, i: u64) -> bool {
i % (num_lamports_per_account / 4) == 0 && (i >= (3 * num_lamports_per_account) / 4)
}
pub fn generate_keypairs(seed_keypair: &Keypair, count: u64) -> Vec<Keypair> {
pub fn generate_keypairs(seed_keypair: &Keypair, count: u64) -> (Vec<Keypair>, u64) {
let mut seed = [0u8; 32];
seed.copy_from_slice(&seed_keypair.to_bytes()[..32]);
let mut rnd = GenKeys::new(seed);
let mut total_keys = 1;
let mut total_keys = 0;
let mut extra = 0; // This variable tracks the number of keypairs needing extra transaction fees funded
let mut delta = 1;
while total_keys < count {
total_keys *= MAX_SPENDS_PER_TX;
extra += delta;
delta *= MAX_SPENDS_PER_TX;
total_keys += delta;
}
rnd.gen_n_keypairs(total_keys)
(rnd.gen_n_keypairs(total_keys), extra)
}
pub fn generate_and_fund_keypairs<T: Client>(
@@ -602,8 +610,7 @@ pub fn generate_and_fund_keypairs<T: Client>(
lamports_per_account: u64,
) -> Result<(Vec<Keypair>, u64)> {
info!("Creating {} keypairs...", tx_count * 2);
let mut keypairs = generate_keypairs(funding_pubkey, tx_count as u64 * 2);
let (mut keypairs, extra) = generate_keypairs(funding_pubkey, tx_count as u64 * 2);
info!("Get lamports...");
// Sample the first keypair, see if it has lamports, if so then resume.
@@ -614,19 +621,21 @@ pub fn generate_and_fund_keypairs<T: Client>(
if lamports_per_account > last_keypair_balance {
let (_, fee_calculator) = client.get_recent_blockhash().unwrap();
let extra =
let account_desired_balance =
lamports_per_account - last_keypair_balance + fee_calculator.max_lamports_per_signature;
let total = extra * (keypairs.len() as u64);
let extra_fees = extra * fee_calculator.max_lamports_per_signature;
let total = account_desired_balance * (1 + keypairs.len() as u64) + extra_fees;
if client.get_balance(&funding_pubkey.pubkey()).unwrap_or(0) < total {
airdrop_lamports(client, &drone_addr.unwrap(), funding_pubkey, total)?;
}
info!("adding more lamports {}", extra);
info!("adding more lamports {}", account_desired_balance);
fund_keys(
client,
funding_pubkey,
&keypairs,
total,
fee_calculator.max_lamports_per_signature,
extra,
);
}
@@ -647,6 +656,7 @@ mod tests {
use solana_runtime::bank::Bank;
use solana_runtime::bank_client::BankClient;
use solana_sdk::client::SyncClient;
use solana_sdk::fee_calculator::FeeCalculator;
use solana_sdk::genesis_block::create_genesis_block;
use std::sync::mpsc::channel;
@@ -735,7 +745,33 @@ mod tests {
generate_and_fund_keypairs(&client, None, &id, tx_count, lamports).unwrap();
for kp in &keypairs {
assert!(client.get_balance(&kp.pubkey()).unwrap() >= lamports);
assert_eq!(client.get_balance(&kp.pubkey()).unwrap(), lamports);
}
}
#[test]
fn test_bench_tps_fund_keys_with_fees() {
let (mut genesis_block, id) = create_genesis_block(10_000);
let fee_calculator = FeeCalculator::new(11);
genesis_block.fee_calculator = fee_calculator;
let bank = Bank::new(&genesis_block);
let client = BankClient::new(bank);
let tx_count = 10;
let lamports = 20;
let (keypairs, _keypair_balance) =
generate_and_fund_keypairs(&client, None, &id, tx_count, lamports).unwrap();
let max_fee = client
.get_recent_blockhash()
.unwrap()
.1
.max_lamports_per_signature;
for kp in &keypairs {
assert_eq!(
client.get_balance(&kp.pubkey()).unwrap(),
lamports + max_fee
);
}
}
}

View File

@@ -40,7 +40,7 @@ fn main() {
} = cli_config;
if write_to_client_file {
let keypairs = generate_keypairs(&id, tx_count as u64 * 2);
let (keypairs, _) = generate_keypairs(&id, tx_count as u64 * 2);
let num_accounts = keypairs.len() as u64;
let max_fee = FeeCalculator::new(target_lamports_per_signature).max_lamports_per_signature;
let num_lamports_per_account = (num_accounts - 1 + NUM_SIGNATURES_FOR_TXS * max_fee)

View File

@@ -74,8 +74,8 @@ The `solana-install` tool can be used to easily install and upgrade the cluster
software on Linux x86_64 and mac OS systems.
```bash
$ export SOLANA_RELEASE=v0.16.4 # skip this line to install the latest release
$ curl -sSf https://raw.githubusercontent.com/solana-labs/solana/v0.16.4/install/solana-install-init.sh | sh -s
$ export SOLANA_RELEASE=v0.16.5 # skip this line to install the latest release
$ curl -sSf https://raw.githubusercontent.com/solana-labs/solana/v0.16.5/install/solana-install-init.sh | sh -s
```
Alternatively build the `solana-install` program from source and run the
@@ -248,10 +248,9 @@ to other users.
Run the solana-validator-info CLI to populate a validator-info account:
```bash
$ solana-validator-info publish -k ~/validator-keypair.json <VALIDATOR_INFO_ARGS>
$ solana-validator-info publish ~/validator-keypair.json <VALIDATOR_NAME> <VALIDATOR_INFO_ARGS>
```
Available fields for VALIDATOR_INFO_ARGS:
* Name (required)
Optional fields for VALIDATOR_INFO_ARGS:
* Website
* Keybase ID
* Details

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-chacha-sys"
version = "0.16.4"
version = "0.16.5"
description = "Solana chacha-sys"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"

View File

@@ -30,7 +30,7 @@ cargoCommand="cargo publish --token $CRATES_IO_TOKEN"
Cargo_tomls=$(ci/order-crates-for-publishing.py)
for Cargo_toml in $Cargo_tomls; do
echo "-- $Cargo_toml"
echo "--- $Cargo_toml"
grep -q "^version = \"$expectedCrateVersion\"$" "$Cargo_toml" || {
echo "Error: $Cargo_toml version is not $expectedCrateVersion"
exit 1
@@ -61,8 +61,22 @@ for Cargo_toml in $Cargo_tomls; do
for ((i = 1 ; i <= numRetries ; i++)); do
echo "Attempt ${i} of ${numRetries}"
if [[ $(is_crate_version_uploaded "$crate_name" "$expectedCrateVersion") = True ]] ; then
echo "Found ${crate_name} version ${expectedCrateVersion} on crates.io"
break
echo "Found ${crate_name} version ${expectedCrateVersion} on crates.io REST API"
really_uploaded=0
(
set -x
rm -rf crate-test
cargo init crate-test
cd crate-test/
echo "${crate_name} = \"${expectedCrateVersion}\"" >> Cargo.toml
echo "[workspace]" >> Cargo.toml
cargo check
) && really_uploaded=1
if ((really_uploaded)); then
break;
fi
echo "${crate_name} not yet available for download from crates.io"
fi
echo "Did not find ${crate_name} version ${expectedCrateVersion} on crates.io. Sleeping for 2 seconds."
sleep 2

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-client"
version = "0.16.4"
version = "0.16.5"
description = "Solana Client"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -19,10 +19,10 @@ reqwest = "0.9.18"
serde = "1.0.92"
serde_derive = "1.0.92"
serde_json = "1.0.39"
solana-netutil = { path = "../netutil", version = "0.16.4" }
solana-sdk = { path = "../sdk", version = "0.16.4" }
solana-netutil = { path = "../netutil", version = "0.16.5" }
solana-sdk = { path = "../sdk", version = "0.16.5" }
[dev-dependencies]
jsonrpc-core = "12.0.0"
jsonrpc-http-server = "12.0.0"
solana-logger = { path = "../logger", version = "0.16.4" }
solana-logger = { path = "../logger", version = "0.16.5" }

View File

@@ -293,7 +293,6 @@ impl RpcClient {
format!("GetProgramAccounts parse failure: {:?}", err),
)
})?;
println!("{:?}", accounts);
let mut pubkey_accounts: Vec<(Pubkey, Account)> = Vec::new();
for (string, account) in accounts.into_iter() {

View File

@@ -1,7 +1,7 @@
[package]
name = "solana"
description = "Blockchain, Rebuilt for Scale"
version = "0.16.4"
version = "0.16.5"
documentation = "https://docs.rs/solana"
homepage = "https://solana.com/"
readme = "../README.md"
@@ -45,27 +45,27 @@ rocksdb = "0.11.0"
serde = "1.0.92"
serde_derive = "1.0.92"
serde_json = "1.0.39"
solana-budget-api = { path = "../programs/budget_api", version = "0.16.4" }
solana-budget-program = { path = "../programs/budget_program", version = "0.16.4" }
solana-chacha-sys = { path = "../chacha-sys", version = "0.16.4" }
solana-client = { path = "../client", version = "0.16.4" }
solana-config-program = { path = "../programs/config_program", version = "0.16.4" }
solana-drone = { path = "../drone", version = "0.16.4" }
solana-budget-api = { path = "../programs/budget_api", version = "0.16.5" }
solana-budget-program = { path = "../programs/budget_program", version = "0.16.5" }
solana-chacha-sys = { path = "../chacha-sys", version = "0.16.5" }
solana-client = { path = "../client", version = "0.16.5" }
solana-config-program = { path = "../programs/config_program", version = "0.16.5" }
solana-drone = { path = "../drone", version = "0.16.5" }
solana-ed25519-dalek = "0.2.0"
solana-exchange-program = { path = "../programs/exchange_program", version = "0.16.4" }
solana-kvstore = { path = "../kvstore", version = "0.16.4", optional = true }
solana-logger = { path = "../logger", version = "0.16.4" }
solana-metrics = { path = "../metrics", version = "0.16.4" }
solana-netutil = { path = "../netutil", version = "0.16.4" }
solana-runtime = { path = "../runtime", version = "0.16.4" }
solana-sdk = { path = "../sdk", version = "0.16.4" }
solana-stake-api = { path = "../programs/stake_api", version = "0.16.4" }
solana-stake-program = { path = "../programs/stake_program", version = "0.16.4" }
solana-storage-api = { path = "../programs/storage_api", version = "0.16.4" }
solana-storage-program = { path = "../programs/storage_program", version = "0.16.4" }
solana-vote-api = { path = "../programs/vote_api", version = "0.16.4" }
solana-vote-program = { path = "../programs/vote_program", version = "0.16.4" }
solana-vote-signer = { path = "../vote-signer", version = "0.16.4" }
solana-exchange-program = { path = "../programs/exchange_program", version = "0.16.5" }
solana-kvstore = { path = "../kvstore", version = "0.16.5", optional = true }
solana-logger = { path = "../logger", version = "0.16.5" }
solana-metrics = { path = "../metrics", version = "0.16.5" }
solana-netutil = { path = "../netutil", version = "0.16.5" }
solana-runtime = { path = "../runtime", version = "0.16.5" }
solana-sdk = { path = "../sdk", version = "0.16.5" }
solana-stake-api = { path = "../programs/stake_api", version = "0.16.5" }
solana-stake-program = { path = "../programs/stake_program", version = "0.16.5" }
solana-storage-api = { path = "../programs/storage_api", version = "0.16.5" }
solana-storage-program = { path = "../programs/storage_program", version = "0.16.5" }
solana-vote-api = { path = "../programs/vote_api", version = "0.16.5" }
solana-vote-program = { path = "../programs/vote_program", version = "0.16.5" }
solana-vote-signer = { path = "../vote-signer", version = "0.16.5" }
sys-info = "0.5.7"
tokio = "0.1"
tokio-codec = "0.1"

View File

@@ -7,6 +7,8 @@ use rand_chacha::ChaChaRng;
use std::iter;
use std::ops::Div;
/// Returns a list of indexes shuffled based on the input weights
/// Note - The sum of all weights must not exceed `u64::MAX`
pub fn weighted_shuffle<T>(weights: Vec<T>, rng: ChaChaRng) -> Vec<usize>
where
T: Copy + PartialOrd + iter::Sum + Div<T, Output = T> + FromPrimitive + ToPrimitive,
@@ -17,10 +19,13 @@ where
.into_iter()
.enumerate()
.map(|(i, v)| {
let x = (total_weight / v).to_u32().unwrap();
let x = (total_weight / v)
.to_u64()
.expect("values > u64::max are not supported");
(
i,
(&mut rng).gen_range(1, u64::from(std::u16::MAX)) * u64::from(x),
// capture the u64 into u128s to prevent overflow
(&mut rng).gen_range(1, u128::from(std::u16::MAX)) * u128::from(x),
)
})
.sorted_by(|(_, l_val), (_, r_val)| l_val.cmp(r_val))
@@ -73,4 +78,18 @@ mod tests {
assert_eq!(x, y);
});
}
#[test]
fn test_weighted_shuffle_imbalanced() {
let mut weights = vec![std::u32::MAX as u64; 3];
weights.push(1);
let shuffle = weighted_shuffle(weights.clone(), ChaChaRng::from_seed([0x5a; 32]));
shuffle.into_iter().for_each(|x| {
if x == weights.len() - 1 {
assert_eq!(weights[x], 1);
} else {
assert_eq!(weights[x], std::u32::MAX as u64);
}
});
}
}

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-drone"
version = "0.16.4"
version = "0.16.5"
description = "Solana Drone"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -20,9 +20,9 @@ clap = "2.33"
log = "0.4.2"
serde = "1.0.92"
serde_derive = "1.0.92"
solana-logger = { path = "../logger", version = "0.16.4" }
solana-metrics = { path = "../metrics", version = "0.16.4" }
solana-sdk = { path = "../sdk", version = "0.16.4" }
solana-logger = { path = "../logger", version = "0.16.5" }
solana-metrics = { path = "../metrics", version = "0.16.5" }
solana-sdk = { path = "../sdk", version = "0.16.5" }
tokio = "0.1"
tokio-codec = "0.1"

View File

@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-genesis"
description = "Blockchain, Rebuilt for Scale"
version = "0.16.4"
version = "0.16.5"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -15,24 +15,24 @@ serde = "1.0.92"
serde_derive = "1.0.92"
serde_json = "1.0.39"
serde_yaml = "0.8.9"
solana = { path = "../core", version = "0.16.4" }
solana-bpf-loader-api = { path = "../programs/bpf_loader_api", version = "0.16.4" }
solana-bpf-loader-program = { path = "../programs/bpf_loader_program", version = "0.16.4" }
solana-budget-api = { path = "../programs/budget_api", version = "0.16.4" }
solana-budget-program = { path = "../programs/budget_program", version = "0.16.4" }
solana-config-api = { path = "../programs/config_api", version = "0.16.4" }
solana-config-program = { path = "../programs/config_program", version = "0.16.4" }
solana-exchange-api = { path = "../programs/exchange_api", version = "0.16.4" }
solana-exchange-program = { path = "../programs/exchange_program", version = "0.16.4" }
solana-sdk = { path = "../sdk", version = "0.16.4" }
solana-stake-api = { path = "../programs/stake_api", version = "0.16.4" }
solana-stake-program = { path = "../programs/stake_program", version = "0.16.4" }
solana-storage-api = { path = "../programs/storage_api", version = "0.16.4" }
solana-storage-program = { path = "../programs/storage_program", version = "0.16.4" }
solana-token-api = { path = "../programs/token_api", version = "0.16.4" }
solana-token-program = { path = "../programs/token_program", version = "0.16.4" }
solana-vote-api = { path = "../programs/vote_api", version = "0.16.4" }
solana-vote-program = { path = "../programs/vote_program", version = "0.16.4" }
solana = { path = "../core", version = "0.16.5" }
solana-bpf-loader-api = { path = "../programs/bpf_loader_api", version = "0.16.5" }
solana-bpf-loader-program = { path = "../programs/bpf_loader_program", version = "0.16.5" }
solana-budget-api = { path = "../programs/budget_api", version = "0.16.5" }
solana-budget-program = { path = "../programs/budget_program", version = "0.16.5" }
solana-config-api = { path = "../programs/config_api", version = "0.16.5" }
solana-config-program = { path = "../programs/config_program", version = "0.16.5" }
solana-exchange-api = { path = "../programs/exchange_api", version = "0.16.5" }
solana-exchange-program = { path = "../programs/exchange_program", version = "0.16.5" }
solana-sdk = { path = "../sdk", version = "0.16.5" }
solana-stake-api = { path = "../programs/stake_api", version = "0.16.5" }
solana-stake-program = { path = "../programs/stake_program", version = "0.16.5" }
solana-storage-api = { path = "../programs/storage_api", version = "0.16.5" }
solana-storage-program = { path = "../programs/storage_program", version = "0.16.5" }
solana-token-api = { path = "../programs/token_api", version = "0.16.5" }
solana-token-program = { path = "../programs/token_program", version = "0.16.5" }
solana-vote-api = { path = "../programs/vote_api", version = "0.16.5" }
solana-vote-program = { path = "../programs/vote_program", version = "0.16.5" }
[dev-dependencies]
hashbrown = "0.3.0"

View File

@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-gossip"
description = "Blockchain, Rebuilt for Scale"
version = "0.16.4"
version = "0.16.5"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -11,10 +11,10 @@ homepage = "https://solana.com/"
[dependencies]
clap = "2.33.0"
env_logger = "0.6.1"
solana = { path = "../core", version = "0.16.4" }
solana-client = { path = "../client", version = "0.16.4" }
solana-netutil = { path = "../netutil", version = "0.16.4" }
solana-sdk = { path = "../sdk", version = "0.16.4" }
solana = { path = "../core", version = "0.16.5" }
solana-client = { path = "../client", version = "0.16.5" }
solana-netutil = { path = "../netutil", version = "0.16.5" }
solana-sdk = { path = "../sdk", version = "0.16.5" }
[features]
cuda = []

View File

@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-install"
description = "The solana cluster software installer"
version = "0.16.4"
version = "0.16.5"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -31,10 +31,10 @@ ring = "0.13.2"
serde = "1.0.92"
serde_derive = "1.0.92"
serde_yaml = "0.8.9"
solana-client = { path = "../client", version = "0.16.4" }
solana-config-api = { path = "../programs/config_api", version = "0.16.4" }
solana-logger = { path = "../logger", version = "0.16.4" }
solana-sdk = { path = "../sdk", version = "0.16.4" }
solana-client = { path = "../client", version = "0.16.5" }
solana-config-api = { path = "../programs/config_api", version = "0.16.5" }
solana-logger = { path = "../logger", version = "0.16.5" }
solana-sdk = { path = "../sdk", version = "0.16.5" }
tar = "0.4.26"
tempdir = "0.3.7"
url = "1.7.2"

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-keygen"
version = "0.16.4"
version = "0.16.5"
description = "Solana key generation utility"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -15,7 +15,7 @@ cuda = []
[dependencies]
clap = "2.33"
dirs = "2.0.1"
solana-sdk = { path = "../sdk", version = "0.16.4" }
solana-sdk = { path = "../sdk", version = "0.16.5" }
[[bin]]
name = "solana-keygen"

View File

@@ -1,7 +1,7 @@
[package]
name = "solana-kvstore"
description = "Embedded Key-Value store for solana"
version = "0.16.4"
version = "0.16.5"
homepage = "https://solana.com/"
repository = "https://github.com/solana-labs/solana"
authors = ["Solana Maintainers <maintainers@solana.com>"]

View File

@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-ledger-tool"
description = "Blockchain, Rebuilt for Scale"
version = "0.16.4"
version = "0.16.5"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -14,10 +14,10 @@ serde = "1.0.94"
serde_derive = "1.0.94"
serde_json = "1.0.40"
serde_yaml = "0.8.9"
solana = { path = "../core", version = "0.16.4" }
solana-logger = { path = "../logger", version = "0.16.4" }
solana-runtime = { path = "../runtime", version = "0.16.4" }
solana-sdk = { path = "../sdk", version = "0.16.4" }
solana = { path = "../core", version = "0.16.5" }
solana-logger = { path = "../logger", version = "0.16.5" }
solana-runtime = { path = "../runtime", version = "0.16.5" }
solana-sdk = { path = "../sdk", version = "0.16.5" }
[dev-dependencies]
assert_cmd = "0.11"

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-logger"
version = "0.16.4"
version = "0.16.5"
description = "Solana Logger"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-merkle-tree"
version = "0.16.4"
version = "0.16.5"
description = "Solana Merkle Tree"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -9,7 +9,7 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk = { path = "../sdk", version = "0.16.4" }
solana-sdk = { path = "../sdk", version = "0.16.5" }
[dev-dependencies]
hex = "0.3.2"

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-metrics"
version = "0.16.4"
version = "0.16.5"
description = "Solana Metrics"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -14,7 +14,7 @@ influx_db_client = "0.3.6"
lazy_static = "1.3.0"
log = "0.4.2"
reqwest = "0.9.18"
solana-sdk = { path = "../sdk", version = "0.16.4" }
solana-sdk = { path = "../sdk", version = "0.16.5" }
sys-info = "0.5.7"
[dev-dependencies]

View File

@@ -11,7 +11,9 @@ set -e
for i in "$SOLANA_RSYNC_CONFIG_DIR" "$SOLANA_CONFIG_DIR"; do
echo "Cleaning $i"
rm -rvf "${i:?}/" # <-- $i might be a symlink, rm the other side of it first
rm -rvf "$i"
mkdir -p "$i"
done
setup_secondary_mount

View File

@@ -72,13 +72,16 @@ SOLANA_RSYNC_CONFIG_DIR=$SOLANA_ROOT/config
# Configuration that remains local
SOLANA_CONFIG_DIR=$SOLANA_ROOT/config-local
# If there is a secondary disk, symlink the config-local dir there
SECONDARY_DISK_MOUNT_POINT=/mnt/extra-disk
if [[ -d $SECONDARY_DISK_MOUNT_POINT ]]; then
mkdir -p $SECONDARY_DISK_MOUNT_POINT/config-local
mkdir -p "$SOLANA_ROOT"
ln -s $SECONDARY_DISK_MOUNT_POINT/config-local "$SOLANA_ROOT"
fi
setup_secondary_mount() {
# If there is a secondary disk, symlink the config-local dir there
if [[ -d $SECONDARY_DISK_MOUNT_POINT ]]; then
mkdir -p $SECONDARY_DISK_MOUNT_POINT/config-local
rm -rf "$SOLANA_CONFIG_DIR"
ln -sfT $SECONDARY_DISK_MOUNT_POINT/config-local "$SOLANA_CONFIG_DIR"
fi
}
setup_secondary_mount
default_arg() {
declare name=$1

View File

@@ -112,15 +112,17 @@ setup_validator_accounts() {
touch "$configured_flag"
fi
$solana_wallet --keypair "$identity_keypair_path" --url "http://$entrypoint_ip:8899" \
show-vote-account "$vote_pubkey"
$solana_wallet --keypair "$identity_keypair_path" --url "http://$entrypoint_ip:8899" \
show-stake-account "$stake_pubkey"
$solana_wallet --keypair "$identity_keypair_path" --url "http://$entrypoint_ip:8899" \
show-storage-account "$storage_pubkey"
echo "Identity account balance:"
$solana_wallet --keypair "$identity_keypair_path" --url "http://$entrypoint_ip:8899" balance
(
set -x
$solana_wallet --keypair "$identity_keypair_path" --url "http://$entrypoint_ip:8899" balance
$solana_wallet --keypair "$identity_keypair_path" --url "http://$entrypoint_ip:8899" \
show-vote-account "$vote_pubkey"
$solana_wallet --keypair "$identity_keypair_path" --url "http://$entrypoint_ip:8899" \
show-stake-account "$stake_pubkey"
$solana_wallet --keypair "$identity_keypair_path" --url "http://$entrypoint_ip:8899" \
show-storage-account "$storage_pubkey"
)
return 0
}
@@ -468,6 +470,7 @@ EOF
======================[ $node_type configuration ]======================
identity pubkey: $identity_pubkey
vote pubkey: $vote_pubkey
stake pubkey: $stake_pubkey
storage pubkey: $storage_pubkey
ledger: $ledger_config_dir
accounts: $accounts_config_dir

View File

@@ -233,7 +233,7 @@ local|tar)
fi
export BLOCKEXPLORER_GEOIP_WHITELIST=$PWD/net/config/geoip.yml
npm install @solana/blockexplorer@1.17.2
npm install @solana/blockexplorer@1.21.0
npx solana-blockexplorer > blockexplorer.log 2>&1 &
# Confirm the blockexplorer is accessible

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-netutil"
version = "0.16.4"
version = "0.16.5"
description = "Solana Network Utilities"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -15,7 +15,7 @@ log = "0.4.2"
nix = "0.14.1"
rand = "0.6.1"
socket2 = "0.3.9"
solana-logger = { path = "../logger", version = "0.16.4" }
solana-logger = { path = "../logger", version = "0.16.5" }
tokio = "0.1"
[lib]

View File

@@ -1,7 +1,7 @@
[package]
name = "solana-bpf-programs"
description = "Blockchain, Rebuilt for Scale"
version = "0.16.4"
version = "0.16.5"
documentation = "https://docs.rs/solana"
homepage = "https://solana.com/"
readme = "README.md"
@@ -22,10 +22,10 @@ walkdir = "2"
bincode = "1.1.4"
byteorder = "1.3.2"
elf = "0.0.10"
solana-bpf-loader-api = { path = "../bpf_loader_api", version = "0.16.4" }
solana-logger = { path = "../../logger", version = "0.16.4" }
solana-runtime = { path = "../../runtime", version = "0.16.4" }
solana-sdk = { path = "../../sdk", version = "0.16.4" }
solana-bpf-loader-api = { path = "../bpf_loader_api", version = "0.16.5" }
solana-logger = { path = "../../logger", version = "0.16.5" }
solana-runtime = { path = "../../runtime", version = "0.16.5" }
solana-sdk = { path = "../../sdk", version = "0.16.5" }
solana_rbpf = "=0.1.13"
[[bench]]

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-128bit"
version = "0.16.4"
version = "0.16.5"
description = "Solana BPF iter program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -12,8 +12,8 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.4" }
solana-bpf-rust-128bit-dep = { path = "../128bit_dep", version = "0.16.4" }
solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.5" }
solana-bpf-rust-128bit-dep = { path = "../128bit_dep", version = "0.16.5" }
[workspace]
members = []

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-128bit-dep"
version = "0.16.4"
version = "0.16.5"
description = "Solana BPF many-args-dep program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -12,7 +12,7 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.4" }
solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.5" }
[workspace]
members = []

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-alloc"
version = "0.16.4"
version = "0.16.5"
description = "Solana BPF alloc program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -12,7 +12,7 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.4" }
solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.5" }
[workspace]
members = []

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-dep-crate"
version = "0.16.4"
version = "0.16.5"
description = "Solana BPF dep-crate program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -13,7 +13,7 @@ edition = "2018"
[dependencies]
byteorder = { version = "1", default-features = false }
solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.4" }
solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.5" }
[workspace]
members = []

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-iter"
version = "0.16.4"
version = "0.16.5"
description = "Solana BPF iter program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -12,7 +12,7 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.4" }
solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.5" }
[workspace]
members = []

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-many-args"
version = "0.16.4"
version = "0.16.5"
description = "Solana BPF many-args program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -12,8 +12,8 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.4" }
solana-bpf-rust-many-args-dep = { path = "../many_args_dep", version = "0.16.4" }
solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.5" }
solana-bpf-rust-many-args-dep = { path = "../many_args_dep", version = "0.16.5" }
[workspace]
members = []

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-many-args-dep"
version = "0.16.4"
version = "0.16.5"
description = "Solana BPF many-args-dep program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -12,7 +12,7 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.4" }
solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.5" }
[workspace]
members = []

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-noop"
version = "0.16.4"
version = "0.16.5"
description = "Solana BPF noop program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -12,7 +12,7 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.4" }
solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.5" }
[workspace]
members = []

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-panic"
version = "0.16.4"
version = "0.16.5"
description = "Solana BPF iter program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -12,7 +12,7 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.4" }
solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.5" }
[workspace]
members = []

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-tick-height"
version = "0.16.4"
version = "0.16.5"
description = "Solana BPF noop program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -14,7 +14,7 @@ edition = "2018"
[dependencies]
byteorder = { version = "1", default-features = false }
solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.4" }
solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.5" }
[workspace]
members = []

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-bpf-loader-api"
version = "0.16.4"
version = "0.16.5"
description = "Solana BPF Loader"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -14,8 +14,8 @@ byteorder = "1.3.2"
libc = "0.2.58"
log = "0.4.2"
serde = "1.0.92"
solana-logger = { path = "../../logger", version = "0.16.4" }
solana-sdk = { path = "../../sdk", version = "0.16.4" }
solana-logger = { path = "../../logger", version = "0.16.5" }
solana-sdk = { path = "../../sdk", version = "0.16.5" }
solana_rbpf = "=0.1.13"
[lib]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-bpf-loader-program"
version = "0.16.4"
version = "0.16.5"
description = "Solana BPF Loader"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -10,9 +10,9 @@ edition = "2018"
[dependencies]
log = "0.4.2"
solana-logger = { path = "../../logger", version = "0.16.4" }
solana-sdk = { path = "../../sdk", version = "0.16.4" }
solana-bpf-loader-api = { path = "../bpf_loader_api", version = "0.16.4" }
solana-logger = { path = "../../logger", version = "0.16.5" }
solana-sdk = { path = "../../sdk", version = "0.16.5" }
solana-bpf-loader-api = { path = "../bpf_loader_api", version = "0.16.5" }
[lib]
crate-type = ["lib", "cdylib"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-budget-api"
version = "0.16.4"
version = "0.16.5"
description = "Solana Budget program API"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -16,10 +16,10 @@ num-derive = "0.2"
num-traits = "0.2"
serde = "1.0.92"
serde_derive = "1.0.92"
solana-sdk = { path = "../../sdk", version = "0.16.4" }
solana-sdk = { path = "../../sdk", version = "0.16.5" }
[dev-dependencies]
solana-runtime = { path = "../../runtime", version = "0.16.4" }
solana-runtime = { path = "../../runtime", version = "0.16.5" }
[lib]
crate-type = ["lib"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-budget-program"
version = "0.16.4"
version = "0.16.5"
description = "Solana budget program"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -10,9 +10,9 @@ edition = "2018"
[dependencies]
log = "0.4.2"
solana-budget-api = { path = "../budget_api", version = "0.16.4" }
solana-logger = { path = "../../logger", version = "0.16.4" }
solana-sdk = { path = "../../sdk", version = "0.16.4" }
solana-budget-api = { path = "../budget_api", version = "0.16.5" }
solana-logger = { path = "../../logger", version = "0.16.5" }
solana-sdk = { path = "../../sdk", version = "0.16.5" }
[lib]
crate-type = ["lib", "cdylib"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-config-api"
version = "0.16.4"
version = "0.16.5"
description = "config program API"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -13,11 +13,11 @@ bincode = "1.1.4"
log = "0.4.2"
serde = "1.0.92"
serde_derive = "1.0.92"
solana-logger = { path = "../../logger", version = "0.16.4" }
solana-sdk = { path = "../../sdk", version = "0.16.4" }
solana-logger = { path = "../../logger", version = "0.16.5" }
solana-sdk = { path = "../../sdk", version = "0.16.5" }
[dev-dependencies]
solana-runtime = { path = "../../runtime", version = "0.16.4" }
solana-runtime = { path = "../../runtime", version = "0.16.5" }
[lib]
crate-type = ["lib"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-config-program"
version = "0.16.4"
version = "0.16.5"
description = "config program"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -10,9 +10,9 @@ edition = "2018"
[dependencies]
log = "0.4.2"
solana-config-api = { path = "../config_api", version = "0.16.4" }
solana-logger = { path = "../../logger", version = "0.16.4" }
solana-sdk = { path = "../../sdk", version = "0.16.4" }
solana-config-api = { path = "../config_api", version = "0.16.5" }
solana-logger = { path = "../../logger", version = "0.16.5" }
solana-sdk = { path = "../../sdk", version = "0.16.5" }
[lib]
crate-type = ["lib", "cdylib"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-exchange-api"
version = "0.16.4"
version = "0.16.5"
description = "Solana Exchange program API"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -13,12 +13,12 @@ bincode = "1.1.4"
log = "0.4.2"
serde = "1.0.92"
serde_derive = "1.0.92"
solana-logger = { path = "../../logger", version = "0.16.4" }
solana-metrics = { path = "../../metrics", version = "0.16.4" }
solana-sdk = { path = "../../sdk", version = "0.16.4" }
solana-logger = { path = "../../logger", version = "0.16.5" }
solana-metrics = { path = "../../metrics", version = "0.16.5" }
solana-sdk = { path = "../../sdk", version = "0.16.5" }
[dev-dependencies]
solana-runtime = { path = "../../runtime", version = "0.16.4" }
solana-runtime = { path = "../../runtime", version = "0.16.5" }
[lib]
crate-type = ["lib"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-exchange-program"
version = "0.16.4"
version = "0.16.5"
description = "Solana exchange program"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -10,9 +10,9 @@ edition = "2018"
[dependencies]
log = "0.4.2"
solana-exchange-api = { path = "../exchange_api", version = "0.16.4" }
solana-logger = { path = "../../logger", version = "0.16.4" }
solana-sdk = { path = "../../sdk", version = "0.16.4" }
solana-exchange-api = { path = "../exchange_api", version = "0.16.5" }
solana-logger = { path = "../../logger", version = "0.16.5" }
solana-sdk = { path = "../../sdk", version = "0.16.5" }
[lib]
crate-type = ["lib", "cdylib"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-failure-program"
version = "0.16.4"
version = "0.16.5"
description = "Solana failure program"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -10,10 +10,10 @@ edition = "2018"
[dependencies]
log = "0.4.2"
solana-sdk = { path = "../../sdk", version = "0.16.4" }
solana-sdk = { path = "../../sdk", version = "0.16.5" }
[dev-dependencies]
solana-runtime = { path = "../../runtime", version = "0.16.4" }
solana-runtime = { path = "../../runtime", version = "0.16.5" }
[lib]
crate-type = ["cdylib"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-noop-program"
version = "0.16.4"
version = "0.16.5"
description = "Solana noop program"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -10,8 +10,8 @@ edition = "2018"
[dependencies]
log = "0.4.2"
solana-logger = { path = "../../logger", version = "0.16.4" }
solana-sdk = { path = "../../sdk", version = "0.16.4" }
solana-logger = { path = "../../logger", version = "0.16.5" }
solana-sdk = { path = "../../sdk", version = "0.16.5" }
[lib]
crate-type = ["cdylib"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-stake-api"
version = "0.16.4"
version = "0.16.5"
description = "Solana Stake program API"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -14,10 +14,10 @@ log = "0.4.2"
rand = "0.6.5"
serde = "1.0.92"
serde_derive = "1.0.92"
solana-logger = { path = "../../logger", version = "0.16.4" }
solana-metrics = { path = "../../metrics", version = "0.16.4" }
solana-sdk = { path = "../../sdk", version = "0.16.4" }
solana-vote-api = { path = "../vote_api", version = "0.16.4" }
solana-logger = { path = "../../logger", version = "0.16.5" }
solana-metrics = { path = "../../metrics", version = "0.16.5" }
solana-sdk = { path = "../../sdk", version = "0.16.5" }
solana-vote-api = { path = "../vote_api", version = "0.16.5" }
[lib]
crate-type = ["lib"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-stake-program"
version = "0.16.4"
version = "0.16.5"
description = "Solana stake program"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -10,9 +10,9 @@ edition = "2018"
[dependencies]
log = "0.4.2"
solana-logger = { path = "../../logger", version = "0.16.4" }
solana-sdk = { path = "../../sdk", version = "0.16.4" }
solana-stake-api = { path = "../stake_api", version = "0.16.4" }
solana-logger = { path = "../../logger", version = "0.16.5" }
solana-sdk = { path = "../../sdk", version = "0.16.5" }
solana-stake-api = { path = "../stake_api", version = "0.16.5" }
[lib]
crate-type = ["lib", "cdylib"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-storage-api"
version = "0.16.4"
version = "0.16.5"
description = "Solana Storage program API"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -17,8 +17,8 @@ num-derive = "0.2"
num-traits = "0.2"
serde = "1.0.92"
serde_derive = "1.0.92"
solana-logger = { path = "../../logger", version = "0.16.4" }
solana-sdk = { path = "../../sdk", version = "0.16.4" }
solana-logger = { path = "../../logger", version = "0.16.5" }
solana-sdk = { path = "../../sdk", version = "0.16.5" }
[lib]
crate-type = ["lib"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-storage-program"
version = "0.16.4"
version = "0.16.5"
description = "Solana storage program"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -10,12 +10,12 @@ edition = "2018"
[dependencies]
log = "0.4.2"
solana-logger = { path = "../../logger", version = "0.16.4" }
solana-sdk = { path = "../../sdk", version = "0.16.4" }
solana-storage-api = { path = "../storage_api", version = "0.16.4" }
solana-logger = { path = "../../logger", version = "0.16.5" }
solana-sdk = { path = "../../sdk", version = "0.16.5" }
solana-storage-api = { path = "../storage_api", version = "0.16.5" }
[dev-dependencies]
solana-runtime = { path = "../../runtime", version = "0.16.4" }
solana-runtime = { path = "../../runtime", version = "0.16.5" }
assert_matches = "1.3.0"
bincode = "1.1.4"

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-token-api"
version = "0.16.4"
version = "0.16.5"
description = "Solana Token API"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -15,8 +15,8 @@ num-derive = "0.2"
num-traits = "0.2"
serde = "1.0.92"
serde_derive = "1.0.92"
solana-logger = { path = "../../logger", version = "0.16.4" }
solana-sdk = { path = "../../sdk", version = "0.16.4" }
solana-logger = { path = "../../logger", version = "0.16.5" }
solana-sdk = { path = "../../sdk", version = "0.16.5" }
[lib]
crate-type = ["lib"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-token-program"
version = "0.16.4"
version = "0.16.5"
description = "Solana token program"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -10,9 +10,9 @@ edition = "2018"
[dependencies]
log = "0.4.2"
solana-logger = { path = "../../logger", version = "0.16.4" }
solana-sdk = { path = "../../sdk", version = "0.16.4" }
solana-token-api = { path = "../token_api", version = "0.16.4" }
solana-logger = { path = "../../logger", version = "0.16.5" }
solana-sdk = { path = "../../sdk", version = "0.16.5" }
solana-token-api = { path = "../token_api", version = "0.16.5" }
[lib]
crate-type = ["lib", "cdylib"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-vote-api"
version = "0.16.4"
version = "0.16.5"
description = "Solana Vote program API"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -13,9 +13,9 @@ bincode = "1.1.4"
log = "0.4.2"
serde = "1.0.92"
serde_derive = "1.0.92"
solana-logger = { path = "../../logger", version = "0.16.4" }
solana-metrics = { path = "../../metrics", version = "0.16.4" }
solana-sdk = { path = "../../sdk", version = "0.16.4" }
solana-logger = { path = "../../logger", version = "0.16.5" }
solana-metrics = { path = "../../metrics", version = "0.16.5" }
solana-sdk = { path = "../../sdk", version = "0.16.5" }
[lib]
crate-type = ["lib"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-vote-program"
version = "0.16.4"
version = "0.16.5"
description = "Solana Vote program"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -10,9 +10,9 @@ edition = "2018"
[dependencies]
log = "0.4.2"
solana-logger = { path = "../../logger", version = "0.16.4" }
solana-sdk = { path = "../../sdk", version = "0.16.4" }
solana-vote-api = { path = "../vote_api", version = "0.16.4" }
solana-logger = { path = "../../logger", version = "0.16.5" }
solana-sdk = { path = "../../sdk", version = "0.16.5" }
solana-vote-api = { path = "../vote_api", version = "0.16.5" }
[lib]
crate-type = ["lib", "cdylib"]

View File

@@ -2,17 +2,17 @@
authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-replicator"
version = "0.16.4"
version = "0.16.5"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
[dependencies]
clap = "2.33.0"
solana = { path = "../core", version = "0.16.4" }
solana-logger = { path = "../logger", version = "0.16.4" }
solana-netutil = { path = "../netutil", version = "0.16.4" }
solana-sdk = { path = "../sdk", version = "0.16.4" }
solana = { path = "../core", version = "0.16.5" }
solana-logger = { path = "../logger", version = "0.16.5" }
solana-netutil = { path = "../netutil", version = "0.16.5" }
solana-sdk = { path = "../sdk", version = "0.16.5" }
[features]
cuda = ["solana/cuda"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-runtime"
version = "0.16.4"
version = "0.16.5"
description = "Solana runtime"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -25,17 +25,17 @@ rayon = "1.1.0"
serde = "1.0.92"
serde_derive = "1.0.92"
serde_json = "1.0.38"
solana-logger = { path = "../logger", version = "0.16.4" }
solana-metrics = { path = "../metrics", version = "0.16.4" }
solana-bpf-loader-api = { path = "../programs/bpf_loader_api", version = "0.16.4" }
solana-bpf-loader-program = { path = "../programs/bpf_loader_program", version = "0.16.4" }
solana-noop-program = { path = "../programs/noop_program", version = "0.16.4" }
solana-sdk = { path = "../sdk", version = "0.16.4" }
solana-stake-api = { path = "../programs/stake_api", version = "0.16.4" }
solana-stake-program = { path = "../programs/stake_program", version = "0.16.4" }
solana-storage-api = { path = "../programs/storage_api", version = "0.16.4" }
solana-vote-api = { path = "../programs/vote_api", version = "0.16.4" }
solana-vote-program = { path = "../programs/vote_program", version = "0.16.4" }
solana-logger = { path = "../logger", version = "0.16.5" }
solana-metrics = { path = "../metrics", version = "0.16.5" }
solana-bpf-loader-api = { path = "../programs/bpf_loader_api", version = "0.16.5" }
solana-bpf-loader-program = { path = "../programs/bpf_loader_program", version = "0.16.5" }
solana-noop-program = { path = "../programs/noop_program", version = "0.16.5" }
solana-sdk = { path = "../sdk", version = "0.16.5" }
solana-stake-api = { path = "../programs/stake_api", version = "0.16.5" }
solana-stake-program = { path = "../programs/stake_program", version = "0.16.5" }
solana-storage-api = { path = "../programs/storage_api", version = "0.16.5" }
solana-vote-api = { path = "../programs/vote_api", version = "0.16.5" }
solana-vote-program = { path = "../programs/vote_program", version = "0.16.5" }
sys-info = "0.5.7"
[lib]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-sdk"
version = "0.16.4"
version = "0.16.5"
description = "Solana SDK"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -28,5 +28,5 @@ serde_derive = "1.0.92"
serde_json = "1.0.39"
sha2 = "0.8.0"
solana-ed25519-dalek = "0.2.0"
solana-logger = { path = "../logger", version = "0.16.4" }
solana-logger = { path = "../logger", version = "0.16.5" }
untrusted = "0.6.2"

View File

@@ -1,7 +1,7 @@
[package]
name = "solana-sdk-bpf-utils"
version = "0.16.4"
version = "0.16.5"
description = "Solana BPF SDK Rust Utils"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-upload-perf"
version = "0.16.4"
version = "0.16.5"
description = "Metrics Upload Utility"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -12,7 +12,7 @@ publish = false
[dependencies]
log = "0.4.2"
serde_json = "1.0.39"
solana-metrics = { path = "../metrics", version = "0.16.4" }
solana-metrics = { path = "../metrics", version = "0.16.5" }
[[bin]]
name = "solana-upload-perf"

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-validator-info"
version = "0.16.4"
version = "0.16.5"
description = "Solana validator registration tool"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -20,9 +20,9 @@ reqwest = "0.9.18"
serde = "1.0.94"
serde_derive = "1.0.94"
serde_json = "1.0.40"
solana-client = { path = "../client", version = "0.16.4" }
solana-config-api = { path = "../programs/config_api", version = "0.16.4" }
solana-sdk = { path = "../sdk", version = "0.16.4" }
solana-client = { path = "../client", version = "0.16.5" }
solana-config-api = { path = "../programs/config_api", version = "0.16.5" }
solana-sdk = { path = "../sdk", version = "0.16.5" }
url = "1.7.2"
[[bin]]

View File

@@ -7,6 +7,7 @@ use serde_derive::{Deserialize, Serialize};
use serde_json::{Map, Value};
use solana_client::rpc_client::RpcClient;
use solana_config_api::{config_instruction, config_instruction::ConfigKeys, ConfigState};
use solana_sdk::account::Account;
use solana_sdk::message::Message;
use solana_sdk::pubkey::Pubkey;
use solana_sdk::signature::{read_keypair, Keypair, KeypairUtil};
@@ -144,12 +145,22 @@ fn parse_args(matches: &ArgMatches<'_>) -> Value {
Value::Object(map)
}
fn parse_validator_info(account_data: &[u8]) -> Result<(Pubkey, String), Box<dyn error::Error>> {
fn parse_validator_info(
pubkey: &Pubkey,
account_data: &[u8],
) -> Result<(Pubkey, String), Box<dyn error::Error>> {
let key_list: ConfigKeys = deserialize(&account_data)?;
let (validator_pubkey, _) = key_list.keys[1];
let meta_length = ConfigKeys::serialized_size(key_list.keys);
let validator_info: String = deserialize(&account_data[meta_length..])?;
Ok((validator_pubkey, validator_info))
if !key_list.keys.is_empty() {
let (validator_pubkey, _) = key_list.keys[1];
let meta_length = ConfigKeys::serialized_size(key_list.keys);
let validator_info: String = deserialize(&account_data[meta_length..])?;
Ok((validator_pubkey, validator_info))
} else {
Err(format!(
"account {} found, but could not be parsed as ValidatorInfo",
pubkey
))?
}
}
fn main() -> Result<(), Box<dyn error::Error>> {
@@ -173,8 +184,7 @@ fn main() -> Result<(), Box<dyn error::Error>> {
)
.arg(
Arg::with_name("validator_keypair")
.short("v")
.long("validator-keypair")
.index(1)
.value_name("PATH")
.takes_value(true)
.required(true)
@@ -191,8 +201,7 @@ fn main() -> Result<(), Box<dyn error::Error>> {
)
.arg(
Arg::with_name("name")
.short("n")
.long("name")
.index(2)
.value_name("STRING")
.takes_value(true)
.required(true)
@@ -246,21 +255,11 @@ fn main() -> Result<(), Box<dyn error::Error>> {
)
.arg(
Arg::with_name("info_pubkey")
.short("p")
.long("info-pubkey")
.index(1)
.value_name("PUBKEY")
.takes_value(true)
.required_unless("all")
.conflicts_with("all")
.validator(is_pubkey)
.help("The pubkey of the Validator info account"),
)
.arg(
Arg::with_name("all")
.short("a")
.long("all")
.required_unless("info_pubkey")
.help("Return all current Validator info"),
.help("The pubkey of the Validator info account; without this argument, returns all"),
),
)
.get_matches();
@@ -361,32 +360,35 @@ fn main() -> Result<(), Box<dyn error::Error>> {
let json_rpc_url = matches.value_of("json_rpc_url").unwrap();
let rpc_client = RpcClient::new(json_rpc_url.to_string());
if matches.is_present("all") {
let all_validator_info =
rpc_client.get_program_accounts(&solana_config_api::id())?;
for (info_pubkey, account) in all_validator_info.iter().filter(|(_, account)| {
let key_list: ConfigKeys =
deserialize(&account.data).map_err(|_| false).unwrap();
key_list.keys.contains(&(id(), false))
}) {
if matches.is_present("info_pubkey") {
if let Some(pubkey) = matches.value_of("info_pubkey") {
let info_pubkey = pubkey.parse::<Pubkey>().unwrap();
let validator_info_data = rpc_client.get_account_data(&info_pubkey)?;
let (validator_pubkey, validator_info) =
parse_validator_info(&info_pubkey, &validator_info_data)?;
println!("Validator pubkey: {:?}", validator_pubkey);
println!("Info: {}", validator_info);
}
} else {
let all_config = rpc_client.get_program_accounts(&solana_config_api::id())?;
let all_validator_info: Vec<&(Pubkey, Account)> = all_config
.iter()
.filter(|(_, account)| {
let key_list: ConfigKeys =
deserialize(&account.data).map_err(|_| false).unwrap();
key_list.keys.contains(&(id(), false))
})
.collect();
if all_validator_info.is_empty() {
println!("No validator info accounts found");
}
for (info_pubkey, account) in all_validator_info.iter() {
println!("Validator info from {:?}", info_pubkey);
let (validator_pubkey, validator_info) = parse_validator_info(&account.data)?;
let (validator_pubkey, validator_info) =
parse_validator_info(&info_pubkey, &account.data)?;
println!(" Validator pubkey: {:?}", validator_pubkey);
println!(" Info: {}", validator_info);
}
} else {
let info_pubkey = if let Some(keypair) = matches.value_of("info_keypair") {
read_keypair(keypair)?.pubkey()
} else if let Some(pubkey) = matches.value_of("info_pubkey") {
pubkey.parse::<Pubkey>().unwrap()
} else {
Pubkey::default() // unreachable
};
let validator_info_data = rpc_client.get_account_data(&info_pubkey)?;
let (validator_pubkey, validator_info) =
parse_validator_info(&validator_info_data)?;
println!("Validator pubkey: {:?}", validator_pubkey);
println!("Info: {}", validator_info);
}
}
_ => unreachable!(),
@@ -475,7 +477,10 @@ mod tests {
};
let data = serialize(&(config, validator_info)).unwrap();
assert_eq!(parse_validator_info(&data).unwrap(), (pubkey, info_string));
assert_eq!(
parse_validator_info(&Pubkey::default(), &data).unwrap(),
(pubkey, info_string)
);
}
#[test]

View File

@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-validator"
description = "Blockchain, Rebuilt for Scale"
version = "0.16.4"
version = "0.16.5"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -12,15 +12,15 @@ homepage = "https://solana.com/"
clap = "2.33.0"
log = "0.4.2"
serde_json = "1.0.39"
solana = { path = "../core", version = "0.16.4" }
solana-drone = { path = "../drone", version = "0.16.4" }
solana-logger = { path = "../logger", version = "0.16.4" }
solana-metrics = { path = "../metrics", version = "0.16.4" }
solana-netutil = { path = "../netutil", version = "0.16.4" }
solana-runtime = { path = "../runtime", version = "0.16.4" }
solana-sdk = { path = "../sdk", version = "0.16.4" }
solana-vote-api = { path = "../programs/vote_api", version = "0.16.4" }
solana-vote-signer = { path = "../vote-signer", version = "0.16.4" }
solana = { path = "../core", version = "0.16.5" }
solana-drone = { path = "../drone", version = "0.16.5" }
solana-logger = { path = "../logger", version = "0.16.5" }
solana-metrics = { path = "../metrics", version = "0.16.5" }
solana-netutil = { path = "../netutil", version = "0.16.5" }
solana-runtime = { path = "../runtime", version = "0.16.5" }
solana-sdk = { path = "../sdk", version = "0.16.5" }
solana-vote-api = { path = "../programs/vote_api", version = "0.16.5" }
solana-vote-signer = { path = "../vote-signer", version = "0.16.5" }
[features]
cuda = ["solana/cuda"]

View File

@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-vote-signer"
description = "Solana Vote Signing Service"
version = "0.16.4"
version = "0.16.5"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -17,8 +17,8 @@ jsonrpc-http-server = "12.0.0"
log = "0.4.2"
serde = "1.0.92"
serde_json = "1.0.39"
solana-metrics = { path = "../metrics", version = "0.16.4" }
solana-sdk = { path = "../sdk", version = "0.16.4" }
solana-metrics = { path = "../metrics", version = "0.16.5" }
solana-sdk = { path = "../sdk", version = "0.16.5" }
[lib]
crate-type = ["lib"]

View File

@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-wallet"
description = "Blockchain, Rebuilt for Scale"
version = "0.16.4"
version = "0.16.5"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -17,22 +17,22 @@ dirs = "2.0.1"
log = "0.4.2"
num-traits = "0.2"
serde_json = "1.0.39"
solana-budget-api = { path = "../programs/budget_api", version = "0.16.4" }
solana-client = { path = "../client", version = "0.16.4" }
solana-drone = { path = "../drone", version = "0.16.4" }
solana-logger = { path = "../logger", version = "0.16.4" }
solana-netutil = { path = "../netutil", version = "0.16.4" }
solana-runtime = { path = "../runtime", version = "0.16.4" }
solana-sdk = { path = "../sdk", version = "0.16.4" }
solana-stake-api = { path = "../programs/stake_api", version = "0.16.4" }
solana-storage-api = { path = "../programs/storage_api", version = "0.16.4" }
solana-vote-api = { path = "../programs/vote_api", version = "0.16.4" }
solana-vote-signer = { path = "../vote-signer", version = "0.16.4" }
solana-budget-api = { path = "../programs/budget_api", version = "0.16.5" }
solana-client = { path = "../client", version = "0.16.5" }
solana-drone = { path = "../drone", version = "0.16.5" }
solana-logger = { path = "../logger", version = "0.16.5" }
solana-netutil = { path = "../netutil", version = "0.16.5" }
solana-runtime = { path = "../runtime", version = "0.16.5" }
solana-sdk = { path = "../sdk", version = "0.16.5" }
solana-stake-api = { path = "../programs/stake_api", version = "0.16.5" }
solana-storage-api = { path = "../programs/storage_api", version = "0.16.5" }
solana-vote-api = { path = "../programs/vote_api", version = "0.16.5" }
solana-vote-signer = { path = "../vote-signer", version = "0.16.5" }
url = "1.7.2"
[dev-dependencies]
solana = { path = "../core", version = "0.16.4" }
solana-budget-program = { path = "../programs/budget_program", version = "0.16.4" }
solana = { path = "../core", version = "0.16.5" }
solana-budget-program = { path = "../programs/budget_program", version = "0.16.5" }
[features]
cuda = []