Compare commits

..

11 Commits

59 changed files with 616 additions and 462 deletions
Cargo.lock
bench-streamer
bench-tps
book/src
ci
client
core
drone
fullnode
genesis
gossip
install
keygen
kvstore
ledger-tool
logger
metrics
net
netutil
programs
bpf
bpf_loader
budget_api
budget_program
config_api
config_program
exchange_api
exchange_program
failure_program
noop_program
stake_api
stake_program
storage_api
storage_program
token_api
token_program
vote_api
vote_program
replicator
runtime
sdk
upload-perf
vote-signer
wallet

351
Cargo.lock generated

@ -2136,7 +2136,7 @@ dependencies = [
[[package]]
name = "solana"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"bincode 1.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"bs58 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2166,20 +2166,20 @@ dependencies = [
"serde 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-budget-api 0.13.1",
"solana-budget-program 0.13.1",
"solana-client 0.13.1",
"solana-drone 0.13.1",
"solana-kvstore 0.13.1",
"solana-logger 0.13.1",
"solana-metrics 0.13.1",
"solana-netutil 0.13.1",
"solana-runtime 0.13.1",
"solana-sdk 0.13.1",
"solana-storage-api 0.13.1",
"solana-vote-api 0.13.1",
"solana-vote-program 0.13.1",
"solana-vote-signer 0.13.1",
"solana-budget-api 0.13.2",
"solana-budget-program 0.13.2",
"solana-client 0.13.2",
"solana-drone 0.13.2",
"solana-kvstore 0.13.2",
"solana-logger 0.13.2",
"solana-metrics 0.13.2",
"solana-netutil 0.13.2",
"solana-runtime 0.13.2",
"solana-sdk 0.13.2",
"solana-storage-api 0.13.2",
"solana-vote-api 0.13.2",
"solana-vote-program 0.13.2",
"solana-vote-signer 0.13.2",
"sys-info 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
"tokio 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
"tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2188,85 +2188,85 @@ dependencies = [
[[package]]
name = "solana-bench-streamer"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
"solana 0.13.1",
"solana-logger 0.13.1",
"solana-netutil 0.13.1",
"solana 0.13.2",
"solana-logger 0.13.2",
"solana-netutil 0.13.2",
]
[[package]]
name = "solana-bench-tps"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
"rayon 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
"solana 0.13.1",
"solana-client 0.13.1",
"solana-drone 0.13.1",
"solana-logger 0.13.1",
"solana-metrics 0.13.1",
"solana-netutil 0.13.1",
"solana-sdk 0.13.1",
"solana 0.13.2",
"solana-client 0.13.2",
"solana-drone 0.13.2",
"solana-logger 0.13.2",
"solana-metrics 0.13.2",
"solana-netutil 0.13.2",
"solana-sdk 0.13.2",
]
[[package]]
name = "solana-bpf-programs"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"bincode 1.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"elf 0.0.10 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-bpfloader 0.13.1",
"solana-logger 0.13.1",
"solana-runtime 0.13.1",
"solana-sdk 0.13.1",
"solana-bpfloader 0.13.2",
"solana-logger 0.13.2",
"solana-runtime 0.13.2",
"solana-sdk 0.13.2",
"solana_rbpf 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
"walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "solana-bpfloader"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"bincode 1.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.51 (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.90 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.13.1",
"solana-sdk 0.13.1",
"solana-logger 0.13.2",
"solana-sdk 0.13.2",
"solana_rbpf 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "solana-budget-api"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"bincode 1.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"chrono 0.4.6 (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.90 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-runtime 0.13.1",
"solana-sdk 0.13.1",
"solana-runtime 0.13.2",
"solana-sdk 0.13.2",
]
[[package]]
name = "solana-budget-program"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-budget-api 0.13.1",
"solana-logger 0.13.1",
"solana-sdk 0.13.1",
"solana-budget-api 0.13.2",
"solana-logger 0.13.2",
"solana-sdk 0.13.2",
]
[[package]]
name = "solana-client"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"bincode 1.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"bs58 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2277,37 +2277,37 @@ dependencies = [
"serde 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.13.1",
"solana-netutil 0.13.1",
"solana-sdk 0.13.1",
"solana-logger 0.13.2",
"solana-netutil 0.13.2",
"solana-sdk 0.13.2",
]
[[package]]
name = "solana-config-api"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"bincode 1.1.3 (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.90 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.13.1",
"solana-runtime 0.13.1",
"solana-sdk 0.13.1",
"solana-logger 0.13.2",
"solana-runtime 0.13.2",
"solana-sdk 0.13.2",
]
[[package]]
name = "solana-config-program"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-config-api 0.13.1",
"solana-logger 0.13.1",
"solana-sdk 0.13.1",
"solana-config-api 0.13.2",
"solana-logger 0.13.2",
"solana-sdk 0.13.2",
]
[[package]]
name = "solana-drone"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"bincode 1.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2316,94 +2316,95 @@ dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.13.1",
"solana-metrics 0.13.1",
"solana-sdk 0.13.1",
"solana-logger 0.13.2",
"solana-metrics 0.13.2",
"solana-sdk 0.13.2",
"tokio 0.1.18 (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-api"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"bincode 1.1.3 (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.90 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.13.1",
"solana-runtime 0.13.1",
"solana-sdk 0.13.1",
"solana-logger 0.13.2",
"solana-runtime 0.13.2",
"solana-sdk 0.13.2",
]
[[package]]
name = "solana-exchange-program"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-exchange-api 0.13.1",
"solana-logger 0.13.1",
"solana-sdk 0.13.1",
"solana-exchange-api 0.13.2",
"solana-logger 0.13.2",
"solana-sdk 0.13.2",
]
[[package]]
name = "solana-failure-program"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-runtime 0.13.1",
"solana-sdk 0.13.1",
"solana-runtime 0.13.2",
"solana-sdk 0.13.2",
]
[[package]]
name = "solana-fullnode"
version = "0.13.1"
version = "0.13.2"
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.39 (registry+https://github.com/rust-lang/crates.io-index)",
"solana 0.13.1",
"solana-drone 0.13.1",
"solana-logger 0.13.1",
"solana-metrics 0.13.1",
"solana-netutil 0.13.1",
"solana-runtime 0.13.1",
"solana-sdk 0.13.1",
"solana-vote-api 0.13.1",
"solana-vote-signer 0.13.1",
"solana 0.13.2",
"solana-drone 0.13.2",
"solana-logger 0.13.2",
"solana-metrics 0.13.2",
"solana-netutil 0.13.2",
"solana-runtime 0.13.2",
"solana-sdk 0.13.2",
"solana-vote-api 0.13.2",
"solana-vote-signer 0.13.2",
]
[[package]]
name = "solana-genesis"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
"hashbrown 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
"solana 0.13.1",
"solana-budget-api 0.13.1",
"solana-config-api 0.13.1",
"solana-exchange-api 0.13.1",
"solana-sdk 0.13.1",
"solana-storage-api 0.13.1",
"solana-token-api 0.13.1",
"solana-vote-api 0.13.1",
"solana 0.13.2",
"solana-budget-api 0.13.2",
"solana-config-api 0.13.2",
"solana-exchange-api 0.13.2",
"solana-sdk 0.13.2",
"solana-stake-api 0.13.2",
"solana-storage-api 0.13.2",
"solana-token-api 0.13.2",
"solana-vote-api 0.13.2",
]
[[package]]
name = "solana-gossip"
version = "0.13.1"
version = "0.13.2"
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.13.1",
"solana-netutil 0.13.1",
"solana-sdk 0.13.1",
"solana 0.13.2",
"solana-netutil 0.13.2",
"solana-sdk 0.13.2",
]
[[package]]
name = "solana-install"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"bincode 1.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"bs58 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2420,10 +2421,10 @@ dependencies = [
"serde 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_yaml 0.8.8 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-client 0.13.1",
"solana-config-api 0.13.1",
"solana-logger 0.13.1",
"solana-sdk 0.13.1",
"solana-client 0.13.2",
"solana-config-api 0.13.2",
"solana-logger 0.13.2",
"solana-sdk 0.13.2",
"tar 0.4.22 (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)",
@ -2431,16 +2432,16 @@ dependencies = [
[[package]]
name = "solana-keygen"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
"dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-sdk 0.13.1",
"solana-sdk 0.13.2",
]
[[package]]
name = "solana-kvstore"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"bincode 1.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2455,40 +2456,40 @@ dependencies = [
[[package]]
name = "solana-ledger-tool"
version = "0.13.1"
version = "0.13.2"
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)",
"serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
"solana 0.13.1",
"solana-logger 0.13.1",
"solana-runtime 0.13.1",
"solana-sdk 0.13.1",
"solana 0.13.2",
"solana-logger 0.13.2",
"solana-runtime 0.13.2",
"solana-sdk 0.13.2",
]
[[package]]
name = "solana-logger"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "solana-metrics"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"influx_db_client 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.3.0 (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)",
"reqwest 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-sdk 0.13.1",
"solana-sdk 0.13.2",
"sys-info 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "solana-netutil"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"ipnetwork 0.12.8 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2497,33 +2498,33 @@ dependencies = [
"rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
"reqwest 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
"socket2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.13.1",
"solana-logger 0.13.2",
]
[[package]]
name = "solana-noop-program"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.13.1",
"solana-runtime 0.13.1",
"solana-sdk 0.13.1",
"solana-logger 0.13.2",
"solana-runtime 0.13.2",
"solana-sdk 0.13.2",
]
[[package]]
name = "solana-replicator"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
"solana 0.13.1",
"solana-logger 0.13.1",
"solana-netutil 0.13.1",
"solana-sdk 0.13.1",
"solana 0.13.2",
"solana-logger 0.13.2",
"solana-netutil 0.13.2",
"solana-sdk 0.13.2",
]
[[package]]
name = "solana-runtime"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"bincode 1.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"bv 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2539,15 +2540,15 @@ dependencies = [
"serde 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.13.1",
"solana-metrics 0.13.1",
"solana-sdk 0.13.1",
"solana-vote-api 0.13.1",
"solana-logger 0.13.2",
"solana-metrics 0.13.2",
"solana-sdk 0.13.2",
"solana-vote-api 0.13.2",
]
[[package]]
name = "solana-sdk"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"bincode 1.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"bs58 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2568,109 +2569,109 @@ dependencies = [
[[package]]
name = "solana-stake-api"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"bincode 1.1.3 (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.90 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.13.1",
"solana-metrics 0.13.1",
"solana-runtime 0.13.1",
"solana-sdk 0.13.1",
"solana-vote-api 0.13.1",
"solana-logger 0.13.2",
"solana-metrics 0.13.2",
"solana-runtime 0.13.2",
"solana-sdk 0.13.2",
"solana-vote-api 0.13.2",
]
[[package]]
name = "solana-stake-program"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.13.1",
"solana-sdk 0.13.1",
"solana-stake-api 0.13.1",
"solana-logger 0.13.2",
"solana-sdk 0.13.2",
"solana-stake-api 0.13.2",
]
[[package]]
name = "solana-storage-api"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"bincode 1.1.3 (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.90 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.13.1",
"solana-runtime 0.13.1",
"solana-sdk 0.13.1",
"solana-logger 0.13.2",
"solana-runtime 0.13.2",
"solana-sdk 0.13.2",
]
[[package]]
name = "solana-storage-program"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.13.1",
"solana-sdk 0.13.1",
"solana-storage-api 0.13.1",
"solana-logger 0.13.2",
"solana-sdk 0.13.2",
"solana-storage-api 0.13.2",
]
[[package]]
name = "solana-token-api"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"bincode 1.1.3 (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.90 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.13.1",
"solana-sdk 0.13.1",
"solana-logger 0.13.2",
"solana-sdk 0.13.2",
]
[[package]]
name = "solana-token-program"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.13.1",
"solana-sdk 0.13.1",
"solana-token-api 0.13.1",
"solana-logger 0.13.2",
"solana-sdk 0.13.2",
"solana-token-api 0.13.2",
]
[[package]]
name = "solana-upload-perf"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-metrics 0.13.1",
"solana-metrics 0.13.2",
]
[[package]]
name = "solana-vote-api"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"bincode 1.1.3 (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.90 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.13.1",
"solana-metrics 0.13.1",
"solana-runtime 0.13.1",
"solana-sdk 0.13.1",
"solana-logger 0.13.2",
"solana-metrics 0.13.2",
"solana-runtime 0.13.2",
"solana-sdk 0.13.2",
]
[[package]]
name = "solana-vote-program"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 0.13.1",
"solana-sdk 0.13.1",
"solana-vote-api 0.13.1",
"solana-logger 0.13.2",
"solana-sdk 0.13.2",
"solana-vote-api 0.13.2",
]
[[package]]
name = "solana-vote-signer"
version = "0.13.1"
version = "0.13.2"
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)",
@ -2680,13 +2681,13 @@ dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-metrics 0.13.1",
"solana-sdk 0.13.1",
"solana-metrics 0.13.2",
"solana-sdk 0.13.2",
]
[[package]]
name = "solana-wallet"
version = "0.13.1"
version = "0.13.2"
dependencies = [
"bincode 1.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"bs58 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
@ -2695,16 +2696,16 @@ dependencies = [
"dirs 1.0.5 (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.39 (registry+https://github.com/rust-lang/crates.io-index)",
"solana 0.13.1",
"solana-budget-api 0.13.1",
"solana-budget-program 0.13.1",
"solana-client 0.13.1",
"solana-drone 0.13.1",
"solana-logger 0.13.1",
"solana-netutil 0.13.1",
"solana-sdk 0.13.1",
"solana-vote-api 0.13.1",
"solana-vote-signer 0.13.1",
"solana 0.13.2",
"solana-budget-api 0.13.2",
"solana-budget-program 0.13.2",
"solana-client 0.13.2",
"solana-drone 0.13.2",
"solana-logger 0.13.2",
"solana-netutil 0.13.2",
"solana-sdk 0.13.2",
"solana-vote-api 0.13.2",
"solana-vote-signer 0.13.2",
]
[[package]]

@ -2,16 +2,16 @@
authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-bench-streamer"
version = "0.13.1"
version = "0.13.3"
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.13.1" }
solana-logger = { path = "../logger", version = "0.13.1" }
solana-netutil = { path = "../netutil", version = "0.13.1" }
solana = { path = "../core", version = "0.13.3" }
solana-logger = { path = "../logger", version = "0.13.3" }
solana-netutil = { path = "../netutil", version = "0.13.3" }
[features]
cuda = ["solana/cuda"]

@ -2,7 +2,7 @@
authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-bench-tps"
version = "0.13.1"
version = "0.13.3"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@ -11,13 +11,13 @@ homepage = "https://solana.com/"
clap = "2.33.0"
rayon = "1.0.3"
serde_json = "1.0.39"
solana = { path = "../core", version = "0.13.1" }
solana-client = { path = "../client", version = "0.13.1" }
solana-drone = { path = "../drone", version = "0.13.1" }
solana-logger = { path = "../logger", version = "0.13.1" }
solana-metrics = { path = "../metrics", version = "0.13.1" }
solana-netutil = { path = "../netutil", version = "0.13.1" }
solana-sdk = { path = "../sdk", version = "0.13.1" }
solana = { path = "../core", version = "0.13.3" }
solana-client = { path = "../client", version = "0.13.3" }
solana-drone = { path = "../drone", version = "0.13.3" }
solana-logger = { path = "../logger", version = "0.13.3" }
solana-metrics = { path = "../metrics", version = "0.13.3" }
solana-netutil = { path = "../netutil", version = "0.13.3" }
solana-sdk = { path = "../sdk", version = "0.13.3" }
[features]
cuda = ["solana/cuda"]

@ -24,8 +24,10 @@ Methods
* [confirmTransaction](#confirmtransaction)
* [getAccountInfo](#getaccountinfo)
* [getBalance](#getbalance)
* [getClusterNodes](#getclusternodes)
* [getRecentBlockhash](#getrecentblockhash)
* [getSignatureStatus](#getsignaturestatus)
* [getSlotLeader](#getslotleader)
* [getNumBlocksSinceSignatureConfirmation](#getnumblockssincesignatureconfirmation)
* [getTransactionCount](#gettransactioncount)
* [requestAirdrop](#requestairdrop)
@ -114,6 +116,30 @@ curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0", "id":1, "
---
### getClusterNodes
Returns information about all the nodes participating in the cluster
##### Parameters:
None
##### Results:
The result field will be an array of JSON objects, each with the following sub fields:
* `id` - Node identifier, as base-58 encoded string
* `gossip` - Gossip network address for the node
* `tpu` - TPU network address for the node
* `rpc` - JSON RPC network address for the node, or `null` if the JSON RPC service is not enabled
##### Example:
```bash
// Request
curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0", "id":1, "method":"getClusterNodes"}' http://localhost:8899
// Result
{"jsonrpc":"2.0","result":[{"gossip":"10.239.6.48:8001","id":"9QzsJf7LPLj8GkXbYT3LFDKqsj2hHG7TA3xinJHu8epQ","rpc":"10.239.6.48:8899","tpu":"10.239.6.48:8856"}],"id":1}
```
---
### getAccountInfo
Returns all information associated with the account of provided Pubkey
@ -183,7 +209,27 @@ curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0", "id":1, "
{"jsonrpc":"2.0","result":"SignatureNotFound","id":1}
```
---
-----
### getSlotLeader
Returns the current slot leader
##### Parameters:
None
##### Results:
* `string` - Node Id as base-58 encoded string
##### Example:
```bash
// Request
curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1, "method":"getSlotLeader"}' http://localhost:8899
// Result
{"jsonrpc":"2.0","result":"ENvAW7JScgYq6o4zKZwewtkzzJgDzuJAFxYasvmEQdpS","id":1}
```
-----
### getNumBlocksSinceSignatureConfirmation
Returns the current number of blocks since signature has been confirmed.

@ -1,22 +1,22 @@
## Testnet Participation
This document describes how to participate in the beta testnet as a
This document describes how to participate in the testnet as a
validator node.
Please note some of the information and instructions described here may change
in future releases.
### Beta Testnet Overview
The beta testnet features a validator running at beta.testnet.solana.com, which
### Testnet Overview
The testnet features a validator running at .testnet.solana.com, which
serves as the entrypoint to the cluster for your validator.
Additionally there is a blockexplorer available at
[http://beta.testnet.solana.com/](http://beta.testnet.solana.com/).
[http://testnet.solana.com/](http://testnet.solana.com/).
The beta testnet is configured to reset the ledger every 24hours, or sooner
The testnet is configured to reset the ledger every 24hours, or sooner
should an hourly automated sanity test fail.
### Machine Requirements
Since the beta testnet is not intended for stress testing of max transaction
Since the testnet is not intended for stress testing of max transaction
throughput, a higher-end machine with a GPU is not necessary to participate.
However ensure the machine used is not behind a residential NAT to avoid NAT
@ -34,18 +34,17 @@ just restarting itself before debugging further.
Fetch the current testnet transaction count over JSON RPC:
```bash
$ curl -X POST -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1, "method":"getTransactionCount"}' http://beta.testnet.solana.com:8899
$ curl -X POST -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1, "method":"getTransactionCount"}' http://testnet.solana.com:8899
```
Inspect the blockexplorer at [http://beta.testnet.solana.com/](http://beta.testnet.solana.com/) for activity.
Inspect the blockexplorer at [http://testnet.solana.com/](http://testnet.solana.com/) for activity.
Run the following command to join the gossip network and view all the other nodes in the cluster:
```bash
$ solana-gossip --network beta.testnet.solana.com:8001
$ solana-gossip --network testnet.solana.com:8001
```
View the [metrics dashboard](
https://metrics.solana.com:3000/d/U9-26Cqmk/testnet-monitor-cloud?refresh=60s&orgId=2&var-testnet=testnet-beta&var-hostid=All)
View the [metrics dashboard](https://metrics.solana.com:3000/d/testnet-edge/testnet-monitor-edge?var-testnet=testnet)
for more detail on cluster activity.
### Validator Setup
@ -58,13 +57,13 @@ software on Linux x86_64 systems.
Install the latest release with a single shell command:
```bash
$ curl -sSf https://raw.githubusercontent.com/solana-labs/solana/v0.13.0/install/solana-install-init.sh | \
sh -s - --url https://api.beta.testnet.solana.com
sh -s - --url https://api.testnet.solana.com
```
Alternatively build the `solana-install` program from source and run the
following command to obtain the same result:
```bash
$ solana-install init --url https://api.beta.testnet.solana.com
$ solana-install init --url https://api.testnet.solana.com
```
After a successful install, `solana-install update` may be used to easily update the cluster
@ -95,32 +94,32 @@ $ export PATH=$PWD/bin:$PATH
Sanity check that you are able to interact with the cluster by receiving a small
airdrop of lamports from the testnet drone:
```bash
$ solana-wallet -n beta.testnet.solana.com airdrop 123
$ solana-wallet -n beta.testnet.solana.com balance
$ solana-wallet -n testnet.solana.com airdrop 123
$ solana-wallet -n testnet.solana.com balance
```
Then the following command will start a new validator node.
If this is a `solana-install`-installation:
```bash
$ fullnode-x.sh --public-address --poll-for-new-genesis-block beta.testnet.solana.com
$ fullnode-x.sh --public-address --poll-for-new-genesis-block testnet.solana.com
```
Alternatively, the `solana-install run` command can be used to run the validator
node while periodically checking for and applying software updates:
```bash
$ solana-install run fullnode-x.sh -- --public-address --poll-for-new-genesis-block beta.testnet.solana.com
$ solana-install run fullnode-x.sh -- --public-address --poll-for-new-genesis-block testnet.solana.com
```
When not using `solana-install`:
```bash
$ USE_INSTALL=1 ./multinode-demo/fullnode-x.sh --public-address --poll-for-new-genesis-block beta.testnet.solana.com
$ USE_INSTALL=1 ./multinode-demo/fullnode-x.sh --public-address --poll-for-new-genesis-block testnet.solana.com
```
Then from another console, confirm the IP address if your node is now visible in
the gossip network by running:
```bash
$ solana-gossip --network beta.testnet.solana.com:8001
$ solana-gossip --network testnet.solana.com:8001
```
Congratulations, you're now participating in the testnet cluster!
@ -137,6 +136,6 @@ validator node:
```bash
export u="username obtained from the Solana maintainers"
export p="password obtained from the Solana maintainers"
export SOLANA_METRICS_CONFIG="db=testnet-beta,u=${u:?},p=${p:?}"
export SOLANA_METRICS_CONFIG="db=testnet,u=${u:?},p=${p:?}"
source scripts/configure-metrics.sh
```

@ -64,6 +64,36 @@ EOF
exit 0
fi
ci/channel-info.sh
eval "$(ci/channel-info.sh)"
EC2_ZONES=(us-west-1a sa-east-1a ap-northeast-2a eu-central-1a ca-central-1a)
GCE_ZONES=(us-west1-b asia-east2-a europe-west4-a southamerica-east1-b us-east4-c)
case $TESTNET in
testnet-edge|testnet-edge-perf)
CHANNEL_OR_TAG=edge
CHANNEL_BRANCH=$EDGE_CHANNEL
: "${TESTNET_DB_HOST:=https://clocktower-f1d56615.influxcloud.net:8086}"
;;
testnet-beta|testnet-beta-perf)
CHANNEL_OR_TAG=beta
CHANNEL_BRANCH=$BETA_CHANNEL
: "${TESTNET_DB_HOST:=https://clocktower-f1d56615.influxcloud.net:8086}"
: "${EC2_NODE_COUNT:=10}"
: "${GCE_NODE_COUNT:=}"
;;
testnet|testnet-perf)
CHANNEL_OR_TAG=$STABLE_CHANNEL_LATEST_TAG
CHANNEL_BRANCH=$STABLE_CHANNEL
: "${TESTNET_DB_HOST:=https://clocktower-f1d56615.influxcloud.net:8086}"
;;
*)
echo "Error: Invalid TESTNET=$TESTNET"
exit 1
;;
esac
if [[ -n $TESTNET_DB_HOST ]]; then
SOLANA_METRICS_PARTIAL_CONFIG="host=$TESTNET_DB_HOST,$SOLANA_METRICS_PARTIAL_CONFIG"
fi
@ -72,34 +102,9 @@ export SOLANA_METRICS_CONFIG="db=$TESTNET,$SOLANA_METRICS_PARTIAL_CONFIG"
echo "SOLANA_METRICS_CONFIG: $SOLANA_METRICS_CONFIG"
source scripts/configure-metrics.sh
EC2_ZONES=(us-west-1a sa-east-1a ap-northeast-2a eu-central-1a ca-central-1a)
GCE_ZONES=(us-west1-b asia-east2-a europe-west4-a southamerica-east1-b us-east4-c)
ci/channel-info.sh
eval "$(ci/channel-info.sh)"
if [[ -n $TESTNET_TAG ]]; then
CHANNEL_OR_TAG=$TESTNET_TAG
else
case $TESTNET in
testnet-edge|testnet-edge-perf)
CHANNEL_OR_TAG=edge
CHANNEL_BRANCH=$EDGE_CHANNEL
;;
testnet-beta|testnet-beta-perf)
CHANNEL_OR_TAG=beta
CHANNEL_BRANCH=$BETA_CHANNEL
;;
testnet|testnet-perf)
CHANNEL_OR_TAG=$STABLE_CHANNEL_LATEST_TAG
CHANNEL_BRANCH=$STABLE_CHANNEL
;;
*)
echo "Error: Invalid TESTNET=$TESTNET"
exit 1
;;
esac
if [[ $BUILDKITE_BRANCH != "$CHANNEL_BRANCH" ]]; then
(
cat <<EOF

@ -1,6 +1,6 @@
[package]
name = "solana-client"
version = "0.13.1"
version = "0.13.3"
description = "Solana Client"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@ -17,10 +17,10 @@ reqwest = "0.9.11"
serde = "1.0.89"
serde_derive = "1.0.88"
serde_json = "1.0.39"
solana-netutil = { path = "../netutil", version = "0.13.1" }
solana-sdk = { path = "../sdk", version = "0.13.1" }
solana-netutil = { path = "../netutil", version = "0.13.3" }
solana-sdk = { path = "../sdk", version = "0.13.3" }
[dev-dependencies]
jsonrpc-core = "10.1.0"
jsonrpc-http-server = "10.1.0"
solana-logger = { path = "../logger", version = "0.13.1" }
solana-logger = { path = "../logger", version = "0.13.3" }

@ -1,7 +1,7 @@
[package]
name = "solana"
description = "Blockchain, Rebuilt for Scale"
version = "0.13.1"
version = "0.13.3"
documentation = "https://docs.rs/solana"
homepage = "https://solana.com/"
readme = "../README.md"
@ -46,18 +46,18 @@ rocksdb = "0.11.0"
serde = "1.0.89"
serde_derive = "1.0.88"
serde_json = "1.0.39"
solana-budget-api = { path = "../programs/budget_api", version = "0.13.1" }
solana-client = { path = "../client", version = "0.13.1" }
solana-drone = { path = "../drone", version = "0.13.1" }
solana-kvstore = { path = "../kvstore", version = "0.13.1", optional = true }
solana-logger = { path = "../logger", version = "0.13.1" }
solana-metrics = { path = "../metrics", version = "0.13.1" }
solana-netutil = { path = "../netutil", version = "0.13.1" }
solana-runtime = { path = "../runtime", version = "0.13.1" }
solana-sdk = { path = "../sdk", version = "0.13.1" }
solana-storage-api = { path = "../programs/storage_api", version = "0.13.1" }
solana-vote-api = { path = "../programs/vote_api", version = "0.13.1" }
solana-vote-signer = { path = "../vote-signer", version = "0.13.1" }
solana-budget-api = { path = "../programs/budget_api", version = "0.13.3" }
solana-client = { path = "../client", version = "0.13.3" }
solana-drone = { path = "../drone", version = "0.13.3" }
solana-kvstore = { path = "../kvstore", version = "0.13.3", optional = true }
solana-logger = { path = "../logger", version = "0.13.3" }
solana-metrics = { path = "../metrics", version = "0.13.3" }
solana-netutil = { path = "../netutil", version = "0.13.3" }
solana-runtime = { path = "../runtime", version = "0.13.3" }
solana-sdk = { path = "../sdk", version = "0.13.3" }
solana-storage-api = { path = "../programs/storage_api", version = "0.13.3" }
solana-vote-api = { path = "../programs/vote_api", version = "0.13.3" }
solana-vote-signer = { path = "../vote-signer", version = "0.13.3" }
sys-info = "0.5.6"
tokio = "0.1"
tokio-codec = "0.1"
@ -66,8 +66,8 @@ untrusted = "0.6.2"
[dev-dependencies]
hex-literal = "0.1.4"
matches = "0.1.6"
solana-vote-program = { path = "../programs/vote_program", version = "0.13.1" }
solana-budget-program = { path = "../programs/budget_program", version = "0.13.1" }
solana-vote-program = { path = "../programs/vote_program", version = "0.13.3" }
solana-budget-program = { path = "../programs/budget_program", version = "0.13.3" }
[[bench]]
name = "banking_stage"

@ -338,6 +338,17 @@ impl ClusterInfo {
.collect()
}
// All nodes in gossip, including spy nodes
pub(crate) fn all_peers(&self) -> Vec<ContactInfo> {
self.gossip
.crds
.table
.values()
.filter_map(|x| x.value.contact_info())
.cloned()
.collect()
}
pub fn gossip_peers(&self) -> Vec<ContactInfo> {
let me = self.my_data().id;
self.gossip

@ -2,6 +2,7 @@
use crate::bank_forks::BankForks;
use crate::cluster_info::ClusterInfo;
use crate::contact_info::ContactInfo;
use crate::packet::PACKET_DATA_SIZE;
use crate::storage_stage::StorageState;
use bincode::{deserialize, serialize};
@ -171,6 +172,18 @@ pub struct Meta {
}
impl Metadata for Meta {}
#[derive(Serialize, Deserialize, Clone, Debug)]
pub struct RpcContactInfo {
/// Base58 id
pub id: String,
/// Gossip port
pub gossip: Option<SocketAddr>,
/// Tpu port
pub tpu: Option<SocketAddr>,
/// JSON RPC port
pub rpc: Option<SocketAddr>,
}
#[rpc(server)]
pub trait RpcSol {
type Metadata;
@ -184,6 +197,9 @@ pub trait RpcSol {
#[rpc(meta, name = "getBalance")]
fn get_balance(&self, _: Self::Metadata, _: String) -> Result<u64>;
#[rpc(meta, name = "getClusterNodes")]
fn get_cluster_nodes(&self, _: Self::Metadata) -> Result<Vec<RpcContactInfo>>;
#[rpc(meta, name = "getRecentBlockhash")]
fn get_recent_blockhash(&self, _: Self::Metadata) -> Result<String>;
@ -203,6 +219,9 @@ pub trait RpcSol {
#[rpc(meta, name = "sendTransaction")]
fn send_transaction(&self, _: Self::Metadata, _: Vec<u8>) -> Result<String>;
#[rpc(meta, name = "getSlotLeader")]
fn get_slot_leader(&self, _: Self::Metadata) -> Result<String>;
#[rpc(meta, name = "getStorageBlockhash")]
fn get_storage_blockhash(&self, _: Self::Metadata) -> Result<String>;
@ -263,6 +282,33 @@ impl RpcSol for RpcSolImpl {
Ok(meta.request_processor.read().unwrap().get_balance(&pubkey))
}
fn get_cluster_nodes(&self, meta: Self::Metadata) -> Result<Vec<RpcContactInfo>> {
let cluster_info = meta.cluster_info.read().unwrap();
fn valid_address_or_none(addr: &SocketAddr) -> Option<SocketAddr> {
if ContactInfo::is_valid_address(addr) {
Some(*addr)
} else {
None
}
}
Ok(cluster_info
.all_peers()
.iter()
.filter_map(|contact_info| {
if ContactInfo::is_valid_address(&contact_info.gossip) {
Some(RpcContactInfo {
id: contact_info.id.to_string(),
gossip: Some(contact_info.gossip),
tpu: valid_address_or_none(&contact_info.tpu),
rpc: valid_address_or_none(&contact_info.rpc),
})
} else {
None // Exclude spy nodes
}
})
.collect())
}
fn get_recent_blockhash(&self, meta: Self::Metadata) -> Result<String> {
debug!("get_recent_blockhash rpc request received");
Ok(meta
@ -402,6 +448,15 @@ impl RpcSol for RpcSolImpl {
Ok(signature)
}
fn get_slot_leader(&self, meta: Self::Metadata) -> Result<String> {
let cluster_info = meta.cluster_info.read().unwrap();
let leader_data_option = cluster_info.leader_data();
Ok(leader_data_option
.and_then(|leader_data| Some(leader_data.id))
.unwrap_or_default()
.to_string())
}
fn get_storage_blockhash(&self, meta: Self::Metadata) -> Result<String> {
meta.request_processor
.read()
@ -445,7 +500,9 @@ mod tests {
use solana_sdk::transaction::TransactionError;
use std::thread;
fn start_rpc_handler_with_tx(pubkey: &Pubkey) -> (MetaIoHandler<Meta>, Meta, Hash, Keypair) {
fn start_rpc_handler_with_tx(
pubkey: &Pubkey,
) -> (MetaIoHandler<Meta>, Meta, Hash, Keypair, Pubkey) {
let (bank_forks, alice) = new_bank_forks();
let bank = bank_forks.read().unwrap().working_bank();
let exit = Arc::new(AtomicBool::new(false));
@ -477,7 +534,7 @@ mod tests {
request_processor,
cluster_info,
};
(io, meta, blockhash, alice)
(io, meta, blockhash, alice, leader.id)
}
#[test]
@ -505,7 +562,7 @@ mod tests {
#[test]
fn test_rpc_get_balance() {
let bob_pubkey = Pubkey::new_rand();
let (io, meta, _blockhash, _alice) = start_rpc_handler_with_tx(&bob_pubkey);
let (io, meta, _blockhash, _alice, _leader_id) = start_rpc_handler_with_tx(&bob_pubkey);
let req = format!(
r#"{{"jsonrpc":"2.0","id":1,"method":"getBalance","params":["{}"]}}"#,
@ -520,10 +577,46 @@ mod tests {
assert_eq!(expected, result);
}
#[test]
fn test_rpc_get_cluster_nodes() {
let bob_pubkey = Pubkey::new_rand();
let (io, meta, _blockhash, _alice, leader_id) = start_rpc_handler_with_tx(&bob_pubkey);
let req = format!(r#"{{"jsonrpc":"2.0","id":1,"method":"getClusterNodes"}}"#);
let res = io.handle_request_sync(&req, meta);
let result: Response = serde_json::from_str(&res.expect("actual response"))
.expect("actual response deserialization");
let expected = format!(
r#"{{"jsonrpc":"2.0","result":[{{"id": "{}", "gossip": "127.0.0.1:1235", "tpu": "127.0.0.1:1234", "rpc": "127.0.0.1:8899"}}],"id":1}}"#,
leader_id,
);
let expected: Response =
serde_json::from_str(&expected).expect("expected response deserialization");
assert_eq!(expected, result);
}
#[test]
fn test_rpc_get_slot_leader() {
let bob_pubkey = Pubkey::new_rand();
let (io, meta, _blockhash, _alice, _leader_id) = start_rpc_handler_with_tx(&bob_pubkey);
let req = format!(r#"{{"jsonrpc":"2.0","id":1,"method":"getSlotLeader"}}"#);
let res = io.handle_request_sync(&req, meta);
let expected =
format!(r#"{{"jsonrpc":"2.0","result":"11111111111111111111111111111111","id":1}}"#);
let expected: Response =
serde_json::from_str(&expected).expect("expected response deserialization");
let result: Response = serde_json::from_str(&res.expect("actual response"))
.expect("actual response deserialization");
assert_eq!(expected, result);
}
#[test]
fn test_rpc_get_tx_count() {
let bob_pubkey = Pubkey::new_rand();
let (io, meta, _blockhash, _alice) = start_rpc_handler_with_tx(&bob_pubkey);
let (io, meta, _blockhash, _alice, _leader_id) = start_rpc_handler_with_tx(&bob_pubkey);
let req = format!(r#"{{"jsonrpc":"2.0","id":1,"method":"getTransactionCount"}}"#);
let res = io.handle_request_sync(&req, meta);
@ -538,7 +631,7 @@ mod tests {
#[test]
fn test_rpc_get_account_info() {
let bob_pubkey = Pubkey::new_rand();
let (io, meta, _blockhash, _alice) = start_rpc_handler_with_tx(&bob_pubkey);
let (io, meta, _blockhash, _alice, _leader_id) = start_rpc_handler_with_tx(&bob_pubkey);
let req = format!(
r#"{{"jsonrpc":"2.0","id":1,"method":"getAccountInfo","params":["{}"]}}"#,
@ -565,7 +658,7 @@ mod tests {
#[test]
fn test_rpc_confirm_tx() {
let bob_pubkey = Pubkey::new_rand();
let (io, meta, blockhash, alice) = start_rpc_handler_with_tx(&bob_pubkey);
let (io, meta, blockhash, alice, _leader_id) = start_rpc_handler_with_tx(&bob_pubkey);
let tx = system_transaction::transfer(&alice, &bob_pubkey, 20, blockhash, 0);
let req = format!(
@ -584,7 +677,7 @@ mod tests {
#[test]
fn test_rpc_get_signature_status() {
let bob_pubkey = Pubkey::new_rand();
let (io, meta, blockhash, alice) = start_rpc_handler_with_tx(&bob_pubkey);
let (io, meta, blockhash, alice, _leader_id) = start_rpc_handler_with_tx(&bob_pubkey);
let tx = system_transaction::transfer(&alice, &bob_pubkey, 20, blockhash, 0);
let req = format!(
@ -648,7 +741,7 @@ mod tests {
#[test]
fn test_rpc_get_recent_blockhash() {
let bob_pubkey = Pubkey::new_rand();
let (io, meta, blockhash, _alice) = start_rpc_handler_with_tx(&bob_pubkey);
let (io, meta, blockhash, _alice, _leader_id) = start_rpc_handler_with_tx(&bob_pubkey);
let req = format!(r#"{{"jsonrpc":"2.0","id":1,"method":"getRecentBlockhash"}}"#);
let res = io.handle_request_sync(&req, meta);
@ -663,7 +756,7 @@ mod tests {
#[test]
fn test_rpc_fail_request_airdrop() {
let bob_pubkey = Pubkey::new_rand();
let (io, meta, _blockhash, _alice) = start_rpc_handler_with_tx(&bob_pubkey);
let (io, meta, _blockhash, _alice, _leader_id) = start_rpc_handler_with_tx(&bob_pubkey);
// Expect internal error because no drone is available
let req = format!(

@ -229,7 +229,7 @@ mod tests {
subscriptions.check_account(&alice.pubkey(), &account);
let string = transport_receiver.poll();
if let Async::Ready(Some(response)) = string.unwrap() {
let expected = format!(r#"{{"jsonrpc":"2.0","method":"accountNotification","params":{{"result":{{"data":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"executable":false,"lamports":1,"owner":[129,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},"subscription":0}}}}"#);
let expected = format!(r#"{{"jsonrpc":"2.0","method":"accountNotification","params":{{"result":{{"data":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"executable":false,"lamports":1,"owner":[2,203,81,223,225,24,34,35,203,214,138,130,144,208,35,77,63,16,87,51,47,198,115,123,98,188,19,160,0,0,0,0]}},"subscription":0}}}}"#);
assert_eq!(expected, response);
}
@ -275,7 +275,7 @@ mod tests {
subscriptions.check_program(&solana_budget_api::id(), &alice.pubkey(), &account);
let string = transport_receiver.poll();
if let Async::Ready(Some(response)) = string.unwrap() {
let expected = format!(r#"{{"jsonrpc":"2.0","method":"programNotification","params":{{"result":["{:?}",{{"data":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"executable":false,"lamports":1,"owner":[129,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}}],"subscription":0}}}}"#, alice.pubkey());
let expected = format!(r#"{{"jsonrpc":"2.0","method":"programNotification","params":{{"result":["{:?}",{{"data":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"executable":false,"lamports":1,"owner":[2,203,81,223,225,24,34,35,203,214,138,130,144,208,35,77,63,16,87,51,47,198,115,123,98,188,19,160,0,0,0,0]}}],"subscription":0}}}}"#, alice.pubkey());
assert_eq!(expected, response);
}

@ -1,6 +1,6 @@
[package]
name = "solana-drone"
version = "0.13.1"
version = "0.13.3"
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.90"
serde_derive = "1.0.90"
solana-logger = { path = "../logger", version = "0.13.1" }
solana-sdk = { path = "../sdk", version = "0.13.1" }
solana-metrics = { path = "../metrics", version = "0.13.1" }
solana-logger = { path = "../logger", version = "0.13.3" }
solana-sdk = { path = "../sdk", version = "0.13.3" }
solana-metrics = { path = "../metrics", version = "0.13.3" }
tokio = "0.1"
tokio-codec = "0.1"

@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-fullnode"
description = "Blockchain, Rebuilt for Scale"
version = "0.13.1"
version = "0.13.3"
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.13.1" }
solana-drone = { path = "../drone", version = "0.13.1" }
solana-logger = { path = "../logger", version = "0.13.1" }
solana-netutil = { path = "../netutil", version = "0.13.1" }
solana-metrics = { path = "../metrics", version = "0.13.1" }
solana-runtime = { path = "../runtime", version = "0.13.1" }
solana-sdk = { path = "../sdk", version = "0.13.1" }
solana-vote-api = { path = "../programs/vote_api", version = "0.13.1" }
solana-vote-signer = { path = "../vote-signer", version = "0.13.1" }
solana = { path = "../core", version = "0.13.3" }
solana-drone = { path = "../drone", version = "0.13.3" }
solana-logger = { path = "../logger", version = "0.13.3" }
solana-netutil = { path = "../netutil", version = "0.13.3" }
solana-metrics = { path = "../metrics", version = "0.13.3" }
solana-runtime = { path = "../runtime", version = "0.13.3" }
solana-sdk = { path = "../sdk", version = "0.13.3" }
solana-vote-api = { path = "../programs/vote_api", version = "0.13.3" }
solana-vote-signer = { path = "../vote-signer", version = "0.13.3" }
[features]
chacha = ["solana/chacha"]

@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-genesis"
description = "Blockchain, Rebuilt for Scale"
version = "0.13.1"
version = "0.13.3"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@ -11,18 +11,18 @@ homepage = "https://solana.com/"
[dependencies]
clap = "2.33.0"
serde_json = "1.0.39"
solana = { path = "../core", version = "0.13.1" }
solana-sdk = { path = "../sdk", version = "0.13.1" }
solana-budget-api = { path = "../programs/budget_api", version = "0.13.1" }
solana-storage-api = { path = "../programs/storage_api", version = "0.13.1" }
solana-token-api = { path = "../programs/token_api", version = "0.13.1" }
solana-config-api = { path = "../programs/config_api", version = "0.13.1" }
solana-exchange-api = { path = "../programs/exchange_api", version = "0.13.1" }
solana = { path = "../core", version = "0.13.3" }
solana-sdk = { path = "../sdk", version = "0.13.3" }
solana-budget-api = { path = "../programs/budget_api", version = "0.13.3" }
solana-stake-api = { path = "../programs/stake_api", version = "0.13.3" }
solana-storage-api = { path = "../programs/storage_api", version = "0.13.3" }
solana-token-api = { path = "../programs/token_api", version = "0.13.3" }
solana-config-api = { path = "../programs/config_api", version = "0.13.3" }
solana-exchange-api = { path = "../programs/exchange_api", version = "0.13.3" }
[dev-dependencies]
hashbrown = "0.2.1"
solana-vote-api = { path = "../programs/vote_api", version = "0.13.1" }
solana-vote-api = { path = "../programs/vote_api", version = "0.13.3" }
[features]
cuda = ["solana/cuda"]

@ -123,43 +123,39 @@ mod tests {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0,
]);
let native = Pubkey::new(&[
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0,
]);
let bpf = Pubkey::new(&[
128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
]);
let budget = Pubkey::new(&[
129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
]);
let storage = Pubkey::new(&[
130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
]);
let token = Pubkey::new(&[
131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
]);
let vote = Pubkey::new(&[
132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
]);
let config = Pubkey::new(&[
133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
]);
let exchange = Pubkey::new(&[
134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
]);
let native_loader = "NativeLoader1111111111111111111111111111111"
.parse::<Pubkey>()
.unwrap();
let bpf_loader = "BPFLoader1111111111111111111111111111111111"
.parse::<Pubkey>()
.unwrap();
let budget = "Budget1111111111111111111111111111111111111"
.parse::<Pubkey>()
.unwrap();
let stake = "Stake11111111111111111111111111111111111111"
.parse::<Pubkey>()
.unwrap();
let storage = "Storage111111111111111111111111111111111111"
.parse::<Pubkey>()
.unwrap();
let token = "Token11111111111111111111111111111111111111"
.parse::<Pubkey>()
.unwrap();
let vote = "Vote111111111111111111111111111111111111111"
.parse::<Pubkey>()
.unwrap();
let config = "Config1111111111111111111111111111111111111"
.parse::<Pubkey>()
.unwrap();
let exchange = "Exchange11111111111111111111111111111111111"
.parse::<Pubkey>()
.unwrap();
assert_eq!(solana_sdk::system_program::id(), system);
assert_eq!(solana_sdk::native_loader::id(), native);
assert_eq!(solana_sdk::bpf_loader::id(), bpf);
assert_eq!(solana_sdk::native_loader::id(), native_loader);
assert_eq!(solana_sdk::bpf_loader::id(), bpf_loader);
assert_eq!(solana_budget_api::id(), budget);
assert_eq!(solana_stake_api::id(), stake);
assert_eq!(solana_storage_api::id(), storage);
assert_eq!(solana_token_api::id(), token);
assert_eq!(solana_vote_api::id(), vote);

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

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

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

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

@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-ledger-tool"
description = "Blockchain, Rebuilt for Scale"
version = "0.13.1"
version = "0.13.3"
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"
serde_json = "1.0.39"
solana = { path = "../core", version = "0.13.1" }
solana-sdk = { path = "../sdk", version = "0.13.1" }
solana-logger = { path = "../logger", version = "0.13.1" }
solana-runtime = { path = "../runtime", version = "0.13.1" }
solana = { path = "../core", version = "0.13.3" }
solana-sdk = { path = "../sdk", version = "0.13.3" }
solana-logger = { path = "../logger", version = "0.13.3" }
solana-runtime = { path = "../runtime", version = "0.13.3" }
[dev-dependencies]
assert_cmd = "0.11"

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

@ -1,6 +1,6 @@
[package]
name = "solana-metrics"
version = "0.13.1"
version = "0.13.3"
description = "Solana Metrics"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@ -14,7 +14,7 @@ log = "0.4.2"
reqwest = "0.9.15"
lazy_static = "1.3.0"
sys-info = "0.5.6"
solana-sdk = { path = "../sdk", version = "0.13.1" }
solana-sdk = { path = "../sdk", version = "0.13.3" }
[dev-dependencies]
rand = "0.6.5"

@ -427,7 +427,7 @@ start() {
networkVersion="$(
(
set -o pipefail
grep "^version: " "$SOLANA_ROOT"/solana-release/version.yml | head -n1 | cut -d\ -f2
grep "^commit: " "$SOLANA_ROOT"/solana-release/version.yml | head -n1 | cut -d\ -f2
) || echo "tar-unknown"
)"
;;

@ -1,6 +1,6 @@
[package]
name = "solana-netutil"
version = "0.13.1"
version = "0.13.3"
description = "Solana Network Utilities"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@ -18,7 +18,7 @@ reqwest = "0.9.0"
socket2 = "0.3.8"
[dev-dependencies]
solana-logger = { path = "../logger", version = "0.13.1" }
solana-logger = { path = "../logger", version = "0.13.3" }
[lib]
name = "solana_netutil"

@ -1,7 +1,7 @@
[package]
name = "solana-bpf-programs"
description = "Blockchain, Rebuilt for Scale"
version = "0.13.1"
version = "0.13.3"
documentation = "https://docs.rs/solana"
homepage = "https://solana.com/"
readme = "README.md"
@ -22,10 +22,10 @@ bincode = "1.1.3"
byteorder = "1.3.1"
elf = "0.0.10"
solana_rbpf = "=0.1.10"
solana-bpfloader = { path = "../bpf_loader", version = "0.13.1" }
solana-logger = { path = "../../logger", version = "0.13.1" }
solana-runtime = { path = "../../runtime", version = "0.13.1" }
solana-sdk = { path = "../../sdk", version = "0.13.1" }
solana-bpfloader = { path = "../bpf_loader", version = "0.13.3" }
solana-logger = { path = "../../logger", version = "0.13.3" }
solana-runtime = { path = "../../runtime", version = "0.13.3" }
solana-sdk = { path = "../../sdk", version = "0.13.3" }
[[bench]]
name = "bpf_loader"

@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-noop"
version = "0.13.1"
version = "0.13.3"
description = "Solana BPF noop program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"

@ -1,6 +1,6 @@
[package]
name = "solana-bpfloader"
version = "0.13.1"
version = "0.13.3"
description = "Solana BPF Loader"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@ -15,8 +15,8 @@ libc = "0.2.51"
log = "0.4.2"
solana_rbpf = "=0.1.10"
serde = "1.0.90"
solana-logger = { path = "../../logger", version = "0.13.1" }
solana-sdk = { path = "../../sdk", version = "0.13.1" }
solana-logger = { path = "../../logger", version = "0.13.3" }
solana-sdk = { path = "../../sdk", version = "0.13.3" }
[lib]
name = "solana_bpf_loader"

@ -1,6 +1,6 @@
[package]
name = "solana-budget-api"
version = "0.13.1"
version = "0.13.3"
description = "Solana Budget program API"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@ -14,10 +14,10 @@ chrono = { version = "0.4.0", features = ["serde"] }
log = "0.4.2"
serde = "1.0.90"
serde_derive = "1.0.90"
solana-sdk = { path = "../../sdk", version = "0.13.1" }
solana-sdk = { path = "../../sdk", version = "0.13.3" }
[dev-dependencies]
solana-runtime = { path = "../../runtime", version = "0.13.1" }
solana-runtime = { path = "../../runtime", version = "0.13.3" }
[lib]
name = "solana_budget_api"

@ -6,8 +6,8 @@ pub mod budget_state;
use solana_sdk::pubkey::Pubkey;
const BUDGET_PROGRAM_ID: [u8; 32] = [
129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0,
2, 203, 81, 223, 225, 24, 34, 35, 203, 214, 138, 130, 144, 208, 35, 77, 63, 16, 87, 51, 47,
198, 115, 123, 98, 188, 19, 160, 0, 0, 0, 0,
];
pub fn id() -> Pubkey {

@ -1,6 +1,6 @@
[package]
name = "solana-budget-program"
version = "0.13.1"
version = "0.13.3"
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.13.1" }
solana-logger = { path = "../../logger", version = "0.13.1" }
solana-sdk = { path = "../../sdk", version = "0.13.1" }
solana-budget-api = { path = "../budget_api", version = "0.13.3" }
solana-logger = { path = "../../logger", version = "0.13.3" }
solana-sdk = { path = "../../sdk", version = "0.13.3" }
[lib]
name = "solana_budget_program"

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

@ -5,8 +5,8 @@ pub mod config_instruction;
pub mod config_processor;
const CONFIG_PROGRAM_ID: [u8; 32] = [
133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0,
3, 6, 74, 163, 0, 47, 116, 220, 200, 110, 67, 49, 15, 12, 5, 42, 248, 197, 218, 39, 246, 16,
64, 25, 163, 35, 239, 160, 0, 0, 0, 0,
];
pub fn check_id(program_id: &Pubkey) -> bool {

@ -1,6 +1,6 @@
[package]
name = "solana-config-program"
version = "0.13.1"
version = "0.13.3"
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.13.1" }
solana-logger = { path = "../../logger", version = "0.13.1" }
solana-sdk = { path = "../../sdk", version = "0.13.1" }
solana-config-api = { path = "../config_api", version = "0.13.3" }
solana-logger = { path = "../../logger", version = "0.13.3" }
solana-sdk = { path = "../../sdk", version = "0.13.3" }
[lib]
name = "solana_config_program"

@ -1,6 +1,6 @@
[package]
name = "solana-exchange-api"
version = "0.13.1"
version = "0.13.3"
description = "Solana Exchange program API"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@ -13,11 +13,11 @@ log = "0.4.2"
bincode = "1.1.3"
serde = "1.0.90"
serde_derive = "1.0.90"
solana-logger = { path = "../../logger", version = "0.13.1" }
solana-sdk = { path = "../../sdk", version = "0.13.1" }
solana-logger = { path = "../../logger", version = "0.13.3" }
solana-sdk = { path = "../../sdk", version = "0.13.3" }
[dev-dependencies]
solana-runtime = { path = "../../runtime", version = "0.13.1" }
solana-runtime = { path = "../../runtime", version = "0.13.3" }
[lib]
name = "solana_exchange_api"

@ -5,8 +5,8 @@ pub mod exchange_state;
use solana_sdk::pubkey::Pubkey;
pub const EXCHANGE_PROGRAM_ID: [u8; 32] = [
134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0,
3, 147, 111, 103, 210, 47, 14, 213, 108, 116, 49, 115, 232, 171, 14, 111, 167, 140, 221, 234,
33, 70, 185, 192, 42, 31, 141, 152, 0, 0, 0, 0,
];
pub fn check_id(program_id: &Pubkey) -> bool {

@ -1,6 +1,6 @@
[package]
name = "solana-exchange-program"
version = "0.13.1"
version = "0.13.3"
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.13.1" }
solana-logger = { path = "../../logger", version = "0.13.1" }
solana-sdk = { path = "../../sdk", version = "0.13.1" }
solana-exchange-api = { path = "../exchange_api", version = "0.13.3" }
solana-logger = { path = "../../logger", version = "0.13.3" }
solana-sdk = { path = "../../sdk", version = "0.13.3" }
[lib]
name = "solana_exchange_program"

@ -1,6 +1,6 @@
[package]
name = "solana-failure-program"
version = "0.13.1"
version = "0.13.3"
description = "Solana failure program"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@ -9,11 +9,11 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk = { path = "../../sdk", version = "0.13.1" }
solana-sdk = { path = "../../sdk", version = "0.13.3" }
log = "0.4.2"
[dev-dependencies]
solana-runtime = { path = "../../runtime", version = "0.13.1" }
solana-runtime = { path = "../../runtime", version = "0.13.3" }
[lib]
name = "solana_failure_program"

@ -1,6 +1,6 @@
[package]
name = "solana-noop-program"
version = "0.13.1"
version = "0.13.3"
description = "Solana noop program"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@ -9,12 +9,12 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk = { path = "../../sdk", version = "0.13.1" }
solana-logger = { path = "../../logger", version = "0.13.1" }
solana-sdk = { path = "../../sdk", version = "0.13.3" }
solana-logger = { path = "../../logger", version = "0.13.3" }
log = "0.4.2"
[dev-dependencies]
solana-runtime = { path = "../../runtime", version = "0.13.1" }
solana-runtime = { path = "../../runtime", version = "0.13.3" }
[lib]
name = "solana_noop_program"

@ -1,6 +1,6 @@
[package]
name = "solana-stake-api"
version = "0.13.1"
version = "0.13.3"
description = "Solana Stake program API"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@ -13,13 +13,13 @@ bincode = "1.1.3"
log = "0.4.2"
serde = "1.0.90"
serde_derive = "1.0.90"
solana-logger = { path = "../../logger", version = "0.13.1" }
solana-metrics = { path = "../../metrics", version = "0.13.1" }
solana-sdk = { path = "../../sdk", version = "0.13.1" }
solana-vote-api = { path = "../vote_api", version = "0.13.1" }
solana-logger = { path = "../../logger", version = "0.13.3" }
solana-metrics = { path = "../../metrics", version = "0.13.3" }
solana-sdk = { path = "../../sdk", version = "0.13.3" }
solana-vote-api = { path = "../vote_api", version = "0.13.3" }
[dev-dependencies]
solana-runtime = { path = "../../runtime", version = "0.13.1" }
solana-runtime = { path = "../../runtime", version = "0.13.3" }
[lib]
name = "solana_stake_api"

@ -4,8 +4,8 @@ pub mod stake_state;
use solana_sdk::pubkey::Pubkey;
const STAKE_PROGRAM_ID: [u8; 32] = [
135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0,
6, 161, 216, 23, 145, 55, 84, 42, 152, 52, 55, 189, 254, 42, 122, 178, 85, 127, 83, 92, 138,
120, 114, 43, 104, 164, 157, 192, 0, 0, 0, 0,
];
pub fn check_id(program_id: &Pubkey) -> bool {

@ -1,6 +1,6 @@
[package]
name = "solana-stake-program"
version = "0.13.1"
version = "0.13.3"
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.13.1" }
solana-sdk = { path = "../../sdk", version = "0.13.1" }
solana-stake-api = { path = "../stake_api", version = "0.13.1" }
solana-logger = { path = "../../logger", version = "0.13.3" }
solana-sdk = { path = "../../sdk", version = "0.13.3" }
solana-stake-api = { path = "../stake_api", version = "0.13.3" }
[lib]
name = "solana_stake_program"

@ -1,6 +1,6 @@
[package]
name = "solana-storage-api"
version = "0.13.1"
version = "0.13.3"
description = "Solana Storage program API"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@ -13,11 +13,11 @@ bincode = "1.1.3"
log = "0.4.2"
serde = "1.0.90"
serde_derive = "1.0.90"
solana-logger = { path = "../../logger", version = "0.13.1" }
solana-sdk = { path = "../../sdk", version = "0.13.1" }
solana-logger = { path = "../../logger", version = "0.13.3" }
solana-sdk = { path = "../../sdk", version = "0.13.3" }
[dev-dependencies]
solana-runtime = { path = "../../runtime", version = "0.13.1" }
solana-runtime = { path = "../../runtime", version = "0.13.3" }
[lib]
name = "solana_storage_api"

@ -11,8 +11,8 @@ pub fn get_segment_from_entry(entry_height: u64) -> usize {
}
const STORAGE_PROGRAM_ID: [u8; 32] = [
130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0,
6, 162, 25, 123, 127, 68, 233, 59, 131, 151, 21, 152, 162, 120, 90, 37, 154, 88, 86, 5, 156,
221, 182, 201, 142, 103, 151, 112, 0, 0, 0, 0,
];
pub fn check_id(program_id: &Pubkey) -> bool {

@ -1,6 +1,6 @@
[package]
name = "solana-storage-program"
version = "0.13.1"
version = "0.13.3"
description = "Solana storage 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.13.1" }
solana-sdk = { path = "../../sdk", version = "0.13.1" }
solana-storage-api = { path = "../storage_api", version = "0.13.1" }
solana-logger = { path = "../../logger", version = "0.13.3" }
solana-sdk = { path = "../../sdk", version = "0.13.3" }
solana-storage-api = { path = "../storage_api", version = "0.13.3" }
[lib]
name = "solana_storage_program"

@ -1,6 +1,6 @@
[package]
name = "solana-token-api"
version = "0.13.1"
version = "0.13.3"
description = "Solana Token API"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@ -13,8 +13,8 @@ bincode = "1.1.3"
log = "0.4.2"
serde = "1.0.90"
serde_derive = "1.0.90"
solana-logger = { path = "../../logger", version = "0.13.1" }
solana-sdk = { path = "../../sdk", version = "0.13.1" }
solana-logger = { path = "../../logger", version = "0.13.3" }
solana-sdk = { path = "../../sdk", version = "0.13.3" }
[lib]
name = "solana_token_api"

@ -4,8 +4,8 @@ mod token_state;
use solana_sdk::pubkey::Pubkey;
const TOKEN_PROGRAM_ID: [u8; 32] = [
131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0,
6, 221, 246, 225, 142, 57, 236, 63, 240, 189, 82, 112, 85, 219, 2, 165, 51, 122, 113, 201, 115,
12, 217, 253, 72, 146, 220, 192, 0, 0, 0, 0,
];
pub fn id() -> Pubkey {

@ -1,6 +1,6 @@
[package]
name = "solana-token-program"
version = "0.13.1"
version = "0.13.3"
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.13.1" }
solana-sdk = { path = "../../sdk", version = "0.13.1" }
solana-token-api = { path = "../token_api", version = "0.13.1" }
solana-logger = { path = "../../logger", version = "0.13.3" }
solana-sdk = { path = "../../sdk", version = "0.13.3" }
solana-token-api = { path = "../token_api", version = "0.13.3" }
[lib]
name = "solana_token_program"

@ -1,6 +1,6 @@
[package]
name = "solana-vote-api"
version = "0.13.1"
version = "0.13.3"
description = "Solana Vote program API"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@ -13,12 +13,12 @@ bincode = "1.1.3"
log = "0.4.2"
serde = "1.0.90"
serde_derive = "1.0.90"
solana-logger = { path = "../../logger", version = "0.13.1" }
solana-metrics = { path = "../../metrics", version = "0.13.1" }
solana-sdk = { path = "../../sdk", version = "0.13.1" }
solana-logger = { path = "../../logger", version = "0.13.3" }
solana-metrics = { path = "../../metrics", version = "0.13.3" }
solana-sdk = { path = "../../sdk", version = "0.13.3" }
[dev-dependencies]
solana-runtime = { path = "../../runtime", version = "0.13.1" }
solana-runtime = { path = "../../runtime", version = "0.13.3" }
[lib]
name = "solana_vote_api"

@ -4,8 +4,8 @@ pub mod vote_state;
use solana_sdk::pubkey::Pubkey;
const VOTE_PROGRAM_ID: [u8; 32] = [
132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0,
7, 97, 72, 29, 53, 116, 116, 187, 124, 77, 118, 36, 235, 211, 189, 179, 216, 53, 94, 115, 209,
16, 67, 252, 13, 163, 83, 128, 0, 0, 0, 0,
];
pub fn check_id(program_id: &Pubkey) -> bool {

@ -1,6 +1,6 @@
[package]
name = "solana-vote-program"
version = "0.13.1"
version = "0.13.3"
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.13.1" }
solana-sdk = { path = "../../sdk", version = "0.13.1" }
solana-vote-api = { path = "../vote_api", version = "0.13.1" }
solana-logger = { path = "../../logger", version = "0.13.3" }
solana-sdk = { path = "../../sdk", version = "0.13.3" }
solana-vote-api = { path = "../vote_api", version = "0.13.3" }
[lib]
name = "solana_vote_program"

@ -2,17 +2,17 @@
authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-replicator"
version = "0.13.1"
version = "0.13.3"
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.13.1" }
solana-logger = { path = "../logger", version = "0.13.1" }
solana-netutil = { path = "../netutil", version = "0.13.1" }
solana-sdk = { path = "../sdk", version = "0.13.1" }
solana = { path = "../core", version = "0.13.3" }
solana-logger = { path = "../logger", version = "0.13.3" }
solana-netutil = { path = "../netutil", version = "0.13.3" }
solana-sdk = { path = "../sdk", version = "0.13.3" }
[features]
chacha = ["solana/chacha"]

@ -1,6 +1,6 @@
[package]
name = "solana-runtime"
version = "0.13.1"
version = "0.13.3"
description = "Solana runtime"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@ -23,10 +23,10 @@ rayon = "1.0.0"
serde = "1.0.88"
serde_derive = "1.0.88"
serde_json = "1.0.38"
solana-logger = { path = "../logger", version = "0.13.1" }
solana-metrics = { path = "../metrics", version = "0.13.1" }
solana-sdk = { path = "../sdk", version = "0.13.1" }
solana-vote-api = { path = "../programs/vote_api", version = "0.13.1" }
solana-logger = { path = "../logger", version = "0.13.3" }
solana-metrics = { path = "../metrics", version = "0.13.3" }
solana-sdk = { path = "../sdk", version = "0.13.3" }
solana-vote-api = { path = "../programs/vote_api", version = "0.13.3" }
[lib]
name = "solana_runtime"

@ -1,6 +1,6 @@
[package]
name = "solana-sdk"
version = "0.13.1"
version = "0.13.3"
description = "Solana SDK"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"

@ -1,8 +1,8 @@
use crate::pubkey::Pubkey;
const BPF_LOADER_PROGRAM_ID: [u8; 32] = [
128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0,
2, 168, 246, 145, 78, 136, 161, 107, 189, 35, 149, 133, 95, 100, 4, 217, 180, 244, 86, 183,
130, 27, 176, 20, 87, 73, 66, 140, 0, 0, 0, 0,
];
pub fn id() -> Pubkey {

@ -2,7 +2,8 @@ use crate::account::Account;
use crate::pubkey::Pubkey;
const NATIVE_LOADER_PROGRAM_ID: [u8; 32] = [
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5, 135, 132, 191, 20, 139, 164, 40, 47, 176, 18, 87, 72, 136, 169, 241, 83, 160, 125, 173, 247,
101, 192, 69, 92, 154, 151, 3, 128, 0, 0, 0,
];
pub fn id() -> Pubkey {

@ -1,6 +1,8 @@
use crate::pubkey::Pubkey;
const SYSTEM_PROGRAM_ID: [u8; 32] = [0u8; 32];
const SYSTEM_PROGRAM_ID: [u8; 32] = [
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
];
pub fn id() -> Pubkey {
Pubkey::new(&SYSTEM_PROGRAM_ID)

@ -1,6 +1,6 @@
[package]
name = "solana-upload-perf"
version = "0.13.1"
version = "0.13.3"
description = "Metrics Upload Utility"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@ -10,7 +10,7 @@ homepage = "https://solana.com/"
[dependencies]
serde_json = "1.0.39"
solana-metrics = { path = "../metrics", version = "0.13.1" }
solana-metrics = { path = "../metrics", version = "0.13.3" }
[[bin]]
name = "solana-upload-perf"

@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-vote-signer"
description = "Solana Vote Signing Service"
version = "0.13.1"
version = "0.13.3"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@ -17,8 +17,8 @@ jsonrpc-derive = "11.0.0"
jsonrpc-http-server = "11.0.0"
serde = "1.0.90"
serde_json = "1.0.39"
solana-sdk = { path = "../sdk", version = "0.13.1" }
solana-metrics = { path = "../metrics", version = "0.13.1" }
solana-sdk = { path = "../sdk", version = "0.13.3" }
solana-metrics = { path = "../metrics", version = "0.13.3" }
[lib]
name = "solana_vote_signer"

@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-wallet"
description = "Blockchain, Rebuilt for Scale"
version = "0.13.1"
version = "0.13.3"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@ -16,18 +16,18 @@ chrono = { version = "0.4.0", features = ["serde"] }
dirs = "1.0.5"
log = "0.4.2"
serde_json = "1.0.39"
solana-budget-api = { path = "../programs/budget_api", version = "0.13.1" }
solana-client = { path = "../client", version = "0.13.1" }
solana-drone = { path = "../drone", version = "0.13.1" }
solana-logger = { path = "../logger", version = "0.13.1" }
solana-netutil = { path = "../netutil", version = "0.13.1" }
solana-sdk = { path = "../sdk", version = "0.13.1" }
solana-vote-api = { path = "../programs/vote_api", version = "0.13.1" }
solana-vote-signer = { path = "../vote-signer", version = "0.13.1" }
solana-budget-api = { path = "../programs/budget_api", version = "0.13.3" }
solana-client = { path = "../client", version = "0.13.3" }
solana-drone = { path = "../drone", version = "0.13.3" }
solana-logger = { path = "../logger", version = "0.13.3" }
solana-netutil = { path = "../netutil", version = "0.13.3" }
solana-sdk = { path = "../sdk", version = "0.13.3" }
solana-vote-api = { path = "../programs/vote_api", version = "0.13.3" }
solana-vote-signer = { path = "../vote-signer", version = "0.13.3" }
[dev-dependencies]
solana-budget-program = { path = "../programs/budget_program", version = "0.13.1" }
solana = { path = "../core", version = "0.13.1" }
solana-budget-program = { path = "../programs/budget_program", version = "0.13.3" }
solana = { path = "../core", version = "0.13.3" }
[features]
cuda = []