Compare commits

...

10 Commits

Author SHA1 Message Date
Trent Nelson
263fc25992 Reject TXs sent via RPC with no signatures
(cherry picked from commit a888f2f516)
2020-07-30 07:44:18 -06:00
Trent Nelson
f6b669eabc Add new RPC error for TXs with no signatures
(cherry picked from commit 9778fedd7a)
2020-07-30 07:44:18 -06:00
Trent Nelson
1b2fdcd3a2 Dereplicode send_transaction and request_airdrop RPC handlers
(cherry picked from commit a7079e4dde)
2020-07-30 07:44:18 -06:00
Trent Nelson
e8e74ee009 Add failing test for TX sent via RPC with no signatures
(cherry picked from commit b962b2ce2d)
2020-07-30 07:44:18 -06:00
Trent Nelson
227a13f2d2 Fill out missing RPC request received debug logging 2020-07-29 22:58:30 -06:00
Ryo Onodera
6842e37780 Fix race condition between shrinking and cleaning (for 1.1) (#11234)
* Fix race condition between shrinking and cleaning

* Fix compile error...

* fix ci

* Update comments
2020-07-29 06:06:34 +09:00
Trent Nelson
035bd7db4e Bump version to 1.1.23 2020-07-27 16:26:44 -06:00
Michael Vines
14c2e2af13 Designate mainnet-beta epoch 61 as an upgrade epoch
(cherry picked from commit ed01591be6)
2020-07-27 14:48:42 -06:00
mergify[bot]
a5b915263b Rpc: Add getStakeActivation endpoint (bp #10902) (#11185)
* Rpc: Add getStakeActivation endpoint (#10902)

* Add getStakeActivation endpoint

* Add docs

* Update docs/src/apps/jsonrpc-api.md

Co-authored-by: Michael Vines <mvines@gmail.com>

* Rework return type

* Update docs

* Rebase

Co-authored-by: Michael Vines <mvines@gmail.com>
(cherry picked from commit 4de0713aa3)

# Conflicts:
#	core/src/rpc.rs
#	docs/src/apps/jsonrpc-api.md

* Fix conflicts

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2020-07-23 14:50:59 -06:00
Trent Nelson
b87ac392e8 Bump version to v1.1.22 2020-07-22 16:17:14 -06:00
100 changed files with 935 additions and 635 deletions

132
Cargo.lock generated
View File

@@ -253,7 +253,7 @@ dependencies = [
[[package]]
name = "btc_spv_bin"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"clap",
"hex",
@@ -2912,7 +2912,7 @@ dependencies = [
[[package]]
name = "solana-accounts-bench"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"clap",
"crossbeam-channel",
@@ -2927,7 +2927,7 @@ dependencies = [
[[package]]
name = "solana-archiver"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"clap",
"console 0.10.3",
@@ -2942,7 +2942,7 @@ dependencies = [
[[package]]
name = "solana-archiver-lib"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"bincode",
"crossbeam-channel",
@@ -2972,7 +2972,7 @@ dependencies = [
[[package]]
name = "solana-archiver-utils"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"hex",
"log 0.4.8",
@@ -2987,7 +2987,7 @@ dependencies = [
[[package]]
name = "solana-banking-bench"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"clap",
"crossbeam-channel",
@@ -3007,7 +3007,7 @@ dependencies = [
[[package]]
name = "solana-bench-exchange"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"clap",
"itertools",
@@ -3034,7 +3034,7 @@ dependencies = [
[[package]]
name = "solana-bench-streamer"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"clap",
"solana-clap-utils",
@@ -3045,7 +3045,7 @@ dependencies = [
[[package]]
name = "solana-bench-tps"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"bincode",
"clap",
@@ -3071,7 +3071,7 @@ dependencies = [
[[package]]
name = "solana-bpf-loader-program"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"bincode",
"byteorder",
@@ -3088,7 +3088,7 @@ dependencies = [
[[package]]
name = "solana-btc-spv-program"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"bincode",
"hex",
@@ -3102,7 +3102,7 @@ dependencies = [
[[package]]
name = "solana-budget-program"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"bincode",
"chrono",
@@ -3118,7 +3118,7 @@ dependencies = [
[[package]]
name = "solana-chacha"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"hex-literal",
"log 0.4.8",
@@ -3133,7 +3133,7 @@ dependencies = [
[[package]]
name = "solana-chacha-cuda"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"hex-literal",
"log 0.4.8",
@@ -3147,14 +3147,14 @@ dependencies = [
[[package]]
name = "solana-chacha-sys"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"cc",
]
[[package]]
name = "solana-clap-utils"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"chrono",
"clap",
@@ -3168,7 +3168,7 @@ dependencies = [
[[package]]
name = "solana-cli"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"Inflector",
"bincode",
@@ -3212,7 +3212,7 @@ dependencies = [
[[package]]
name = "solana-cli-config"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"dirs",
"lazy_static",
@@ -3224,7 +3224,7 @@ dependencies = [
[[package]]
name = "solana-client"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"assert_matches",
"bincode",
@@ -3250,7 +3250,7 @@ dependencies = [
[[package]]
name = "solana-config-program"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"bincode",
"chrono",
@@ -3263,7 +3263,7 @@ dependencies = [
[[package]]
name = "solana-core"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"bincode",
"bs58",
@@ -3334,7 +3334,7 @@ dependencies = [
[[package]]
name = "solana-crate-features"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"backtrace",
"bytes 0.4.12",
@@ -3357,7 +3357,7 @@ dependencies = [
[[package]]
name = "solana-dos"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"bincode",
"clap",
@@ -3372,7 +3372,7 @@ dependencies = [
[[package]]
name = "solana-download-utils"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"bzip2",
"console 0.10.3",
@@ -3386,7 +3386,7 @@ dependencies = [
[[package]]
name = "solana-exchange-program"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"bincode",
"log 0.4.8",
@@ -3403,7 +3403,7 @@ dependencies = [
[[package]]
name = "solana-failure-program"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"solana-runtime",
"solana-sdk",
@@ -3411,7 +3411,7 @@ dependencies = [
[[package]]
name = "solana-faucet"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"bincode",
"byteorder",
@@ -3430,7 +3430,7 @@ dependencies = [
[[package]]
name = "solana-genesis"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"base64 0.12.2",
"chrono",
@@ -3451,7 +3451,7 @@ dependencies = [
[[package]]
name = "solana-genesis-programs"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"log 0.4.8",
"solana-bpf-loader-program",
@@ -3465,7 +3465,7 @@ dependencies = [
[[package]]
name = "solana-gossip"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"clap",
"solana-clap-utils",
@@ -3478,7 +3478,7 @@ dependencies = [
[[package]]
name = "solana-install"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"atty",
"bincode",
@@ -3510,7 +3510,7 @@ dependencies = [
[[package]]
name = "solana-keygen"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"bs58",
"clap",
@@ -3525,7 +3525,7 @@ dependencies = [
[[package]]
name = "solana-ledger"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"assert_matches",
"bincode",
@@ -3572,7 +3572,7 @@ dependencies = [
[[package]]
name = "solana-ledger-tool"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"assert_cmd",
"bs58",
@@ -3596,7 +3596,7 @@ dependencies = [
[[package]]
name = "solana-local-cluster"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"assert_matches",
"itertools",
@@ -3626,7 +3626,7 @@ dependencies = [
[[package]]
name = "solana-log-analyzer"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"byte-unit",
"clap",
@@ -3638,7 +3638,7 @@ dependencies = [
[[package]]
name = "solana-logger"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"env_logger",
"lazy_static",
@@ -3647,7 +3647,7 @@ dependencies = [
[[package]]
name = "solana-measure"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"jemalloc-ctl",
"jemallocator",
@@ -3658,7 +3658,7 @@ dependencies = [
[[package]]
name = "solana-merkle-tree"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"fast-math",
"hex",
@@ -3667,7 +3667,7 @@ dependencies = [
[[package]]
name = "solana-metrics"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"env_logger",
"gethostname",
@@ -3682,7 +3682,7 @@ dependencies = [
[[package]]
name = "solana-net-shaper"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"clap",
"rand 0.7.3",
@@ -3694,7 +3694,7 @@ dependencies = [
[[package]]
name = "solana-net-utils"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"bincode",
"bytes 0.4.12",
@@ -3713,7 +3713,7 @@ dependencies = [
[[package]]
name = "solana-noop-program"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"log 0.4.8",
"solana-logger",
@@ -3722,7 +3722,7 @@ dependencies = [
[[package]]
name = "solana-ownable"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"bincode",
"num-derive 0.3.0",
@@ -3734,7 +3734,7 @@ dependencies = [
[[package]]
name = "solana-perf"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"bincode",
"dlopen",
@@ -3754,7 +3754,7 @@ dependencies = [
[[package]]
name = "solana-rayon-threadlimit"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"lazy_static",
"num_cpus",
@@ -3773,7 +3773,7 @@ dependencies = [
[[package]]
name = "solana-remote-wallet"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"base32",
"console 0.10.3",
@@ -3791,7 +3791,7 @@ dependencies = [
[[package]]
name = "solana-runtime"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"assert_matches",
"bincode",
@@ -3829,7 +3829,7 @@ dependencies = [
[[package]]
name = "solana-scripts"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"csv",
"serde",
@@ -3837,7 +3837,7 @@ dependencies = [
[[package]]
name = "solana-sdk"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"assert_matches",
"bincode",
@@ -3871,7 +3871,7 @@ dependencies = [
[[package]]
name = "solana-sdk-c"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"bincode",
"bs58",
@@ -3885,7 +3885,7 @@ dependencies = [
[[package]]
name = "solana-sdk-macro"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"bs58",
"proc-macro2 1.0.18",
@@ -3895,7 +3895,7 @@ dependencies = [
[[package]]
name = "solana-stake-accounts"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"clap",
"solana-clap-utils",
@@ -3909,7 +3909,7 @@ dependencies = [
[[package]]
name = "solana-stake-monitor"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"clap",
"console 0.10.3",
@@ -3933,7 +3933,7 @@ dependencies = [
[[package]]
name = "solana-stake-program"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"bincode",
"log 0.4.8",
@@ -3951,7 +3951,7 @@ dependencies = [
[[package]]
name = "solana-storage-program"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"assert_matches",
"bincode",
@@ -3967,7 +3967,7 @@ dependencies = [
[[package]]
name = "solana-streamer"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"libc",
"log 0.4.8",
@@ -3982,7 +3982,7 @@ dependencies = [
[[package]]
name = "solana-sys-tuner"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"clap",
"libc",
@@ -3997,7 +3997,7 @@ dependencies = [
[[package]]
name = "solana-transaction-status"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"bincode",
"bs58",
@@ -4008,7 +4008,7 @@ dependencies = [
[[package]]
name = "solana-upload-perf"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"serde_json",
"solana-metrics",
@@ -4016,7 +4016,7 @@ dependencies = [
[[package]]
name = "solana-validator"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"chrono",
"clap",
@@ -4044,7 +4044,7 @@ dependencies = [
[[package]]
name = "solana-version"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"serde",
"serde_derive",
@@ -4053,7 +4053,7 @@ dependencies = [
[[package]]
name = "solana-vest-program"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"bincode",
"chrono",
@@ -4069,7 +4069,7 @@ dependencies = [
[[package]]
name = "solana-vote-program"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"bincode",
"log 0.4.8",
@@ -4084,7 +4084,7 @@ dependencies = [
[[package]]
name = "solana-vote-signer"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"clap",
"jsonrpc-core",
@@ -4099,7 +4099,7 @@ dependencies = [
[[package]]
name = "solana-watchtower"
version = "1.1.21"
version = "1.1.23"
dependencies = [
"clap",
"humantime 2.0.1",

View File

@@ -2,7 +2,7 @@
authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-accounts-bench"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -10,10 +10,10 @@ homepage = "https://solana.com/"
[dependencies]
log = "0.4.6"
rayon = "1.3.0"
solana-logger = { path = "../logger", version = "1.1.21" }
solana-runtime = { path = "../runtime", version = "1.1.21" }
solana-measure = { path = "../measure", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-runtime = { path = "../runtime", version = "1.1.23" }
solana-measure = { path = "../measure", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
rand = "0.7.0"
clap = "2.33.0"
crossbeam-channel = "0.4"

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-archiver-lib"
version = "1.1.21"
version = "1.1.23"
description = "Solana Archiver Library"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -15,23 +15,23 @@ ed25519-dalek = "=1.0.0-pre.3"
log = "0.4.8"
rand = "0.7.0"
rand_chacha = "0.2.2"
solana-client = { path = "../client", version = "1.1.21" }
solana-storage-program = { path = "../programs/storage", version = "1.1.21" }
solana-client = { path = "../client", version = "1.1.23" }
solana-storage-program = { path = "../programs/storage", version = "1.1.23" }
thiserror = "1.0"
serde = "1.0.105"
serde_json = "1.0.48"
serde_derive = "1.0.103"
solana-net-utils = { path = "../net-utils", version = "1.1.21" }
solana-chacha = { path = "../chacha", version = "1.1.21" }
solana-chacha-sys = { path = "../chacha-sys", version = "1.1.21" }
solana-ledger = { path = "../ledger", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-perf = { path = "../perf", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-core = { path = "../core", version = "1.1.21" }
solana-streamer = { path = "../streamer", version = "1.1.21" }
solana-archiver-utils = { path = "../archiver-utils", version = "1.1.21" }
solana-metrics = { path = "../metrics", version = "1.1.21" }
solana-net-utils = { path = "../net-utils", version = "1.1.23" }
solana-chacha = { path = "../chacha", version = "1.1.23" }
solana-chacha-sys = { path = "../chacha-sys", version = "1.1.23" }
solana-ledger = { path = "../ledger", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-perf = { path = "../perf", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
solana-core = { path = "../core", version = "1.1.23" }
solana-streamer = { path = "../streamer", version = "1.1.23" }
solana-archiver-utils = { path = "../archiver-utils", version = "1.1.23" }
solana-metrics = { path = "../metrics", version = "1.1.23" }
[dev-dependencies]
hex = "0.4.2"

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-archiver-utils"
version = "1.1.21"
version = "1.1.23"
description = "Solana Archiver Utils"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -11,12 +11,12 @@ edition = "2018"
[dependencies]
log = "0.4.8"
rand = "0.7.0"
solana-chacha = { path = "../chacha", version = "1.1.21" }
solana-chacha-sys = { path = "../chacha-sys", version = "1.1.21" }
solana-ledger = { path = "../ledger", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-perf = { path = "../perf", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-chacha = { path = "../chacha", version = "1.1.23" }
solana-chacha-sys = { path = "../chacha-sys", version = "1.1.23" }
solana-ledger = { path = "../ledger", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-perf = { path = "../perf", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
[dev-dependencies]
hex = "0.4.2"

View File

@@ -2,7 +2,7 @@
authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-archiver"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -10,13 +10,13 @@ homepage = "https://solana.com/"
[dependencies]
clap = "2.33.0"
console = "0.10.0"
solana-clap-utils = { path = "../clap-utils", version = "1.1.21" }
solana-core = { path = "../core", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-metrics = { path = "../metrics", version = "1.1.21" }
solana-archiver-lib = { path = "../archiver-lib", version = "1.1.21" }
solana-net-utils = { path = "../net-utils", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-clap-utils = { path = "../clap-utils", version = "1.1.23" }
solana-core = { path = "../core", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-metrics = { path = "../metrics", version = "1.1.23" }
solana-archiver-lib = { path = "../archiver-lib", version = "1.1.23" }
solana-net-utils = { path = "../net-utils", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
[package.metadata.docs.rs]

View File

@@ -2,7 +2,7 @@
authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-banking-bench"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -13,15 +13,15 @@ crossbeam-channel = "0.4"
log = "0.4.6"
rand = "0.7.0"
rayon = "1.3.0"
solana-core = { path = "../core", version = "1.1.21" }
solana-streamer = { path = "../streamer", version = "1.1.21" }
solana-perf = { path = "../perf", version = "1.1.21" }
solana-ledger = { path = "../ledger", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-runtime = { path = "../runtime", version = "1.1.21" }
solana-measure = { path = "../measure", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-version = { path = "../version", version = "1.1.21" }
solana-core = { path = "../core", version = "1.1.23" }
solana-streamer = { path = "../streamer", version = "1.1.23" }
solana-perf = { path = "../perf", version = "1.1.23" }
solana-ledger = { path = "../ledger", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-runtime = { path = "../runtime", version = "1.1.23" }
solana-measure = { path = "../measure", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
solana-version = { path = "../version", version = "1.1.23" }
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]

View File

@@ -2,7 +2,7 @@
authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-bench-exchange"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -18,20 +18,20 @@ rand = "0.7.0"
rayon = "1.3.0"
serde_json = "1.0.48"
serde_yaml = "0.8.11"
solana-clap-utils = { path = "../clap-utils", version = "1.1.21" }
solana-core = { path = "../core", version = "1.1.21" }
solana-genesis = { path = "../genesis", version = "1.1.21" }
solana-client = { path = "../client", version = "1.1.21" }
solana-faucet = { path = "../faucet", version = "1.1.21" }
solana-exchange-program = { path = "../programs/exchange", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-metrics = { path = "../metrics", version = "1.1.21" }
solana-net-utils = { path = "../net-utils", version = "1.1.21" }
solana-runtime = { path = "../runtime", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-clap-utils = { path = "../clap-utils", version = "1.1.23" }
solana-core = { path = "../core", version = "1.1.23" }
solana-genesis = { path = "../genesis", version = "1.1.23" }
solana-client = { path = "../client", version = "1.1.23" }
solana-faucet = { path = "../faucet", version = "1.1.23" }
solana-exchange-program = { path = "../programs/exchange", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-metrics = { path = "../metrics", version = "1.1.23" }
solana-net-utils = { path = "../net-utils", version = "1.1.23" }
solana-runtime = { path = "../runtime", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
[dev-dependencies]
solana-local-cluster = { path = "../local-cluster", version = "1.1.21" }
solana-local-cluster = { path = "../local-cluster", version = "1.1.23" }
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]

View File

@@ -2,17 +2,17 @@
authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-bench-streamer"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
[dependencies]
clap = "2.33.0"
solana-clap-utils = { path = "../clap-utils", version = "1.1.21" }
solana-streamer = { path = "../streamer", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-net-utils = { path = "../net-utils", version = "1.1.21" }
solana-clap-utils = { path = "../clap-utils", version = "1.1.23" }
solana-streamer = { path = "../streamer", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-net-utils = { path = "../net-utils", version = "1.1.23" }
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]

View File

@@ -2,7 +2,7 @@
authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-bench-tps"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -14,24 +14,24 @@ log = "0.4.8"
rayon = "1.3.0"
serde_json = "1.0.48"
serde_yaml = "0.8.11"
solana-clap-utils = { path = "../clap-utils", version = "1.1.21" }
solana-core = { path = "../core", version = "1.1.21" }
solana-genesis = { path = "../genesis", version = "1.1.21" }
solana-client = { path = "../client", version = "1.1.21" }
solana-faucet = { path = "../faucet", version = "1.1.21" }
solana-clap-utils = { path = "../clap-utils", version = "1.1.23" }
solana-core = { path = "../core", version = "1.1.23" }
solana-genesis = { path = "../genesis", version = "1.1.23" }
solana-client = { path = "../client", version = "1.1.23" }
solana-faucet = { path = "../faucet", version = "1.1.23" }
#solana-librapay = { path = "../programs/librapay", version = "1.1.8", optional = true }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-metrics = { path = "../metrics", version = "1.1.21" }
solana-measure = { path = "../measure", version = "1.1.21" }
solana-net-utils = { path = "../net-utils", version = "1.1.21" }
solana-runtime = { path = "../runtime", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-metrics = { path = "../metrics", version = "1.1.23" }
solana-measure = { path = "../measure", version = "1.1.23" }
solana-net-utils = { path = "../net-utils", version = "1.1.23" }
solana-runtime = { path = "../runtime", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
#solana-move-loader-program = { path = "../programs/move_loader", version = "1.1.8", optional = true }
[dev-dependencies]
serial_test = "0.4.0"
serial_test_derive = "0.4.0"
solana-local-cluster = { path = "../local-cluster", version = "1.1.21" }
solana-local-cluster = { path = "../local-cluster", version = "1.1.23" }
#[features]
#move = ["solana-librapay", "solana-move-loader-program"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-chacha-cuda"
version = "1.1.21"
version = "1.1.23"
description = "Solana Chacha Cuda APIs"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -10,12 +10,12 @@ edition = "2018"
[dependencies]
log = "0.4.8"
solana-archiver-utils = { path = "../archiver-utils", version = "1.1.21" }
solana-chacha = { path = "../chacha", version = "1.1.21" }
solana-ledger = { path = "../ledger", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-perf = { path = "../perf", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-archiver-utils = { path = "../archiver-utils", version = "1.1.23" }
solana-chacha = { path = "../chacha", version = "1.1.23" }
solana-ledger = { path = "../ledger", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-perf = { path = "../perf", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
[dev-dependencies]
hex-literal = "0.2.1"

View File

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

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-chacha"
version = "1.1.21"
version = "1.1.23"
description = "Solana Chacha APIs"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -12,11 +12,11 @@ edition = "2018"
log = "0.4.8"
rand = "0.7.0"
rand_chacha = "0.2.2"
solana-chacha-sys = { path = "../chacha-sys", version = "1.1.21" }
solana-ledger = { path = "../ledger", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-perf = { path = "../perf", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-chacha-sys = { path = "../chacha-sys", version = "1.1.23" }
solana-ledger = { path = "../ledger", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-perf = { path = "../perf", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
[dev-dependencies]
hex-literal = "0.2.1"

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-clap-utils"
version = "1.1.21"
version = "1.1.23"
description = "Solana utilities for the clap"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -11,8 +11,8 @@ edition = "2018"
[dependencies]
clap = "2.33.0"
rpassword = "4.0"
solana-remote-wallet = { path = "../remote-wallet", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-remote-wallet = { path = "../remote-wallet", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
thiserror = "1.0.11"
tiny-bip39 = "0.7.0"
url = "2.1.0"

View File

@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-cli-config"
description = "Blockchain, Rebuilt for Scale"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"

View File

@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-cli"
description = "Blockchain, Rebuilt for Scale"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -27,28 +27,28 @@ reqwest = { version = "0.10.4", default-features = false, features = ["blocking"
serde = "1.0.105"
serde_derive = "1.0.103"
serde_json = "1.0.48"
solana-budget-program = { path = "../programs/budget", version = "1.1.21" }
solana-clap-utils = { path = "../clap-utils", version = "1.1.21" }
solana-cli-config = { path = "../cli-config", version = "1.1.21" }
solana-client = { path = "../client", version = "1.1.21" }
solana-config-program = { path = "../programs/config", version = "1.1.21" }
solana-faucet = { path = "../faucet", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-net-utils = { path = "../net-utils", version = "1.1.21" }
solana-remote-wallet = { path = "../remote-wallet", version = "1.1.21" }
solana-runtime = { path = "../runtime", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-stake-program = { path = "../programs/stake", version = "1.1.21" }
solana-storage-program = { path = "../programs/storage", version = "1.1.21" }
solana-transaction-status = { path = "../transaction-status", version = "1.1.21" }
solana-vote-program = { path = "../programs/vote", version = "1.1.21" }
solana-vote-signer = { path = "../vote-signer", version = "1.1.21" }
solana-budget-program = { path = "../programs/budget", version = "1.1.23" }
solana-clap-utils = { path = "../clap-utils", version = "1.1.23" }
solana-cli-config = { path = "../cli-config", version = "1.1.23" }
solana-client = { path = "../client", version = "1.1.23" }
solana-config-program = { path = "../programs/config", version = "1.1.23" }
solana-faucet = { path = "../faucet", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-net-utils = { path = "../net-utils", version = "1.1.23" }
solana-remote-wallet = { path = "../remote-wallet", version = "1.1.23" }
solana-runtime = { path = "../runtime", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
solana-stake-program = { path = "../programs/stake", version = "1.1.23" }
solana-storage-program = { path = "../programs/storage", version = "1.1.23" }
solana-transaction-status = { path = "../transaction-status", version = "1.1.23" }
solana-vote-program = { path = "../programs/vote", version = "1.1.23" }
solana-vote-signer = { path = "../vote-signer", version = "1.1.23" }
thiserror = "1.0.13"
url = "2.1.1"
[dev-dependencies]
solana-core = { path = "../core", version = "1.1.21" }
solana-budget-program = { path = "../programs/budget", version = "1.1.21" }
solana-core = { path = "../core", version = "1.1.23" }
solana-budget-program = { path = "../programs/budget", version = "1.1.23" }
tempfile = "3.1.0"
[[bin]]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-client"
version = "1.1.21"
version = "1.1.23"
description = "Solana Client"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -19,10 +19,10 @@ reqwest = { version = "0.10.4", default-features = false, features = ["blocking"
serde = "1.0.105"
serde_derive = "1.0.103"
serde_json = "1.0.48"
solana-transaction-status = { path = "../transaction-status", version = "1.1.21" }
solana-net-utils = { path = "../net-utils", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-vote-program = { path = "../programs/vote", version = "1.1.21" }
solana-transaction-status = { path = "../transaction-status", version = "1.1.23" }
solana-net-utils = { path = "../net-utils", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
solana-vote-program = { path = "../programs/vote", version = "1.1.23" }
thiserror = "1.0"
tungstenite = "0.10.1"
url = "2.1.1"
@@ -31,7 +31,7 @@ url = "2.1.1"
assert_matches = "1.3.0"
jsonrpc-core = "14.0.5"
jsonrpc-http-server = "14.0.6"
solana-logger = { path = "../logger", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.23" }
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]

View File

@@ -38,7 +38,7 @@ pub struct RpcLargestAccountsConfig {
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RpcInflationConfig {
pub struct RpcStakeConfig {
pub epoch: Option<Epoch>,
#[serde(flatten)]
pub commitment: Option<CommitmentConfig>,

View File

@@ -260,3 +260,20 @@ pub struct RpcSupply {
pub non_circulating: u64,
pub non_circulating_accounts: Vec<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug)]
#[serde(rename_all = "camelCase")]
pub enum StakeActivationState {
Activating,
Active,
Deactivating,
Inactive,
}
#[derive(Serialize, Deserialize, Clone, Debug)]
#[serde(rename_all = "camelCase")]
pub struct RpcStakeActivation {
pub state: StakeActivationState,
pub active: u64,
pub inactive: u64,
}

View File

@@ -1,7 +1,7 @@
[package]
name = "solana-core"
description = "Blockchain, Rebuilt for Scale"
version = "1.1.21"
version = "1.1.23"
documentation = "https://docs.rs/solana"
homepage = "https://solana.com/"
readme = "../README.md"
@@ -42,37 +42,37 @@ regex = "1.3.6"
serde = "1.0.105"
serde_derive = "1.0.103"
serde_json = "1.0.48"
solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "1.1.21" }
solana-budget-program = { path = "../programs/budget", version = "1.1.21" }
solana-clap-utils = { path = "../clap-utils", version = "1.1.21" }
solana-client = { path = "../client", version = "1.1.21" }
solana-transaction-status = { path = "../transaction-status", version = "1.1.21" }
solana-faucet = { path = "../faucet", version = "1.1.21" }
solana-genesis-programs = { path = "../genesis-programs", version = "1.1.21" }
solana-ledger = { path = "../ledger", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-merkle-tree = { path = "../merkle-tree", version = "1.1.21" }
solana-metrics = { path = "../metrics", version = "1.1.21" }
solana-measure = { path = "../measure", version = "1.1.21" }
solana-net-utils = { path = "../net-utils", version = "1.1.21" }
solana-chacha-cuda = { path = "../chacha-cuda", version = "1.1.21" }
solana-perf = { path = "../perf", version = "1.1.21" }
solana-runtime = { path = "../runtime", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-stake-program = { path = "../programs/stake", version = "1.1.21" }
solana-storage-program = { path = "../programs/storage", version = "1.1.21" }
solana-streamer = { path = "../streamer", version = "1.1.21" }
solana-version = { path = "../version", version = "1.1.21" }
solana-vote-program = { path = "../programs/vote", version = "1.1.21" }
solana-vote-signer = { path = "../vote-signer", version = "1.1.21" }
solana-sys-tuner = { path = "../sys-tuner", version = "1.1.21" }
solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "1.1.23" }
solana-budget-program = { path = "../programs/budget", version = "1.1.23" }
solana-clap-utils = { path = "../clap-utils", version = "1.1.23" }
solana-client = { path = "../client", version = "1.1.23" }
solana-transaction-status = { path = "../transaction-status", version = "1.1.23" }
solana-faucet = { path = "../faucet", version = "1.1.23" }
solana-genesis-programs = { path = "../genesis-programs", version = "1.1.23" }
solana-ledger = { path = "../ledger", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-merkle-tree = { path = "../merkle-tree", version = "1.1.23" }
solana-metrics = { path = "../metrics", version = "1.1.23" }
solana-measure = { path = "../measure", version = "1.1.23" }
solana-net-utils = { path = "../net-utils", version = "1.1.23" }
solana-chacha-cuda = { path = "../chacha-cuda", version = "1.1.23" }
solana-perf = { path = "../perf", version = "1.1.23" }
solana-runtime = { path = "../runtime", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
solana-stake-program = { path = "../programs/stake", version = "1.1.23" }
solana-storage-program = { path = "../programs/storage", version = "1.1.23" }
solana-streamer = { path = "../streamer", version = "1.1.23" }
solana-version = { path = "../version", version = "1.1.23" }
solana-vote-program = { path = "../programs/vote", version = "1.1.23" }
solana-vote-signer = { path = "../vote-signer", version = "1.1.23" }
solana-sys-tuner = { path = "../sys-tuner", version = "1.1.23" }
tempfile = "3.1.0"
thiserror = "1.0"
tokio = "0.1"
tokio-codec = "0.1"
tokio-fs = "0.1"
tokio-io = "0.1"
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "1.1.21" }
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "1.1.23" }
trees = "0.2.1"
[dev-dependencies]

View File

@@ -31,7 +31,13 @@ impl AccountsBackgroundService {
bank.process_dead_slots();
// Currently, given INTERVAL_MS, we process 1 slot/100 ms
bank.process_stale_slot();
let shrunken_account_count = bank.process_stale_slot();
if shrunken_account_count > 0 {
datapoint_info!(
"stale_slot_shrink",
("accounts", shrunken_account_count, i64)
);
}
sleep(Duration::from_millis(INTERVAL_MS));
})

View File

@@ -29,15 +29,19 @@ use solana_ledger::{
use solana_perf::packet::PACKET_DATA_SIZE;
use solana_runtime::{accounts::AccountAddressFilter, bank::Bank};
use solana_sdk::{
account_utils::StateMut,
clock::{Epoch, Slot, UnixTimestamp},
commitment_config::{CommitmentConfig, CommitmentLevel},
epoch_schedule::EpochSchedule,
hash::Hash,
pubkey::Pubkey,
signature::Signature,
stake_history::StakeHistory,
sysvar::{stake_history, Sysvar},
timing::slot_duration_from_slots_per_year,
transaction::{self, Transaction},
};
use solana_stake_program::stake_state::StakeState;
use solana_transaction_status::{
ConfirmedBlock, ConfirmedTransaction, TransactionEncoding, TransactionStatus,
};
@@ -748,6 +752,67 @@ impl JsonRpcRequestProcessor {
.get_first_available_block()
.unwrap_or_default())
}
pub fn get_stake_activation(
&self,
pubkey: &Pubkey,
config: Option<RpcStakeConfig>,
) -> Result<RpcStakeActivation> {
let config = config.unwrap_or_default();
let bank = self.bank(config.commitment)?;
let epoch = config.epoch.unwrap_or_else(|| bank.epoch());
if bank.epoch().saturating_sub(epoch) > solana_sdk::stake_history::MAX_ENTRIES as u64 {
return Err(Error::invalid_params(format!(
"Invalid param: epoch {:?} is too far in the past",
epoch
)));
}
if epoch > bank.epoch() {
return Err(Error::invalid_params(format!(
"Invalid param: epoch {:?} has not yet started",
epoch
)));
}
let stake_account = bank
.get_account(pubkey)
.ok_or_else(|| Error::invalid_params("Invalid param: account not found".to_string()))?;
let stake_state: StakeState = stake_account
.state()
.map_err(|_| Error::invalid_params("Invalid param: not a stake account".to_string()))?;
let delegation = stake_state.delegation().ok_or_else(|| {
Error::invalid_params("Invalid param: stake account has not been delegated".to_string())
})?;
let stake_history_account = bank
.get_account(&stake_history::id())
.ok_or_else(Error::internal_error)?;
let stake_history =
StakeHistory::from_account(&stake_history_account).ok_or_else(Error::internal_error)?;
let (active, activating, deactivating) =
delegation.stake_activating_and_deactivating(epoch, Some(&stake_history));
let stake_activation_state = if deactivating > 0 {
StakeActivationState::Deactivating
} else if activating > 0 {
StakeActivationState::Activating
} else if active > 0 {
StakeActivationState::Active
} else {
StakeActivationState::Inactive
};
let inactive_stake = match stake_activation_state {
StakeActivationState::Activating => activating,
StakeActivationState::Active => 0,
StakeActivationState::Deactivating => delegation.stake.saturating_sub(active),
StakeActivationState::Inactive => delegation.stake,
};
Ok(RpcStakeActivation {
state: stake_activation_state,
active,
inactive: inactive_stake,
})
}
}
fn verify_pubkey(input: String) -> Result<Pubkey> {
@@ -1057,6 +1122,29 @@ pub trait RpcSol {
#[rpc(meta, name = "getFirstAvailableBlock")]
fn get_first_available_block(&self, meta: Self::Metadata) -> Result<Slot>;
#[rpc(meta, name = "getStakeActivation")]
fn get_stake_activation(
&self,
meta: Self::Metadata,
pubkey_str: String,
config: Option<RpcStakeConfig>,
) -> Result<RpcStakeActivation>;
}
fn _send_transaction(
meta: JsonRpcRequestProcessor,
transaction: Transaction,
wire_transaction: Vec<u8>,
last_valid_slot: Slot,
) -> Result<String> {
if transaction.signatures.is_empty() {
return Err(RpcCustomError::SendTransactionIsNotSigned.into());
}
let signature = transaction.signatures[0];
meta.send_transaction_service
.send(signature, wire_transaction, last_valid_slot);
Ok(signature.to_string())
}
pub struct RpcSolImpl;
@@ -1147,6 +1235,7 @@ impl RpcSol for RpcSolImpl {
}
fn get_cluster_nodes(&self, meta: Self::Metadata) -> Result<Vec<RpcContactInfo>> {
debug!("get_cluster_nodes rpc request received");
let cluster_info = &meta.cluster_info;
fn valid_address_or_none(addr: &SocketAddr) -> Option<SocketAddr> {
if ContactInfo::is_valid_address(addr) {
@@ -1184,6 +1273,7 @@ impl RpcSol for RpcSolImpl {
meta: Self::Metadata,
commitment: Option<CommitmentConfig>,
) -> Result<RpcEpochInfo> {
debug!("get_epoch_info rpc request received");
let bank = meta.bank(commitment)?;
let epoch_schedule = bank.epoch_schedule();
@@ -1204,6 +1294,7 @@ impl RpcSol for RpcSolImpl {
meta: Self::Metadata,
block: Slot,
) -> Result<RpcBlockCommitment<BlockCommitmentArray>> {
debug!("get_block_commitment rpc request received");
Ok(meta.get_block_commitment(block))
}
@@ -1222,6 +1313,8 @@ impl RpcSol for RpcSolImpl {
let slot = slot.unwrap_or_else(|| bank.slot());
let epoch = bank.epoch_schedule().get_epoch(slot);
debug!("get_leader_schedule rpc request received: {:?}", slot);
Ok(
solana_ledger::leader_schedule_utils::leader_schedule(epoch, &bank).map(
|leader_schedule| {
@@ -1294,6 +1387,10 @@ impl RpcSol for RpcSolImpl {
signature_str: String,
commitment: Option<CommitmentConfig>,
) -> Result<Option<transaction::Result<()>>> {
debug!(
"get_signature_status rpc request received: {:?}",
signature_str
);
let signature = verify_signature(&signature_str)?;
Ok(meta.get_signature_status(signature, commitment))
}
@@ -1304,6 +1401,10 @@ impl RpcSol for RpcSolImpl {
signature_strs: Vec<String>,
config: Option<RpcSignatureStatusConfig>,
) -> RpcResponse<Vec<Option<TransactionStatus>>> {
debug!(
"get_signature_statuses rpc request received: {:?}",
signature_strs.len()
);
if signature_strs.len() > MAX_GET_SIGNATURE_STATUSES_QUERY_ITEMS {
return Err(Error::invalid_params(format!(
"Too many inputs provided; max {}",
@@ -1318,6 +1419,7 @@ impl RpcSol for RpcSolImpl {
}
fn get_slot(&self, meta: Self::Metadata, commitment: Option<CommitmentConfig>) -> Result<u64> {
debug!("get_slot rpc request received");
meta.get_slot(commitment)
}
@@ -1364,6 +1466,7 @@ impl RpcSol for RpcSolImpl {
lamports: u64,
commitment: Option<CommitmentConfig>,
) -> Result<String> {
debug!("request_airdrop rpc request received");
trace!(
"request_airdrop id={} lamports={} commitment: {:?}",
pubkey_str,
@@ -1389,17 +1492,13 @@ impl RpcSol for RpcSolImpl {
info!("request_airdrop_transaction failed: {:?}", err);
Error::internal_error()
})?;
let signature = transaction.signatures[0];
let wire_transaction = serialize(&transaction).map_err(|err| {
info!("request_airdrop: serialize error: {:?}", err);
Error::internal_error()
})?;
meta.send_transaction_service
.send(signature, wire_transaction, last_valid_slot);
Ok(signature.to_string())
_send_transaction(meta, transaction, wire_transaction, last_valid_slot)
}
fn send_transaction(
@@ -1408,9 +1507,9 @@ impl RpcSol for RpcSolImpl {
data: String,
config: Option<RpcSendTransactionConfig>,
) -> Result<String> {
debug!("send_transaction rpc request received");
let config = config.unwrap_or_default();
let (wire_transaction, transaction) = deserialize_bs58_transaction(data)?;
let signature = transaction.signatures[0];
let bank = &*meta.bank(None)?;
let last_valid_slot = bank
.get_blockhash_last_valid_slot(&transaction.message.recent_blockhash)
@@ -1431,7 +1530,8 @@ impl RpcSol for RpcSolImpl {
.into());
}
if let (Err(err), _log_output) = run_transaction_simulation(&bank, transaction) {
if let (Err(err), _log_output) = run_transaction_simulation(&bank, transaction.clone())
{
// Note: it's possible that the transaction simulation failed but the actual
// transaction would succeed, such as when a transaction depends on an earlier
// transaction that has yet to reach max confirmations. In these cases the user
@@ -1444,9 +1544,7 @@ impl RpcSol for RpcSolImpl {
}
}
meta.send_transaction_service
.send(signature, wire_transaction, last_valid_slot);
Ok(signature.to_string())
_send_transaction(meta, transaction, wire_transaction, last_valid_slot)
}
fn simulate_transaction(
@@ -1455,6 +1553,7 @@ impl RpcSol for RpcSolImpl {
data: String,
config: Option<RpcSimulateTransactionConfig>,
) -> RpcResponse<RpcSimulateTransactionResult> {
debug!("simulate_transaction rpc request received");
let (_, transaction) = deserialize_bs58_transaction(data)?;
let config = config.unwrap_or_default();
@@ -1487,10 +1586,12 @@ impl RpcSol for RpcSolImpl {
meta: Self::Metadata,
commitment: Option<CommitmentConfig>,
) -> Result<String> {
debug!("get_slot_leader rpc request received");
meta.get_slot_leader(commitment)
}
fn minimum_ledger_slot(&self, meta: Self::Metadata) -> Result<Slot> {
debug!("minimum_ledger_slot rpc request received");
meta.minimum_ledger_slot()
}
@@ -1499,6 +1600,7 @@ impl RpcSol for RpcSolImpl {
meta: Self::Metadata,
commitment: Option<CommitmentConfig>,
) -> Result<RpcVoteAccountStatus> {
debug!("get_vote_accounts rpc request received");
meta.get_vote_accounts(commitment)
}
@@ -1527,22 +1629,26 @@ impl RpcSol for RpcSolImpl {
}
fn validator_exit(&self, meta: Self::Metadata) -> Result<bool> {
debug!("validator_exit rpc request received");
meta.validator_exit()
}
fn get_identity(&self, meta: Self::Metadata) -> Result<RpcIdentity> {
debug!("get_identity rpc request received");
Ok(RpcIdentity {
identity: meta.config.identity_pubkey.to_string(),
})
}
fn get_version(&self, _: Self::Metadata) -> Result<RpcVersionInfo> {
debug!("get_version rpc request received");
Ok(RpcVersionInfo {
solana_core: solana_version::Version::default().to_string(),
})
}
fn set_log_filter(&self, meta: Self::Metadata, filter: String) -> Result<()> {
debug!("set_log_filter rpc request received");
meta.set_log_filter(filter)
}
@@ -1552,6 +1658,7 @@ impl RpcSol for RpcSolImpl {
slot: Slot,
encoding: Option<TransactionEncoding>,
) -> Result<Option<ConfirmedBlock>> {
debug!("get_confirmed_block rpc request received: {:?}", slot);
meta.get_confirmed_block(slot, encoding)
}
@@ -1561,6 +1668,10 @@ impl RpcSol for RpcSolImpl {
start_slot: Slot,
end_slot: Option<Slot>,
) -> Result<Vec<Slot>> {
debug!(
"get_confirmed_blocks rpc request received: {:?}-{:?}",
start_slot, end_slot
);
meta.get_confirmed_blocks(start_slot, end_slot)
}
@@ -1574,6 +1685,10 @@ impl RpcSol for RpcSolImpl {
signature_str: String,
encoding: Option<TransactionEncoding>,
) -> Result<Option<ConfirmedTransaction>> {
debug!(
"get_confirmed_transaction rpc request received: {:?}",
signature_str
);
let signature = verify_signature(&signature_str)?;
meta.get_confirmed_transaction(signature, encoding)
}
@@ -1585,6 +1700,10 @@ impl RpcSol for RpcSolImpl {
start_slot: Slot,
end_slot: Slot,
) -> Result<Vec<String>> {
debug!(
"get_confirmed_signatures_for_address rpc request received: {:?} {:?}-{:?}",
pubkey_str, start_slot, end_slot
);
let pubkey = verify_pubkey(pubkey_str)?;
if end_slot < start_slot {
return Err(Error::invalid_params(format!(
@@ -1608,8 +1727,23 @@ impl RpcSol for RpcSolImpl {
}
fn get_first_available_block(&self, meta: Self::Metadata) -> Result<Slot> {
debug!("get_first_available_block rpc request received");
meta.get_first_available_block()
}
fn get_stake_activation(
&self,
meta: Self::Metadata,
pubkey_str: String,
config: Option<RpcStakeConfig>,
) -> Result<RpcStakeActivation> {
debug!(
"get_stake_activation rpc request received: {:?}",
pubkey_str
);
let pubkey = verify_pubkey(pubkey_str)?;
meta.get_stake_activation(&pubkey, config)
}
}
fn deserialize_bs58_transaction(bs58_transaction: String) -> Result<(Vec<u8>, Transaction)> {
@@ -2883,7 +3017,7 @@ pub mod tests {
)),
);
let mut bad_transaction =
let bad_transaction =
system_transaction::transfer(&Keypair::new(), &Pubkey::default(), 42, Hash::default());
// sendTransaction will fail because the blockhash is invalid
@@ -2899,6 +3033,10 @@ pub mod tests {
)
);
let recent_blockhash = bank_forks.read().unwrap().root_bank().last_blockhash();
let mut bad_transaction =
system_transaction::transfer(&Keypair::new(), &Pubkey::default(), 42, recent_blockhash);
// sendTransaction will fail due to poor node health
health.stub_set_health_status(Some(RpcHealthStatus::Behind));
let req = format!(
@@ -2935,13 +3073,28 @@ pub mod tests {
r#"{{"jsonrpc":"2.0","id":1,"method":"sendTransaction","params":["{}", {{"skipPreflight": true}}]}}"#,
bs58::encode(serialize(&bad_transaction).unwrap()).into_string()
);
let res = io.handle_request_sync(&req, meta);
let res = io.handle_request_sync(&req, meta.clone());
assert_eq!(
res,
Some(
r#"{"jsonrpc":"2.0","result":"1111111111111111111111111111111111111111111111111111111111111111","id":1}"#.to_string(),
)
);
// sendTransaction will fail due to no signer. Skip preflight so signature verification
// doesn't catch it
bad_transaction.signatures.clear();
let req = format!(
r#"{{"jsonrpc":"2.0","id":1,"method":"sendTransaction","params":["{}", {{"skipPreflight": true}}]}}"#,
bs58::encode(serialize(&bad_transaction).unwrap()).into_string()
);
let res = io.handle_request_sync(&req, meta);
assert_eq!(
res,
Some(
r#"{"jsonrpc":"2.0","error":{"code":-32003,"message":"Transaction is not signed"},"id":1}"#.to_string(),
)
);
}
#[test]

View File

@@ -4,6 +4,7 @@ use solana_sdk::clock::Slot;
const JSON_RPC_SERVER_ERROR_0: i64 = -32000;
const JSON_RPC_SERVER_ERROR_1: i64 = -32001;
const JSON_RPC_SERVER_ERROR_2: i64 = -32002;
const JSON_RPC_SERVER_ERROR_3: i64 = -32003;
pub enum RpcCustomError {
NonexistentClusterRoot {
@@ -17,6 +18,7 @@ pub enum RpcCustomError {
SendTransactionPreflightFailure {
message: String,
},
SendTransactionIsNotSigned,
}
impl From<RpcCustomError> for Error {
@@ -49,6 +51,11 @@ impl From<RpcCustomError> for Error {
message,
data: None,
},
RpcCustomError::SendTransactionIsNotSigned => Self {
code: ErrorCode::ServerError(JSON_RPC_SERVER_ERROR_3),
message: "Transaction is not signed".to_string(),
data: None,
},
}
}
}

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-crate-features"
version = "1.1.21"
version = "1.1.23"
description = "Solana Crate Features"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"

View File

@@ -42,6 +42,7 @@ To interact with a Solana node inside a JavaScript application, use the [solana-
* [getSlot](jsonrpc-api.md#getslot)
* [getSlotLeader](jsonrpc-api.md#getslotleader)
* [getSlotsPerSegment](jsonrpc-api.md#getslotspersegment)
* [getStakeActivation](jsonrpc-api.md#getstakeactivation)
* [getStoragePubkeysForSlot](jsonrpc-api.md#getstoragepubkeysforslot)
* [getStorageTurn](jsonrpc-api.md#getstorageturn)
* [getStorageTurnRate](jsonrpc-api.md#getstorageturnrate)
@@ -944,6 +945,41 @@ curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1, "m
{"jsonrpc":"2.0","result":1024,"id":1}
```
### getStakeActivation
Returns epoch activation information for a stake account
#### Parameters:
* `<string>` - Pubkey of stake account to query, as base-58 encoded string
* `<object>` - (optional) Configuration object containing the following optional fields:
* (optional) [Commitment](jsonrpc-api.md#configuring-state-commitment)
* (optional) `epoch: <u64>` - epoch for which to calculate activation details. If parameter not provided, defaults to current epoch.
#### Results:
The result will be a JSON object with the following fields:
* `state: <string` - the stake account's activation state, one of: `active`, `inactive`, `activating`, `deactivating`
* `active: <u64>` - stake active during the epoch
* `inactive: <u64>` - stake inactive during the epoch
#### Example:
```bash
// Request
curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1, "method":"getStakeActivation", "params": ["CYRJWqiSjLitBAcRxPvWpgX3s5TvmN2SuRY3eEYypFvT"]}' http://localhost:8899
// Result
{"jsonrpc":"2.0","result":{"active":197717120,"inactive":0,"state":"active"},"id":1}
// Request with Epoch
curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1, "method":"getStakeActivation", "params": ["CYRJWqiSjLitBAcRxPvWpgX3s5TvmN2SuRY3eEYypFvT", {"epoch": 4}]}' http://localhost:8899
// Result
{"jsonrpc":"2.0","result":{"active":124429280,"inactive":73287840,"state":"activating"},"id":1}
```
### getStoragePubkeysForSlot
Returns the storage Pubkeys for a particular slot
@@ -1078,7 +1114,7 @@ The result field will be a JSON object with the following fields:
// Request
curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1, "method":"getVersion"}' http://localhost:8899
// Result
{"jsonrpc":"2.0","result":{"solana-core": "1.1.21"},"id":1}
{"jsonrpc":"2.0","result":{"solana-core": "1.1.23"},"id":1}
```
### getVoteAccounts

View File

@@ -6,7 +6,7 @@ Solana takes a very different approach, which it calls _Proof of History_ or _Po
Solana technically never sends a _block_, but uses the term to describe the sequence of entries that validators vote on to achieve _confirmation_. In that way, Solana's confirmation times can be compared apples to apples to block-based systems. The current implementation sets block time to 800ms.
What's happening under the hood is that entries are streamed to validators as quickly as a leader node can batch a set of valid transactions into an entry. Validators process those entries long before it is time to vote on their validity. By processing the transactions optimistically, there is effectively no delay between the time the last entry is received and the time when the node can vote. In the event consensus is **not** achieved, a node simply rolls back its state. This optimisic processing technique was introduced in 1981 and called [Optimistic Concurrency Control](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.215.4735). It can be applied to blockchain architecture where a cluster votes on a hash that represents the full ledger up to some _block height_. In Solana, it is implemented trivially using the last entry's PoH hash.
What's happening under the hood is that entries are streamed to validators as quickly as a leader node can batch a set of valid transactions into an entry. Validators process those entries long before it is time to vote on their validity. By processing the transactions optimistically, there is effectively no delay between the time the last entry is received and the time when the node can vote. In the event consensus is **not** achieved, a node simply rolls back its state. This optimisic processing technique was introduced in 1981 and called [Optimistic Concurrency Control](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.235.4735). It can be applied to blockchain architecture where a cluster votes on a hash that represents the full ledger up to some _block height_. In Solana, it is implemented trivially using the last entry's PoH hash.
## Relationship to VDFs

View File

@@ -6,9 +6,9 @@ Solana is an open source project implementing a new, high-performance, permissio
## Why Solana?
It is possible for a centralized database to process 710,000 transactions per second on a standard gigabit network if the transactions are, on average, no more than 176 bytes. A centralized database can also replicate itself and maintain high availability without significantly compromising that transaction rate using the distributed system technique known as Optimistic Concurrency Control [\[H.T.Kung, J.T.Robinson (1981)\]](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.215.4735). At Solana, we are demonstrating that these same theoretical limits apply just as well to blockchain on an adversarial network. The key ingredient? Finding a way to share time when nodes cannot trust one-another. Once nodes can trust time, suddenly ~40 years of distributed systems research becomes applicable to blockchain!
It is possible for a centralized database to process 710,000 transactions per second on a standard gigabit network if the transactions are, on average, no more than 176 bytes. A centralized database can also replicate itself and maintain high availability without significantly compromising that transaction rate using the distributed system technique known as Optimistic Concurrency Control [\[H.T.Kung, J.T.Robinson (1981)\]](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.235.4735). At Solana, we are demonstrating that these same theoretical limits apply just as well to blockchain on an adversarial network. The key ingredient? Finding a way to share time when nodes cannot trust one-another. Once nodes can trust time, suddenly ~40 years of distributed systems research becomes applicable to blockchain!
> Perhaps the most striking difference between algorithms obtained by our method and ones based upon timeout is that using timeout produces a traditional distributed algorithm in which the processes operate asynchronously, while our method produces a globally synchronous one in which every process does the same thing at (approximately) the same time. Our method seems to contradict the whole purpose of distributed processing, which is to permit different processes to operate independently and perform different functions. However, if a distributed system is really a single system, then the processes must be synchronized in some way. Conceptually, the easiest way to synchronize processes is to get them all to do the same thing at the same time. Therefore, our method is used to implement a kernel that performs the necessary synchronization--for example, making sure that two different processes do not try to modify a file at the same time. Processes might spend only a small fraction of their time executing the synchronizing kernel; the rest of the time, they can operate independently--e.g., accessing different files. This is an approach we have advocated even when fault-tolerance is not required. The method's basic simplicity makes it easier to understand the precise properties of a system, which is crucial if one is to know just how fault-tolerant the system is. [\[L.Lamport (1984)\]](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.211.1078)
> Perhaps the most striking difference between algorithms obtained by our method and ones based upon timeout is that using timeout produces a traditional distributed algorithm in which the processes operate asynchronously, while our method produces a globally synchronous one in which every process does the same thing at (approximately) the same time. Our method seems to contradict the whole purpose of distributed processing, which is to permit different processes to operate independently and perform different functions. However, if a distributed system is really a single system, then the processes must be synchronized in some way. Conceptually, the easiest way to synchronize processes is to get them all to do the same thing at the same time. Therefore, our method is used to implement a kernel that performs the necessary synchronization--for example, making sure that two different processes do not try to modify a file at the same time. Processes might spend only a small fraction of their time executing the synchronizing kernel; the rest of the time, they can operate independently--e.g., accessing different files. This is an approach we have advocated even when fault-tolerance is not required. The method's basic simplicity makes it easier to understand the precise properties of a system, which is crucial if one is to know just how fault-tolerant the system is. [\[L.Lamport (1984)\]](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.231.1078)
Furthermore, and much to our surprise, it can be implemented using a mechanism that has existed in Bitcoin since day one. The Bitcoin feature is called nLocktime and it can be used to postdate transactions using block height instead of a timestamp. As a Bitcoin client, you would use block height instead of a timestamp if you don't trust the network. Block height turns out to be an instance of what's being called a Verifiable Delay Function in cryptography circles. It's a cryptographically secure way to say time has passed. In Solana, we use a far more granular verifiable delay function, a SHA 256 hash chain, to checkpoint the ledger and coordinate consensus. With it, we implement Optimistic Concurrency Control and are now well en route towards that theoretical limit of 710,000 transactions per second.

View File

@@ -2,7 +2,7 @@
authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-dos"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -13,10 +13,10 @@ clap = "2.33.0"
log = "0.4.8"
rand = "0.7.0"
rayon = "1.3.0"
solana-core = { path = "../core", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-net-utils = { path = "../net-utils", version = "1.1.21" }
solana-runtime = { path = "../runtime", version = "1.1.21" }
solana-core = { path = "../core", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-net-utils = { path = "../net-utils", version = "1.1.23" }
solana-runtime = { path = "../runtime", version = "1.1.23" }
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-download-utils"
version = "1.1.21"
version = "1.1.23"
description = "Solana Download Utils"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -14,8 +14,8 @@ console = "0.10.0"
indicatif = "0.14.0"
log = "0.4.8"
reqwest = { version = "0.10.4", default-features = false, features = ["blocking", "rustls-tls", "json"] }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-ledger = { path = "../ledger", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
solana-ledger = { path = "../ledger", version = "1.1.23" }
tar = "0.4.26"
[lib]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-faucet"
version = "1.1.21"
version = "1.1.23"
description = "Solana Faucet"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -19,10 +19,10 @@ clap = "2.33"
log = "0.4.8"
serde = "1.0.105"
serde_derive = "1.0.103"
solana-clap-utils = { path = "../clap-utils", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-metrics = { path = "../metrics", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-clap-utils = { path = "../clap-utils", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-metrics = { path = "../metrics", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
tokio = "0.1"
tokio-codec = "0.1"

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-genesis-programs"
version = "1.1.21"
version = "1.1.23"
description = "Solana genesis programs"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -10,13 +10,13 @@ edition = "2018"
[dependencies]
log = { version = "0.4.8" }
solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "1.1.21" }
solana-budget-program = { path = "../programs/budget", version = "1.1.21" }
solana-exchange-program = { path = "../programs/exchange", version = "1.1.21" }
solana-runtime = { path = "../runtime", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-storage-program = { path = "../programs/storage", version = "1.1.21" }
solana-vest-program = { path = "../programs/vest", version = "1.1.21" }
solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "1.1.23" }
solana-budget-program = { path = "../programs/budget", version = "1.1.23" }
solana-exchange-program = { path = "../programs/exchange", version = "1.1.23" }
solana-runtime = { path = "../runtime", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
solana-storage-program = { path = "../programs/storage", version = "1.1.23" }
solana-vest-program = { path = "../programs/vest", version = "1.1.23" }
[lib]
crate-type = ["lib"]

View File

@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-genesis"
description = "Blockchain, Rebuilt for Scale"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -15,14 +15,14 @@ chrono = "0.4"
serde = "1.0.105"
serde_json = "1.0.48"
serde_yaml = "0.8.11"
solana-clap-utils = { path = "../clap-utils", version = "1.1.21" }
solana-genesis-programs = { path = "../genesis-programs", version = "1.1.21" }
solana-ledger = { path = "../ledger", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-stake-program = { path = "../programs/stake", version = "1.1.21" }
solana-storage-program = { path = "../programs/storage", version = "1.1.21" }
solana-vote-program = { path = "../programs/vote", version = "1.1.21" }
solana-clap-utils = { path = "../clap-utils", version = "1.1.23" }
solana-genesis-programs = { path = "../genesis-programs", version = "1.1.23" }
solana-ledger = { path = "../ledger", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
solana-stake-program = { path = "../programs/stake", version = "1.1.23" }
solana-storage-program = { path = "../programs/storage", version = "1.1.23" }
solana-vote-program = { path = "../programs/vote", version = "1.1.23" }
tempfile = "3.1.0"
[[bin]]

View File

@@ -3,19 +3,19 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-gossip"
description = "Blockchain, Rebuilt for Scale"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
[dependencies]
clap = "2.33.0"
solana-clap-utils = { path = "../clap-utils", version = "1.1.21" }
solana-core = { path = "../core", version = "1.1.21" }
solana-client = { path = "../client", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-net-utils = { path = "../net-utils", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-clap-utils = { path = "../clap-utils", version = "1.1.23" }
solana-core = { path = "../core", version = "1.1.23" }
solana-client = { path = "../client", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-net-utils = { path = "../net-utils", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }

View File

@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-install"
description = "The solana cluster software installer"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -24,11 +24,11 @@ reqwest = { version = "0.10.4", default-features = false, features = ["blocking"
serde = "1.0.105"
serde_derive = "1.0.103"
serde_yaml = "0.8.11"
solana-clap-utils = { path = "../clap-utils", version = "1.1.21" }
solana-client = { path = "../client", version = "1.1.21" }
solana-config-program = { path = "../programs/config", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-clap-utils = { path = "../clap-utils", version = "1.1.23" }
solana-client = { path = "../client", version = "1.1.23" }
solana-config-program = { path = "../programs/config", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
semver = "0.9.0"
tar = "0.4.26"
tempdir = "0.3.7"

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-keygen"
version = "1.1.21"
version = "1.1.23"
description = "Solana key generation utility"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -13,10 +13,10 @@ bs58 = "0.3.0"
clap = "2.33"
dirs = "2.0.2"
num_cpus = "1.12.0"
solana-clap-utils = { path = "../clap-utils", version = "1.1.21" }
solana-cli-config = { path = "../cli-config", version = "1.1.21" }
solana-remote-wallet = { path = "../remote-wallet", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-clap-utils = { path = "../clap-utils", version = "1.1.23" }
solana-cli-config = { path = "../cli-config", version = "1.1.23" }
solana-remote-wallet = { path = "../remote-wallet", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
tiny-bip39 = "0.7.0"
[[bin]]

View File

@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-ledger-tool"
description = "Blockchain, Rebuilt for Scale"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -15,15 +15,15 @@ histogram = "*"
log = { version = "0.4.8" }
serde_json = "1.0.48"
serde_yaml = "0.8.11"
solana-clap-utils = { path = "../clap-utils", version = "1.1.21" }
solana-cli = { path = "../cli", version = "1.1.21" }
solana-ledger = { path = "../ledger", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-runtime = { path = "../runtime", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-stake-program = { path = "../programs/stake", version = "1.1.21" }
solana-transaction-status = { path = "../transaction-status", version = "1.1.21" }
solana-vote-program = { path = "../programs/vote", version = "1.1.21" }
solana-clap-utils = { path = "../clap-utils", version = "1.1.23" }
solana-cli = { path = "../cli", version = "1.1.23" }
solana-ledger = { path = "../ledger", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-runtime = { path = "../runtime", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
solana-stake-program = { path = "../programs/stake", version = "1.1.23" }
solana-transaction-status = { path = "../transaction-status", version = "1.1.23" }
solana-vote-program = { path = "../programs/vote", version = "1.1.23" }
tempfile = "3.1.0"
[dev-dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-ledger"
version = "1.1.21"
version = "1.1.23"
description = "Solana ledger"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -28,19 +28,19 @@ reed-solomon-erasure = { package = "solana-reed-solomon-erasure", version = "4.0
regex = "1.3.6"
serde = "1.0.105"
serde_bytes = "0.11.3"
solana-transaction-status = { path = "../transaction-status", version = "1.1.21" }
solana-genesis-programs = { path = "../genesis-programs", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-measure = { path = "../measure", version = "1.1.21" }
solana-merkle-tree = { path = "../merkle-tree", version = "1.1.21" }
solana-metrics = { path = "../metrics", version = "1.1.21" }
solana-perf = { path = "../perf", version = "1.1.21" }
solana-transaction-status = { path = "../transaction-status", version = "1.1.23" }
solana-genesis-programs = { path = "../genesis-programs", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-measure = { path = "../measure", version = "1.1.23" }
solana-merkle-tree = { path = "../merkle-tree", version = "1.1.23" }
solana-metrics = { path = "../metrics", version = "1.1.23" }
solana-perf = { path = "../perf", version = "1.1.23" }
ed25519-dalek = "1.0.0-pre.3"
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "1.1.21" }
solana-runtime = { path = "../runtime", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-stake-program = { path = "../programs/stake", version = "1.1.21" }
solana-vote-program = { path = "../programs/vote", version = "1.1.21" }
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "1.1.23" }
solana-runtime = { path = "../runtime", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
solana-stake-program = { path = "../programs/stake", version = "1.1.23" }
solana-vote-program = { path = "../programs/vote", version = "1.1.23" }
symlink = "0.1.0"
tar = "0.4.26"
thiserror = "1.0"
@@ -57,7 +57,7 @@ features = ["lz4"]
[dev-dependencies]
assert_matches = "1.3.0"
matches = "0.1.6"
solana-budget-program = { path = "../programs/budget", version = "1.1.21" }
solana-budget-program = { path = "../programs/budget", version = "1.1.23" }
[lib]
crate-type = ["lib"]

View File

@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-local-cluster"
description = "Blockchain, Rebuilt for Scale"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -12,24 +12,24 @@ homepage = "https://solana.com/"
itertools = "0.9.0"
log = "0.4.8"
rand = "0.7.0"
solana-archiver-lib = { path = "../archiver-lib", version = "1.1.21" }
solana-config-program = { path = "../programs/config", version = "1.1.21" }
solana-core = { path = "../core", version = "1.1.21" }
solana-client = { path = "../client", version = "1.1.21" }
solana-download-utils = { path = "../download-utils", version = "1.1.21" }
solana-faucet = { path = "../faucet", version = "1.1.21" }
solana-exchange-program = { path = "../programs/exchange", version = "1.1.21" }
solana-genesis-programs = { path = "../genesis-programs", version = "1.1.21" }
solana-ledger = { path = "../ledger", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-runtime = { path = "../runtime", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-stake-program = { path = "../programs/stake", version = "1.1.21" }
solana-storage-program = { path = "../programs/storage", version = "1.1.21" }
solana-vest-program = { path = "../programs/vest", version = "1.1.21" }
solana-vote-program = { path = "../programs/vote", version = "1.1.21" }
solana-archiver-lib = { path = "../archiver-lib", version = "1.1.23" }
solana-config-program = { path = "../programs/config", version = "1.1.23" }
solana-core = { path = "../core", version = "1.1.23" }
solana-client = { path = "../client", version = "1.1.23" }
solana-download-utils = { path = "../download-utils", version = "1.1.23" }
solana-faucet = { path = "../faucet", version = "1.1.23" }
solana-exchange-program = { path = "../programs/exchange", version = "1.1.23" }
solana-genesis-programs = { path = "../genesis-programs", version = "1.1.23" }
solana-ledger = { path = "../ledger", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-runtime = { path = "../runtime", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
solana-stake-program = { path = "../programs/stake", version = "1.1.23" }
solana-storage-program = { path = "../programs/storage", version = "1.1.23" }
solana-vest-program = { path = "../programs/vest", version = "1.1.23" }
solana-vote-program = { path = "../programs/vote", version = "1.1.23" }
tempfile = "3.1.0"
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "1.1.21" }
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "1.1.23" }
[dev-dependencies]
assert_matches = "1.3.0"

View File

@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-log-analyzer"
description = "The solana cluster network analysis tool"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -14,8 +14,8 @@ byte-unit = "3.0.3"
clap = "2.33.0"
serde = "1.0.105"
serde_json = "1.0.48"
solana-clap-utils = { path = "../clap-utils", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-clap-utils = { path = "../clap-utils", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
[[bin]]
name = "solana-log-analyzer"

View File

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

View File

@@ -1,7 +1,7 @@
[package]
name = "solana-measure"
description = "Blockchain, Rebuilt for Scale"
version = "1.1.21"
version = "1.1.23"
documentation = "https://docs.rs/solana"
homepage = "https://solana.com/"
readme = "../README.md"
@@ -12,8 +12,8 @@ edition = "2018"
[dependencies]
log = "0.4.8"
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-metrics = { path = "../metrics", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
solana-metrics = { path = "../metrics", version = "1.1.23" }
[target."cfg(unix)".dependencies]
jemallocator = "0.3.2"

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-merkle-tree"
version = "1.1.21"
version = "1.1.23"
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 = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
fast-math = "0.1"
[dev-dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-metrics"
version = "1.1.21"
version = "1.1.23"
description = "Solana Metrics"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -14,7 +14,7 @@ gethostname = "0.2.1"
lazy_static = "1.4.0"
log = "0.4.8"
reqwest = { version = "0.10.4", default-features = false, features = ["blocking", "rustls-tls", "json"] }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
[dev-dependencies]
rand = "0.7.0"

View File

@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-net-shaper"
description = "The solana cluster network shaping tool"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -13,8 +13,8 @@ publish = false
clap = "2.33.0"
serde = "1.0.105"
serde_json = "1.0.48"
solana-clap-utils = { path = "../clap-utils", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-clap-utils = { path = "../clap-utils", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
rand = "0.7.0"
[[bin]]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-net-utils"
version = "1.1.21"
version = "1.1.23"
description = "Solana Network Utilities"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -18,8 +18,8 @@ rand = "0.7.0"
serde = "1.0.105"
serde_derive = "1.0.103"
socket2 = "0.3.11"
solana-clap-utils = { path = "../clap-utils", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-clap-utils = { path = "../clap-utils", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
tokio = "0.1"
tokio-codec = "0.1"

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-perf"
version = "1.1.21"
version = "1.1.23"
description = "Solana Performance APIs"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -17,11 +17,11 @@ serde = "1.0.105"
dlopen_derive = "0.1.4"
lazy_static = "1.4.0"
log = "0.4.8"
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "1.1.21" }
solana-budget-program = { path = "../programs/budget", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-metrics = { path = "../metrics", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "1.1.23" }
solana-budget-program = { path = "../programs/budget", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-metrics = { path = "../metrics", version = "1.1.23" }
[lib]
name = "solana_perf"

View File

@@ -1546,7 +1546,7 @@ dependencies = [
[[package]]
name = "solana-bpf-loader-program"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"bincode",
"byteorder 1.3.4",
@@ -1562,7 +1562,7 @@ dependencies = [
[[package]]
name = "solana-bpf-programs"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"bincode",
"byteorder 1.3.4",
@@ -1577,7 +1577,7 @@ dependencies = [
[[package]]
name = "solana-bpf-rust-128bit"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"solana-bpf-rust-128bit-dep",
"solana-sdk",
@@ -1586,7 +1586,7 @@ dependencies = [
[[package]]
name = "solana-bpf-rust-128bit-dep"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"solana-sdk",
"solana-sdk-bpf-test",
@@ -1594,7 +1594,7 @@ dependencies = [
[[package]]
name = "solana-bpf-rust-alloc"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"solana-sdk",
"solana-sdk-bpf-test",
@@ -1602,7 +1602,7 @@ dependencies = [
[[package]]
name = "solana-bpf-rust-dep-crate"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"byteorder 1.3.4",
"solana-sdk",
@@ -1611,7 +1611,7 @@ dependencies = [
[[package]]
name = "solana-bpf-rust-dup-accounts"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"solana-sdk",
"solana-sdk-bpf-test",
@@ -1619,7 +1619,7 @@ dependencies = [
[[package]]
name = "solana-bpf-rust-error-handling"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"num-derive 0.2.5",
"num-traits",
@@ -1630,7 +1630,7 @@ dependencies = [
[[package]]
name = "solana-bpf-rust-external-spend"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"solana-sdk",
"solana-sdk-bpf-test",
@@ -1638,7 +1638,7 @@ dependencies = [
[[package]]
name = "solana-bpf-rust-iter"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"solana-sdk",
"solana-sdk-bpf-test",
@@ -1646,7 +1646,7 @@ dependencies = [
[[package]]
name = "solana-bpf-rust-many-args"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"solana-bpf-rust-many-args-dep",
"solana-sdk",
@@ -1655,7 +1655,7 @@ dependencies = [
[[package]]
name = "solana-bpf-rust-many-args-dep"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"solana-sdk",
"solana-sdk-bpf-test",
@@ -1663,7 +1663,7 @@ dependencies = [
[[package]]
name = "solana-bpf-rust-noop"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"solana-sdk",
"solana-sdk-bpf-test",
@@ -1671,7 +1671,7 @@ dependencies = [
[[package]]
name = "solana-bpf-rust-panic"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"solana-sdk",
"solana-sdk-bpf-test",
@@ -1679,7 +1679,7 @@ dependencies = [
[[package]]
name = "solana-bpf-rust-param-passing"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"solana-bpf-rust-param-passing-dep",
"solana-sdk",
@@ -1688,7 +1688,7 @@ dependencies = [
[[package]]
name = "solana-bpf-rust-param-passing-dep"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"solana-sdk",
"solana-sdk-bpf-test",
@@ -1696,7 +1696,7 @@ dependencies = [
[[package]]
name = "solana-bpf-rust-sysval"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"solana-sdk",
"solana-sdk-bpf-test",
@@ -1704,7 +1704,7 @@ dependencies = [
[[package]]
name = "solana-config-program"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"bincode",
"chrono",
@@ -1716,7 +1716,7 @@ dependencies = [
[[package]]
name = "solana-crate-features"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"backtrace",
"bytes 0.4.12",
@@ -1739,7 +1739,7 @@ dependencies = [
[[package]]
name = "solana-logger"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"env_logger",
"lazy_static",
@@ -1748,7 +1748,7 @@ dependencies = [
[[package]]
name = "solana-measure"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"jemalloc-ctl",
"jemallocator",
@@ -1759,7 +1759,7 @@ dependencies = [
[[package]]
name = "solana-metrics"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"env_logger",
"gethostname",
@@ -1771,7 +1771,7 @@ dependencies = [
[[package]]
name = "solana-rayon-threadlimit"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"lazy_static",
"num_cpus",
@@ -1779,7 +1779,7 @@ dependencies = [
[[package]]
name = "solana-runtime"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"bincode",
"bv",
@@ -1815,7 +1815,7 @@ dependencies = [
[[package]]
name = "solana-sdk"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"assert_matches",
"bincode",
@@ -1848,11 +1848,11 @@ dependencies = [
[[package]]
name = "solana-sdk-bpf-test"
version = "1.1.20"
version = "1.1.23"
[[package]]
name = "solana-sdk-macro"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"bs58",
"proc-macro2 1.0.18",
@@ -1862,7 +1862,7 @@ dependencies = [
[[package]]
name = "solana-stake-program"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"bincode",
"log",
@@ -1879,7 +1879,7 @@ dependencies = [
[[package]]
name = "solana-storage-program"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"bincode",
"log",
@@ -1894,7 +1894,7 @@ dependencies = [
[[package]]
name = "solana-vote-program"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"bincode",
"log",

View File

@@ -1,7 +1,7 @@
[package]
name = "solana-bpf-programs"
description = "Blockchain, Rebuilt for Scale"
version = "1.1.21"
version = "1.1.23"
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-program = { path = "../bpf_loader", version = "1.1.21" }
solana-logger = { path = "../../logger", version = "1.1.21" }
solana-runtime = { path = "../../runtime", version = "1.1.21" }
solana-sdk = { path = "../../sdk", version = "1.1.21" }
solana-bpf-loader-program = { path = "../bpf_loader", version = "1.1.23" }
solana-logger = { path = "../../logger", version = "1.1.23" }
solana-runtime = { path = "../../runtime", version = "1.1.23" }
solana-sdk = { path = "../../sdk", version = "1.1.23" }
solana_rbpf = "=0.1.28"
[[bench]]

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-128bit"
version = "1.1.21"
version = "1.1.23"
description = "Solana BPF test program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -12,11 +12,11 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk = { path = "../../../../sdk/", version = "1.1.21", default-features = false }
solana-bpf-rust-128bit-dep = { path = "../128bit_dep", version = "1.1.21" }
solana-sdk = { path = "../../../../sdk/", version = "1.1.23", default-features = false }
solana-bpf-rust-128bit-dep = { path = "../128bit_dep", version = "1.1.23" }
[dev_dependencies]
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.21" }
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.23" }
[features]
program = ["solana-sdk/program"]

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-128bit-dep"
version = "1.1.21"
version = "1.1.23"
description = "Solana BPF test program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -12,10 +12,10 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk = { path = "../../../../sdk/", version = "1.1.21", default-features = false }
solana-sdk = { path = "../../../../sdk/", version = "1.1.23", default-features = false }
[dev_dependencies]
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.21" }
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.23" }
[features]
program = ["solana-sdk/program"]

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-alloc"
version = "1.1.21"
version = "1.1.23"
description = "Solana BPF test program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -12,10 +12,10 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk = { path = "../../../../sdk/", version = "1.1.21", default-features = false }
solana-sdk = { path = "../../../../sdk/", version = "1.1.23", default-features = false }
[dev_dependencies]
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.21" }
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.23" }
[features]
program = ["solana-sdk/program"]

View File

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

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-dup-accounts"
version = "1.1.21"
version = "1.1.23"
description = "Solana BPF test program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -12,10 +12,10 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk = { path = "../../../../sdk/", version = "1.1.21", default-features = false }
solana-sdk = { path = "../../../../sdk/", version = "1.1.23", default-features = false }
[dev_dependencies]
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.21" }
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.23" }
[features]
program = ["solana-sdk/program"]

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-error-handling"
version = "1.1.21"
version = "1.1.23"
description = "Solana BPF test program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -14,11 +14,11 @@ edition = "2018"
[dependencies]
num-derive = "0.2"
num-traits = "0.2"
solana-sdk = { path = "../../../../sdk/", version = "1.1.21", default-features = false }
solana-sdk = { path = "../../../../sdk/", version = "1.1.23", default-features = false }
thiserror = "1.0"
[dev_dependencies]
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.21" }
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.23" }
[features]
program = ["solana-sdk/program"]

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-external-spend"
version = "1.1.21"
version = "1.1.23"
description = "Solana BPF test program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -12,10 +12,10 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk = { path = "../../../../sdk/", version = "1.1.21", default-features = false }
solana-sdk = { path = "../../../../sdk/", version = "1.1.23", default-features = false }
[dev_dependencies]
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.21" }
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.23" }
[features]
program = ["solana-sdk/program"]

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-iter"
version = "1.1.21"
version = "1.1.23"
description = "Solana BPF test program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -12,10 +12,10 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk = { path = "../../../../sdk/", version = "1.1.21", default-features = false }
solana-sdk = { path = "../../../../sdk/", version = "1.1.23", default-features = false }
[dev_dependencies]
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.21" }
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.23" }
[features]
program = ["solana-sdk/program"]

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-many-args"
version = "1.1.21"
version = "1.1.23"
description = "Solana BPF test program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -12,11 +12,11 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk = { path = "../../../../sdk/", version = "1.1.21", default-features = false }
solana-bpf-rust-many-args-dep = { path = "../many_args_dep", version = "1.1.21" }
solana-sdk = { path = "../../../../sdk/", version = "1.1.23", default-features = false }
solana-bpf-rust-many-args-dep = { path = "../many_args_dep", version = "1.1.23" }
[dev_dependencies]
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.21" }
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.23" }
[features]
program = ["solana-sdk/program"]

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-many-args-dep"
version = "1.1.21"
version = "1.1.23"
description = "Solana BPF test program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -12,10 +12,10 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk = { path = "../../../../sdk/", version = "1.1.21", default-features = false }
solana-sdk = { path = "../../../../sdk/", version = "1.1.23", default-features = false }
[dev_dependencies]
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.21" }
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.23" }
[features]
program = ["solana-sdk/program"]

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-noop"
version = "1.1.21"
version = "1.1.23"
description = "Solana BPF test program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -12,10 +12,10 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk = { path = "../../../../sdk/", version = "1.1.21", default-features = false }
solana-sdk = { path = "../../../../sdk/", version = "1.1.23", default-features = false }
[dev_dependencies]
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.21" }
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.23" }
[features]
program = ["solana-sdk/program"]

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-panic"
version = "1.1.21"
version = "1.1.23"
description = "Solana BPF test program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -12,10 +12,10 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk = { path = "../../../../sdk/", version = "1.1.21", default-features = false }
solana-sdk = { path = "../../../../sdk/", version = "1.1.23", default-features = false }
[dev_dependencies]
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.21" }
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.23" }
[features]
program = ["solana-sdk/program"]

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-param-passing"
version = "1.1.21"
version = "1.1.23"
description = "Solana BPF test program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -12,11 +12,11 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk = { path = "../../../../sdk/", version = "1.1.21", default-features = false }
solana-bpf-rust-param-passing-dep = { path = "../param_passing_dep", version = "1.1.21" }
solana-sdk = { path = "../../../../sdk/", version = "1.1.23", default-features = false }
solana-bpf-rust-param-passing-dep = { path = "../param_passing_dep", version = "1.1.23" }
[dev_dependencies]
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.21" }
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.23" }
[features]
program = ["solana-sdk/program"]

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-param-passing-dep"
version = "1.1.21"
version = "1.1.23"
description = "Solana BPF program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -12,10 +12,10 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk = { path = "../../../../sdk/", version = "1.1.21", default-features = false }
solana-sdk = { path = "../../../../sdk/", version = "1.1.23", default-features = false }
[dev_dependencies]
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.21" }
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.23" }
[features]
program = ["solana-sdk/program"]

View File

@@ -3,7 +3,7 @@
[package]
name = "solana-bpf-rust-sysval"
version = "1.1.21"
version = "1.1.23"
description = "Solana BPF test program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -12,10 +12,10 @@ homepage = "https://solana.com/"
edition = "2018"
[dependencies]
solana-sdk = { path = "../../../../sdk/", version = "1.1.21", default-features = false }
solana-sdk = { path = "../../../../sdk/", version = "1.1.23", default-features = false }
[dev_dependencies]
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.21" }
solana-sdk-bpf-test = { path = "../../../../sdk/bpf/rust/test", version = "1.1.23" }
[features]
program = ["solana-sdk/program"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-bpf-loader-program"
version = "1.1.21"
version = "1.1.23"
description = "Solana BPF loader"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -15,8 +15,8 @@ libc = "0.2.68"
log = "0.4.8"
num-derive = { version = "0.3" }
num-traits = { version = "0.2" }
solana-logger = { path = "../../logger", version = "1.1.21" }
solana-sdk = { path = "../../sdk", version = "1.1.21" }
solana-logger = { path = "../../logger", version = "1.1.23" }
solana-sdk = { path = "../../sdk", version = "1.1.23" }
solana_rbpf = "=0.1.28"
thiserror = "1.0"

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-btc-spv-program"
version = "1.1.21"
version = "1.1.23"
description = "Solana Bitcoin spv parsing program"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -15,7 +15,7 @@ num-derive = "0.3"
num-traits = "0.2"
serde = "1.0.105"
serde_derive = "1.0.103"
solana-sdk = { path = "../../sdk", version = "1.1.21"}
solana-sdk = { path = "../../sdk", version = "1.1.23"}
hex = "0.4.2"
[lib]

View File

@@ -1,6 +1,6 @@
[package]
name = "btc_spv_bin"
version = "1.1.21"
version = "1.1.23"
description = "Solana Bitcoin spv parsing program"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-budget-program"
version = "1.1.21"
version = "1.1.23"
description = "Solana Budget program"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -16,11 +16,11 @@ num-derive = "0.3"
num-traits = "0.2"
serde = "1.0.105"
serde_derive = "1.0.103"
solana-sdk = { path = "../../sdk", version = "1.1.21" }
solana-sdk = { path = "../../sdk", version = "1.1.23" }
thiserror = "1.0"
[dev-dependencies]
solana-runtime = { path = "../../runtime", version = "1.1.21" }
solana-runtime = { path = "../../runtime", version = "1.1.23" }
[lib]
crate-type = ["lib", "cdylib"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-config-program"
version = "1.1.21"
version = "1.1.23"
description = "Solana Config program"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -14,10 +14,10 @@ chrono = { version = "0.4.11", features = ["serde"] }
log = "0.4.8"
serde = "1.0.105"
serde_derive = "1.0.103"
solana-sdk = { path = "../../sdk", version = "1.1.21" }
solana-sdk = { path = "../../sdk", version = "1.1.23" }
[dev-dependencies]
solana-logger = { path = "../../logger", version = "1.1.21" }
solana-logger = { path = "../../logger", version = "1.1.23" }
[lib]
crate-type = ["lib"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-exchange-program"
version = "1.1.21"
version = "1.1.23"
description = "Solana Exchange program"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -15,13 +15,13 @@ num-derive = { version = "0.3" }
num-traits = { version = "0.2" }
serde = "1.0.105"
serde_derive = "1.0.103"
solana-logger = { path = "../../logger", version = "1.1.21" }
solana-metrics = { path = "../../metrics", version = "1.1.21" }
solana-sdk = { path = "../../sdk", version = "1.1.21" }
solana-logger = { path = "../../logger", version = "1.1.23" }
solana-metrics = { path = "../../metrics", version = "1.1.23" }
solana-sdk = { path = "../../sdk", version = "1.1.23" }
thiserror = "1.0"
[dev-dependencies]
solana-runtime = { path = "../../runtime", version = "1.1.21" }
solana-runtime = { path = "../../runtime", version = "1.1.23" }
[lib]
crate-type = ["lib", "cdylib"]

View File

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

View File

@@ -2373,7 +2373,7 @@ dependencies = [
[[package]]
name = "solana-bpf-loader-program"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2381,27 +2381,27 @@ dependencies = [
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
"num-derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 1.1.20",
"solana-sdk 1.1.20",
"solana-logger 1.1.23",
"solana-sdk 1.1.23",
"solana_rbpf 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
"thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "solana-config-program"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"chrono 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-sdk 1.1.20",
"solana-sdk 1.1.23",
]
[[package]]
name = "solana-crate-features"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"backtrace 0.3.49 (registry+https://github.com/rust-lang/crates.io-index)",
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2424,20 +2424,20 @@ dependencies = [
[[package]]
name = "solana-librapay"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 1.1.20",
"solana-move-loader-program 1.1.20",
"solana-runtime 1.1.20",
"solana-sdk 1.1.20",
"solana-logger 1.1.23",
"solana-move-loader-program 1.1.23",
"solana-runtime 1.1.23",
"solana-sdk 1.1.23",
"solana_libra_types 0.0.1-sol5 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "solana-logger"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2446,30 +2446,30 @@ dependencies = [
[[package]]
name = "solana-measure"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"jemalloc-ctl 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
"jemallocator 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-metrics 1.1.20",
"solana-sdk 1.1.20",
"solana-metrics 1.1.23",
"solana-sdk 1.1.23",
]
[[package]]
name = "solana-metrics"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gethostname 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
"reqwest 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-sdk 1.1.20",
"solana-sdk 1.1.23",
]
[[package]]
name = "solana-move-loader-program"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"indexmap 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2480,8 +2480,8 @@ dependencies = [
"serde_bytes 0.11.5 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 1.0.55 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 1.1.20",
"solana-sdk 1.1.20",
"solana-logger 1.1.23",
"solana-sdk 1.1.23",
"solana_libra_bytecode_verifier 0.0.1-sol5 (registry+https://github.com/rust-lang/crates.io-index)",
"solana_libra_canonical_serialization 0.0.1-sol5 (registry+https://github.com/rust-lang/crates.io-index)",
"solana_libra_compiler 0.0.1-sol5 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2498,7 +2498,7 @@ dependencies = [
[[package]]
name = "solana-rayon-threadlimit"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"num_cpus 1.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2506,7 +2506,7 @@ dependencies = [
[[package]]
name = "solana-runtime"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"bv 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2526,23 +2526,23 @@ dependencies = [
"rayon 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-bpf-loader-program 1.1.20",
"solana-config-program 1.1.20",
"solana-logger 1.1.20",
"solana-measure 1.1.20",
"solana-metrics 1.1.20",
"solana-rayon-threadlimit 1.1.20",
"solana-sdk 1.1.20",
"solana-stake-program 1.1.20",
"solana-storage-program 1.1.20",
"solana-vote-program 1.1.20",
"solana-bpf-loader-program 1.1.23",
"solana-config-program 1.1.23",
"solana-logger 1.1.23",
"solana-measure 1.1.23",
"solana-metrics 1.1.23",
"solana-rayon-threadlimit 1.1.23",
"solana-sdk 1.1.23",
"solana-stake-program 1.1.23",
"solana-storage-program 1.1.23",
"solana-vote-program 1.1.23",
"tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "solana-sdk"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2567,15 +2567,15 @@ dependencies = [
"serde_derive 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 1.0.55 (registry+https://github.com/rust-lang/crates.io-index)",
"sha2 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-crate-features 1.1.20",
"solana-logger 1.1.20",
"solana-sdk-macro 1.1.20",
"solana-crate-features 1.1.23",
"solana-logger 1.1.23",
"solana-sdk-macro 1.1.23",
"thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "solana-sdk-macro"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"bs58 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2585,7 +2585,7 @@ dependencies = [
[[package]]
name = "solana-stake-program"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2593,16 +2593,16 @@ dependencies = [
"num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-config-program 1.1.20",
"solana-metrics 1.1.20",
"solana-sdk 1.1.20",
"solana-vote-program 1.1.20",
"solana-config-program 1.1.23",
"solana-metrics 1.1.23",
"solana-sdk 1.1.23",
"solana-vote-program 1.1.23",
"thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "solana-storage-program"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2611,13 +2611,13 @@ dependencies = [
"rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-logger 1.1.20",
"solana-sdk 1.1.20",
"solana-logger 1.1.23",
"solana-sdk 1.1.23",
]
[[package]]
name = "solana-vote-program"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2625,8 +2625,8 @@ dependencies = [
"num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.112 (registry+https://github.com/rust-lang/crates.io-index)",
"solana-metrics 1.1.20",
"solana-sdk 1.1.20",
"solana-metrics 1.1.23",
"solana-sdk 1.1.23",
"thiserror 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-librapay"
version = "1.1.21"
version = "1.1.23"
description = "Solana Libra Payment"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -11,10 +11,10 @@ edition = "2018"
[dependencies]
bincode = "1.2.0"
log = "0.4.8"
solana-logger = { path = "../../logger", version = "1.1.21" }
solana-move-loader-program = { path = "../move_loader", version = "1.1.21" }
solana-runtime = { path = "../../runtime", version = "1.1.21" }
solana-sdk = { path = "../../sdk", version = "1.1.21" }
solana-logger = { path = "../../logger", version = "1.1.23" }
solana-move-loader-program = { path = "../move_loader", version = "1.1.23" }
solana-runtime = { path = "../../runtime", version = "1.1.23" }
solana-sdk = { path = "../../sdk", version = "1.1.23" }
types = { version = "0.0.1-sol4", package = "solana_libra_types" }
[lib]

View File

@@ -2504,7 +2504,7 @@ dependencies = [
[[package]]
name = "solana-crate-features"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"backtrace",
"bytes 0.4.12",
@@ -2527,7 +2527,7 @@ dependencies = [
[[package]]
name = "solana-logger"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"env_logger",
"lazy_static",
@@ -2536,7 +2536,7 @@ dependencies = [
[[package]]
name = "solana-move-loader-program"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"bincode",
"indexmap",
@@ -2565,7 +2565,7 @@ dependencies = [
[[package]]
name = "solana-sdk"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"assert_matches",
"bincode",
@@ -2598,7 +2598,7 @@ dependencies = [
[[package]]
name = "solana-sdk-macro"
version = "1.1.20"
version = "1.1.23"
dependencies = [
"bs58 0.3.1",
"proc-macro2 1.0.18",

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-move-loader-program"
version = "1.1.21"
version = "1.1.23"
description = "Solana Move loader"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -16,8 +16,8 @@ serde = "1.0.104"
serde_bytes = "0.11"
serde_derive = "1.0.103"
serde_json = "1.0.46"
solana-logger = { path = "../../logger", version = "1.1.21" }
solana-sdk = { path = "../../sdk", version = "1.1.21" }
solana-logger = { path = "../../logger", version = "1.1.23" }
solana-sdk = { path = "../../sdk", version = "1.1.23" }
bytecode_verifier = { version = "0.0.1-sol4", package = "solana_libra_bytecode_verifier" }
canonical_serialization = { version = "0.0.1-sol4", package = "solana_libra_canonical_serialization" }

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-noop-program"
version = "1.1.21"
version = "1.1.23"
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.8"
solana-logger = { path = "../../logger", version = "1.1.21" }
solana-sdk = { path = "../../sdk", version = "1.1.21" }
solana-logger = { path = "../../logger", version = "1.1.23" }
solana-sdk = { path = "../../sdk", version = "1.1.23" }
[lib]
crate-type = ["lib", "cdylib"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-ownable"
version = "1.1.21"
version = "1.1.23"
description = "ownable program"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -10,13 +10,13 @@ edition = "2018"
[dependencies]
bincode = "1.2.1"
solana-sdk = { path = "../../sdk", version = "1.1.21" }
solana-sdk = { path = "../../sdk", version = "1.1.23" }
num-derive = "0.3"
num-traits = "0.2"
thiserror = "1.0"
[dev-dependencies]
solana-runtime = { path = "../../runtime", version = "1.1.21" }
solana-runtime = { path = "../../runtime", version = "1.1.23" }
[lib]
crate-type = ["lib", "cdylib"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-stake-program"
version = "1.1.21"
version = "1.1.23"
description = "Solana Stake program"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -15,14 +15,14 @@ num-derive = "0.3"
num-traits = "0.2"
serde = "1.0.105"
serde_derive = "1.0.103"
solana-metrics = { path = "../../metrics", version = "1.1.21" }
solana-sdk = { path = "../../sdk", version = "1.1.21" }
solana-vote-program = { path = "../vote", version = "1.1.21" }
solana-config-program = { path = "../config", version = "1.1.21" }
solana-metrics = { path = "../../metrics", version = "1.1.23" }
solana-sdk = { path = "../../sdk", version = "1.1.23" }
solana-vote-program = { path = "../vote", version = "1.1.23" }
solana-config-program = { path = "../config", version = "1.1.23" }
thiserror = "1.0"
[dev-dependencies]
solana-logger = { path = "../../logger", version = "1.1.21" }
solana-logger = { path = "../../logger", version = "1.1.23" }
[lib]
crate-type = ["lib"]

View File

@@ -208,7 +208,7 @@ impl Delegation {
}
#[allow(clippy::comparison_chain)]
fn stake_activating_and_deactivating(
pub fn stake_activating_and_deactivating(
&self,
epoch: Epoch,
history: Option<&StakeHistory>,

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-storage-program"
version = "1.1.21"
version = "1.1.23"
description = "Solana Storage program"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -16,8 +16,8 @@ num-derive = "0.3"
num-traits = "0.2"
serde = "1.0.105"
serde_derive = "1.0.103"
solana-logger = { path = "../../logger", version = "1.1.21" }
solana-sdk = { path = "../../sdk", version = "1.1.21" }
solana-logger = { path = "../../logger", version = "1.1.23" }
solana-sdk = { path = "../../sdk", version = "1.1.23" }
[dev-dependencies]
assert_matches = "1.3.0"

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-vest-program"
version = "1.1.21"
version = "1.1.23"
description = "Solana Vest program"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -15,12 +15,12 @@ num-derive = "0.2"
num-traits = "0.2"
serde = "1.0.105"
serde_derive = "1.0.103"
solana-sdk = { path = "../../sdk", version = "1.1.21" }
solana-config-program = { path = "../config", version = "1.1.21" }
solana-sdk = { path = "../../sdk", version = "1.1.23" }
solana-config-program = { path = "../config", version = "1.1.23" }
thiserror = "1.0"
[dev-dependencies]
solana-runtime = { path = "../../runtime", version = "1.1.21" }
solana-runtime = { path = "../../runtime", version = "1.1.23" }
[lib]
crate-type = ["lib"]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-vote-program"
version = "1.1.21"
version = "1.1.23"
description = "Solana Vote program"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -15,8 +15,8 @@ num-derive = "0.3"
num-traits = "0.2"
serde = "1.0.105"
serde_derive = "1.0.103"
solana-metrics = { path = "../../metrics", version = "1.1.21" }
solana-sdk = { path = "../../sdk", version = "1.1.21" }
solana-metrics = { path = "../../metrics", version = "1.1.23" }
solana-sdk = { path = "../../sdk", version = "1.1.23" }
thiserror = "1.0"
[lib]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-rayon-threadlimit"
version = "1.1.21"
version = "1.1.23"
description = "solana-rayon-threadlimit"
homepage = "https://solana.com/"
readme = "../README.md"

View File

@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-remote-wallet"
description = "Blockchain, Rebuilt for Scale"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -18,7 +18,7 @@ num-derive = { version = "0.3" }
num-traits = { version = "0.2" }
parking_lot = "0.10"
semver = "0.9"
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
thiserror = "1.0"
url = "2.1.1"

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-runtime"
version = "1.1.21"
version = "1.1.23"
description = "Solana runtime"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -27,16 +27,16 @@ rand = "0.7.0"
rayon = "1.3.0"
serde = { version = "1.0.105", features = ["rc"] }
serde_derive = "1.0.103"
solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "1.1.21" }
solana-config-program = { path = "../programs/config", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-measure = { path = "../measure", version = "1.1.21" }
solana-metrics = { path = "../metrics", version = "1.1.21" }
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-stake-program = { path = "../programs/stake", version = "1.1.21" }
solana-storage-program = { path = "../programs/storage", version = "1.1.21" }
solana-vote-program = { path = "../programs/vote", version = "1.1.21" }
solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "1.1.23" }
solana-config-program = { path = "../programs/config", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-measure = { path = "../measure", version = "1.1.23" }
solana-metrics = { path = "../metrics", version = "1.1.23" }
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
solana-stake-program = { path = "../programs/stake", version = "1.1.23" }
solana-storage-program = { path = "../programs/storage", version = "1.1.23" }
solana-vote-program = { path = "../programs/vote", version = "1.1.23" }
tempfile = "3.1.0"
thiserror = "1.0"
@@ -46,7 +46,7 @@ name = "solana_runtime"
[dev-dependencies]
assert_matches = "1.3.0"
solana-noop-program = { path = "../programs/noop", version = "1.1.21" }
solana-noop-program = { path = "../programs/noop", version = "1.1.23" }
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]

View File

@@ -50,7 +50,7 @@ use std::{
ops::RangeBounds,
path::{Path, PathBuf},
sync::atomic::{AtomicBool, AtomicU64, AtomicUsize, Ordering},
sync::{Arc, Mutex, RwLock},
sync::{Arc, Mutex, MutexGuard, RwLock},
};
use tempfile::TempDir;
@@ -795,6 +795,11 @@ impl AccountsDB {
// Only remove those accounts where the entire rooted history of the account
// can be purged because there are no live append vecs in the ancestors
pub fn clean_accounts(&self) {
// hold a lock to prevent slot shrinking from running because it might modify some rooted
// slot storages which can not happen as long as we're cleaning accounts because we're also
// modifying the rooted slot storages!
let _candidates = self.shrink_candidate_slots.lock().unwrap();
self.report_store_stats();
let no_ancestors = HashMap::new();
@@ -951,7 +956,7 @@ impl AccountsDB {
// Reads all accounts in given slot's AppendVecs and filter only to alive,
// then create a minimum AppendVed filled with the alive.
fn shrink_stale_slot(&self, slot: Slot) {
fn do_shrink_stale_slot(&self, slot: Slot) -> usize {
trace!("shrink_stale_slot: slot: {}", slot);
let mut stored_accounts = vec![];
@@ -979,7 +984,7 @@ impl AccountsDB {
alive_count,
stored_accounts.len()
);
return;
return 0;
}
}
}
@@ -1022,7 +1027,7 @@ impl AccountsDB {
let mut hashes = Vec::with_capacity(alive_accounts.len());
let mut write_versions = Vec::with_capacity(alive_accounts.len());
for (pubkey, account, _size, _location, write_version) in alive_accounts {
for (pubkey, account, _size, _location, write_version) in &alive_accounts {
accounts.push((pubkey, account));
hashes.push(account.hash);
write_versions.push(*write_version);
@@ -1049,28 +1054,39 @@ impl AccountsDB {
slot_storage.retain(|_key, store| store.count() > 0);
}
}
alive_accounts.len()
}
fn shrink_stale_slot(&self, candidates: &mut MutexGuard<Vec<Slot>>) -> usize {
if let Some(slot) = self.do_next_shrink_slot(candidates) {
self.do_shrink_stale_slot(slot)
} else {
0
}
}
// Infinitely returns rooted roots in cyclic order
fn next_shrink_slot(&self) -> Option<Slot> {
let next = {
let mut candidates = self.shrink_candidate_slots.lock().unwrap();
candidates.pop()
};
fn do_next_shrink_slot(&self, candidates: &mut MutexGuard<Vec<Slot>>) -> Option<Slot> {
let next = candidates.pop();
if next.is_some() {
next
} else {
let mut new_all_slots = self.all_root_slots_in_index();
let next = new_all_slots.pop();
let mut candidates = self.shrink_candidate_slots.lock().unwrap();
*candidates = new_all_slots;
**candidates = new_all_slots;
next
}
}
#[cfg(test)]
fn next_shrink_slot(&self) -> Option<Slot> {
let mut candidates = self.shrink_candidate_slots.lock().unwrap();
self.do_next_shrink_slot(&mut candidates)
}
fn all_root_slots_in_index(&self) -> Vec<Slot> {
let index = self.accounts_index.read().unwrap();
index.roots.iter().cloned().collect()
@@ -1081,15 +1097,27 @@ impl AccountsDB {
storage.0.keys().cloned().collect()
}
pub fn process_stale_slot(&self) {
if let Some(slot) = self.next_shrink_slot() {
self.shrink_stale_slot(slot);
pub fn process_stale_slot(&self) -> usize {
let mut measure = Measure::start("stale_slot_shrink-ms");
let candidates = self.shrink_candidate_slots.try_lock();
if candidates.is_err() {
// skip and return immediately if locked by clean_accounts()
// the calling background thread will just retry later.
return 0;
}
// hold this lock as long as this shrinking process is running to avoid conflicts
// with clean_accounts().
let mut candidates = candidates.unwrap();
let count = self.shrink_stale_slot(&mut candidates);
measure.stop();
inc_new_counter_info!("stale_slot_shrink-ms", measure.as_ms() as usize);
count
}
pub fn shrink_all_stale_slots(&self) {
for slot in self.all_slots_in_storage() {
self.shrink_stale_slot(slot);
self.do_shrink_stale_slot(slot);
}
}
@@ -4016,4 +4044,57 @@ pub mod tests {
assert!(store_counts[&x] >= 1);
}
}
#[test]
fn test_shrink_and_clean() {
solana_logger::setup();
// repeat the whole test scenario
for _ in 0..5 {
let accounts = Arc::new(AccountsDB::new_single());
let accounts_for_shrink = accounts.clone();
// spawn the slot shrinking background thread
let exit = Arc::new(AtomicBool::default());
let exit_for_shrink = exit.clone();
let shrink_thread = std::thread::spawn(move || loop {
if exit_for_shrink.load(Ordering::Relaxed) {
break;
}
accounts_for_shrink.process_stale_slot();
});
let mut alive_accounts = vec![];
let owner = Pubkey::default();
// populate the AccountsDB with plenty of food for slot shrinking
// also this simulates realistic some heavy spike account updates in the wild
for current_slot in 0..1000 {
while alive_accounts.len() <= 10 {
alive_accounts.push((
Pubkey::new_rand(),
Account::new(thread_rng().gen_range(0, 50), 0, &owner),
));
}
alive_accounts.retain(|(_pubkey, account)| account.lamports >= 1);
for (pubkey, account) in alive_accounts.iter_mut() {
account.lamports -= 1;
accounts.store(current_slot, &[(&pubkey, &account)]);
}
accounts.add_root(current_slot);
}
// let's dance.
for _ in 0..10 {
accounts.clean_accounts();
std::thread::sleep(std::time::Duration::from_millis(100));
}
// cleanup
exit.store(true, Ordering::Relaxed);
shrink_thread.join().unwrap();
}
}
}

View File

@@ -1320,7 +1320,7 @@ impl Bank {
#[cfg(not(test))]
OperatingMode::Development => false,
OperatingMode::Preview => false,
OperatingMode::Stable => self.epoch == Epoch::max_value(),
OperatingMode::Stable => self.epoch == 61,
}
}
@@ -2714,8 +2714,8 @@ impl Bank {
self.rc.accounts.accounts_db.process_dead_slots();
}
pub fn process_stale_slot(&self) {
self.rc.accounts.accounts_db.process_stale_slot();
pub fn process_stale_slot(&self) -> usize {
self.rc.accounts.accounts_db.process_stale_slot()
}
pub fn shrink_all_stale_slots(&self) {

View File

@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-scripts"
description = "Blockchain, Rebuilt for Scale"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-sdk-c"
version = "1.1.21"
version = "1.1.23"
description = "Solana SDK C"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -18,7 +18,7 @@ bs58 = "0.3.0"
libc = "0.2.68"
rand_chacha = "0.2.2"
rand_core = { version = "0.5", default-features = false }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
ed25519-dalek = "1.0.0-pre.3"
[build-dependencies]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-sdk"
version = "1.1.21"
version = "1.1.23"
description = "Solana SDK"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -50,9 +50,9 @@ serde_json = { version = "1.0.48", optional = true }
sha2 = "0.8.1"
thiserror = "1.0"
ed25519-dalek = { version = "=1.0.0-pre.3", optional = true }
solana-crate-features = { path = "../crate-features", version = "1.1.21", optional = true }
solana-logger = { path = "../logger", version = "1.1.21", optional = true }
solana-sdk-macro = { path = "macro", version = "1.1.21" }
solana-crate-features = { path = "../crate-features", version = "1.1.23", optional = true }
solana-logger = { path = "../logger", version = "1.1.23", optional = true }
solana-sdk-macro = { path = "macro", version = "1.1.23" }
[dev-dependencies]
tiny-bip39 = "0.7.0"

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-sdk-bpf-test"
version = "1.1.21"
version = "1.1.23"
description = "Solana BPF SDK test utilities"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"

View File

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

View File

@@ -3,22 +3,22 @@ name = "solana-stake-accounts"
description = "Blockchain, Rebuilt for Scale"
authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
[dependencies]
clap = "2.33.0"
solana-clap-utils = { path = "../clap-utils", version = "1.1.21" }
solana-cli-config = { path = "../cli-config", version = "1.1.21" }
solana-client = { path = "../client", version = "1.1.21" }
solana-remote-wallet = { path = "../remote-wallet", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-stake-program = { path = "../programs/stake", version = "1.1.21" }
solana-clap-utils = { path = "../clap-utils", version = "1.1.23" }
solana-cli-config = { path = "../cli-config", version = "1.1.23" }
solana-client = { path = "../client", version = "1.1.23" }
solana-remote-wallet = { path = "../remote-wallet", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
solana-stake-program = { path = "../programs/stake", version = "1.1.23" }
[dev-dependencies]
solana-runtime = { path = "../runtime", version = "1.1.21" }
solana-runtime = { path = "../runtime", version = "1.1.23" }
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]

View File

@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-stake-monitor"
description = "Blockchain, Rebuilt for Scale"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -14,20 +14,20 @@ console = "0.10.0"
log = "0.4.8"
serde = "1.0.105"
serde_yaml = "0.8.11"
solana-clap-utils = { path = "../clap-utils", version = "1.1.21" }
solana-cli-config = { path = "../cli-config", version = "1.1.21" }
solana-client = { path = "../client", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-metrics = { path = "../metrics", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-stake-program = { path = "../programs/stake", version = "1.1.21" }
solana-transaction-status = { path = "../transaction-status", version = "1.1.21" }
solana-clap-utils = { path = "../clap-utils", version = "1.1.23" }
solana-cli-config = { path = "../cli-config", version = "1.1.23" }
solana-client = { path = "../client", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-metrics = { path = "../metrics", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
solana-stake-program = { path = "../programs/stake", version = "1.1.23" }
solana-transaction-status = { path = "../transaction-status", version = "1.1.23" }
[dev-dependencies]
serial_test = "0.4.0"
serial_test_derive = "0.4.0"
solana-local-cluster = { path = "../local-cluster", version = "1.1.21" }
solana-core = { path = "../core", version = "1.1.21" }
solana-local-cluster = { path = "../local-cluster", version = "1.1.23" }
solana-core = { path = "../core", version = "1.1.23" }
tempfile = "3.1.0"
[[bin]]

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-streamer"
version = "1.1.21"
version = "1.1.23"
description = "Solana Streamer"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -10,14 +10,14 @@ edition = "2018"
[dependencies]
log = "0.4.8"
solana-metrics = { path = "../metrics", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-metrics = { path = "../metrics", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
thiserror = "1.0"
solana-measure = { path = "../measure", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-measure = { path = "../measure", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
libc = "0.2.68"
nix = "0.17.0"
solana-perf = { path = "../perf", version = "1.1.21" }
solana-perf = { path = "../perf", version = "1.1.23" }
[dev-dependencies]

View File

@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-sys-tuner"
description = "The solana cluster system tuner daemon"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -13,8 +13,8 @@ publish = true
clap = "2.33.0"
log = "0.4.8"
libc = "0.2.68"
solana-clap-utils = { path = "../clap-utils", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-clap-utils = { path = "../clap-utils", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
[target."cfg(unix)".dependencies]
unix_socket2 = "0.5.4"

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-transaction-status"
version = "1.1.21"
version = "1.1.23"
description = "Solana transaction status types"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -11,7 +11,7 @@ edition = "2018"
[dependencies]
bincode = "1.2.1"
bs58 = "0.3.0"
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
serde = "1.0.105"
serde_derive = "1.0.103"

View File

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

View File

@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-validator"
description = "Blockchain, Rebuilt for Scale"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -15,20 +15,20 @@ console = "0.10.0"
log = "0.4.8"
rand = "0.7.0"
serde_json = "1.0.48"
solana-clap-utils = { path = "../clap-utils", version = "1.1.21" }
solana-client = { path = "../client", version = "1.1.21" }
solana-core = { path = "../core", version = "1.1.21" }
solana-download-utils = { path = "../download-utils", version = "1.1.21" }
solana-faucet = { path = "../faucet", version = "1.1.21" }
solana-ledger = { path = "../ledger", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-perf = { path = "../perf", version = "1.1.21" }
solana-metrics = { path = "../metrics", version = "1.1.21" }
solana-net-utils = { path = "../net-utils", version = "1.1.21" }
solana-runtime = { path = "../runtime", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-vote-program = { path = "../programs/vote", version = "1.1.21" }
solana-vote-signer = { path = "../vote-signer", version = "1.1.21" }
solana-clap-utils = { path = "../clap-utils", version = "1.1.23" }
solana-client = { path = "../client", version = "1.1.23" }
solana-core = { path = "../core", version = "1.1.23" }
solana-download-utils = { path = "../download-utils", version = "1.1.23" }
solana-faucet = { path = "../faucet", version = "1.1.23" }
solana-ledger = { path = "../ledger", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-perf = { path = "../perf", version = "1.1.23" }
solana-metrics = { path = "../metrics", version = "1.1.23" }
solana-net-utils = { path = "../net-utils", version = "1.1.23" }
solana-runtime = { path = "../runtime", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
solana-vote-program = { path = "../programs/vote", version = "1.1.23" }
solana-vote-signer = { path = "../vote-signer", version = "1.1.23" }
[target."cfg(unix)".dependencies]
libc = "0.2.66"

View File

@@ -1,6 +1,6 @@
[package]
name = "solana-version"
version = "1.1.21"
version = "1.1.23"
description = "Solana Version"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
@@ -11,7 +11,7 @@ edition = "2018"
[dependencies]
serde = "1.0.105"
serde_derive = "1.0.103"
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
[lib]
name = "solana_version"

View File

@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-vote-signer"
description = "Solana Vote Signing Service"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -15,9 +15,9 @@ jsonrpc-derive = "14.0.5"
jsonrpc-http-server = "14.0.6"
log = "0.4.8"
serde_json = "1.0.48"
solana-clap-utils = { path = "../clap-utils", version = "1.1.21" }
solana-metrics = { path = "../metrics", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-clap-utils = { path = "../clap-utils", version = "1.1.23" }
solana-metrics = { path = "../metrics", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
[lib]
crate-type = ["lib"]

View File

@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-watchtower"
description = "Blockchain, Rebuilt for Scale"
version = "1.1.21"
version = "1.1.23"
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
@@ -14,15 +14,15 @@ log = "0.4.8"
humantime = "2.0.0"
reqwest = { version = "0.10.4", default-features = false, features = ["blocking", "rustls-tls", "json"] }
serde_json = "1.0"
solana-clap-utils = { path = "../clap-utils", version = "1.1.21" }
solana-cli = { path = "../cli", version = "1.1.21" }
solana-cli-config = { path = "../cli-config", version = "1.1.21" }
solana-client = { path = "../client", version = "1.1.21" }
solana-logger = { path = "../logger", version = "1.1.21" }
solana-metrics = { path = "../metrics", version = "1.1.21" }
solana-sdk = { path = "../sdk", version = "1.1.21" }
solana-transaction-status = { path = "../transaction-status", version = "1.1.21" }
solana-vote-program = { path = "../programs/vote", version = "1.1.21" }
solana-clap-utils = { path = "../clap-utils", version = "1.1.23" }
solana-cli = { path = "../cli", version = "1.1.23" }
solana-cli-config = { path = "../cli-config", version = "1.1.23" }
solana-client = { path = "../client", version = "1.1.23" }
solana-logger = { path = "../logger", version = "1.1.23" }
solana-metrics = { path = "../metrics", version = "1.1.23" }
solana-sdk = { path = "../sdk", version = "1.1.23" }
solana-transaction-status = { path = "../transaction-status", version = "1.1.23" }
solana-vote-program = { path = "../programs/vote", version = "1.1.23" }
[[bin]]
name = "solana-watchtower"