Compare commits
20 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
7aced9e772 | ||
|
1cc8de0fed | ||
|
f08c7b2294 | ||
|
cc58d36de6 | ||
|
128393da54 | ||
|
e7964a0b89 | ||
|
77dc3746a3 | ||
|
e88f4d689c | ||
|
f1858c74a4 | ||
|
7427dafc36 | ||
|
1cdcabf7cf | ||
|
ea192b3c83 | ||
|
927057df26 | ||
|
19049ca91b | ||
|
3542348c1e | ||
|
df9061b933 | ||
|
98658ebed5 | ||
|
2a93147b1b | ||
|
4145c629c0 | ||
|
551dc0a74c |
@@ -38,6 +38,7 @@ jobs:
|
||||
- readlink -f .
|
||||
script:
|
||||
- source ci/env.sh
|
||||
- rustup set profile default
|
||||
- ci/publish-tarball.sh
|
||||
deploy:
|
||||
- provider: s3
|
||||
|
392
Cargo.lock
generated
392
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-account-decoder"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana account decoder"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -19,10 +19,10 @@ lazy_static = "1.4.0"
|
||||
serde = "1.0.122"
|
||||
serde_derive = "1.0.103"
|
||||
serde_json = "1.0.56"
|
||||
solana-config-program = { path = "../programs/config", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.7.5" }
|
||||
spl-token-v2-0 = { package = "spl-token", version = "=3.1.1", features = ["no-entrypoint"] }
|
||||
solana-config-program = { path = "../programs/config", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.7.8" }
|
||||
spl-token-v2-0 = { package = "spl-token", version = "=3.2.0", features = ["no-entrypoint"] }
|
||||
thiserror = "1.0"
|
||||
zstd = "0.5.1"
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2018"
|
||||
name = "solana-accounts-bench"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -11,11 +11,11 @@ publish = false
|
||||
[dependencies]
|
||||
log = "0.4.11"
|
||||
rayon = "1.5.0"
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.5" }
|
||||
solana-measure = { path = "../measure", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-version = { path = "../version", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.8" }
|
||||
solana-measure = { path = "../measure", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-version = { path = "../version", version = "=1.7.8" }
|
||||
rand = "0.7.0"
|
||||
clap = "2.33.1"
|
||||
crossbeam-channel = "0.4"
|
||||
|
@@ -2,7 +2,7 @@
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2018"
|
||||
name = "solana-accounts-cluster-bench"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -13,23 +13,23 @@ clap = "2.33.1"
|
||||
log = "0.4.11"
|
||||
rand = "0.7.0"
|
||||
rayon = "1.4.1"
|
||||
solana-account-decoder = { path = "../account-decoder", version = "=1.7.5" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.5" }
|
||||
solana-client = { path = "../client", version = "=1.7.5" }
|
||||
solana-core = { path = "../core", version = "=1.7.5" }
|
||||
solana-faucet = { path = "../faucet", version = "=1.7.5" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-measure = { path = "../measure", version = "=1.7.5" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.7.5" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.7.5" }
|
||||
solana-version = { path = "../version", version = "=1.7.5" }
|
||||
spl-token-v2-0 = { package = "spl-token", version = "=3.1.1", features = ["no-entrypoint"] }
|
||||
solana-account-decoder = { path = "../account-decoder", version = "=1.7.8" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.8" }
|
||||
solana-client = { path = "../client", version = "=1.7.8" }
|
||||
solana-core = { path = "../core", version = "=1.7.8" }
|
||||
solana-faucet = { path = "../faucet", version = "=1.7.8" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.7.8" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
solana-measure = { path = "../measure", version = "=1.7.8" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.7.8" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.7.8" }
|
||||
solana-version = { path = "../version", version = "=1.7.8" }
|
||||
spl-token-v2-0 = { package = "spl-token", version = "=3.2.0", features = ["no-entrypoint"] }
|
||||
|
||||
[dev-dependencies]
|
||||
solana-local-cluster = { path = "../local-cluster", version = "=1.7.5" }
|
||||
solana-local-cluster = { path = "../local-cluster", version = "=1.7.8" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
@@ -2,7 +2,7 @@
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2018"
|
||||
name = "solana-banking-bench"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -14,18 +14,18 @@ crossbeam-channel = "0.4"
|
||||
log = "0.4.11"
|
||||
rand = "0.7.0"
|
||||
rayon = "1.5.0"
|
||||
solana-core = { path = "../core", version = "=1.7.5" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.5" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.7.5" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-measure = { path = "../measure", version = "=1.7.5" }
|
||||
solana-perf = { path = "../perf", version = "=1.7.5" }
|
||||
solana-poh = { path = "../poh", version = "=1.7.5" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.5" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-version = { path = "../version", version = "=1.7.5" }
|
||||
solana-core = { path = "../core", version = "=1.7.8" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.8" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.7.8" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.7.8" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
solana-measure = { path = "../measure", version = "=1.7.8" }
|
||||
solana-perf = { path = "../perf", version = "=1.7.8" }
|
||||
solana-poh = { path = "../poh", version = "=1.7.8" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.8" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-version = { path = "../version", version = "=1.7.8" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-banks-client"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana banks client"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -15,16 +15,16 @@ borsh = "0.9.0"
|
||||
borsh-derive = "0.9.0"
|
||||
futures = "0.3"
|
||||
mio = "0.7.6"
|
||||
solana-banks-interface = { path = "../banks-interface", version = "=1.7.5" }
|
||||
solana-program = { path = "../sdk/program", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-banks-interface = { path = "../banks-interface", version = "=1.7.8" }
|
||||
solana-program = { path = "../sdk/program", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
tarpc = { version = "0.24.1", features = ["full"] }
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
tokio-serde = { version = "0.8", features = ["bincode"] }
|
||||
|
||||
[dev-dependencies]
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.5" }
|
||||
solana-banks-server = { path = "../banks-server", version = "=1.7.5" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.8" }
|
||||
solana-banks-server = { path = "../banks-server", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-banks-interface"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana banks RPC interface"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -12,7 +12,7 @@ edition = "2018"
|
||||
[dependencies]
|
||||
mio = "0.7.6"
|
||||
serde = { version = "1.0.122", features = ["derive"] }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
tarpc = { version = "0.24.1", features = ["full"] }
|
||||
|
||||
[dev-dependencies]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-banks-server"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana banks server"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -14,10 +14,10 @@ bincode = "1.3.1"
|
||||
futures = "0.3"
|
||||
log = "0.4.11"
|
||||
mio = "0.7.6"
|
||||
solana-banks-interface = { path = "../banks-interface", version = "=1.7.5" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.7.5" }
|
||||
solana-banks-interface = { path = "../banks-interface", version = "=1.7.8" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.7.8" }
|
||||
tarpc = { version = "0.24.1", features = ["full"] }
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
tokio-serde = { version = "0.8", features = ["bincode"] }
|
||||
|
@@ -2,7 +2,7 @@
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2018"
|
||||
name = "solana-bench-exchange"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -18,22 +18,22 @@ rand = "0.7.0"
|
||||
rayon = "1.5.0"
|
||||
serde_json = "1.0.56"
|
||||
serde_yaml = "0.8.13"
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.5" }
|
||||
solana-core = { path = "../core", version = "=1.7.5" }
|
||||
solana-genesis = { path = "../genesis", version = "=1.7.5" }
|
||||
solana-client = { path = "../client", version = "=1.7.5" }
|
||||
solana-exchange-program = { path = "../programs/exchange", version = "=1.7.5" }
|
||||
solana-faucet = { path = "../faucet", version = "=1.7.5" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.7.5" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.7.5" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-version = { path = "../version", version = "=1.7.5" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.8" }
|
||||
solana-core = { path = "../core", version = "=1.7.8" }
|
||||
solana-genesis = { path = "../genesis", version = "=1.7.8" }
|
||||
solana-client = { path = "../client", version = "=1.7.8" }
|
||||
solana-exchange-program = { path = "../programs/exchange", version = "=1.7.8" }
|
||||
solana-faucet = { path = "../faucet", version = "=1.7.8" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.7.8" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.7.8" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.7.8" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-version = { path = "../version", version = "=1.7.8" }
|
||||
|
||||
[dev-dependencies]
|
||||
solana-local-cluster = { path = "../local-cluster", version = "=1.7.5" }
|
||||
solana-local-cluster = { path = "../local-cluster", version = "=1.7.8" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
@@ -2,7 +2,7 @@
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2018"
|
||||
name = "solana-bench-streamer"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -10,11 +10,11 @@ publish = false
|
||||
|
||||
[dependencies]
|
||||
clap = "2.33.1"
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.5" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.7.5" }
|
||||
solana-version = { path = "../version", version = "=1.7.5" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.8" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.7.8" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.7.8" }
|
||||
solana-version = { path = "../version", version = "=1.7.8" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
@@ -2,7 +2,7 @@
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2018"
|
||||
name = "solana-bench-tps"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -15,23 +15,23 @@ log = "0.4.11"
|
||||
rayon = "1.5.0"
|
||||
serde_json = "1.0.56"
|
||||
serde_yaml = "0.8.13"
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.5" }
|
||||
solana-core = { path = "../core", version = "=1.7.5" }
|
||||
solana-genesis = { path = "../genesis", version = "=1.7.5" }
|
||||
solana-client = { path = "../client", version = "=1.7.5" }
|
||||
solana-faucet = { path = "../faucet", version = "=1.7.5" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.7.5" }
|
||||
solana-measure = { path = "../measure", version = "=1.7.5" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.7.5" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-version = { path = "../version", version = "=1.7.5" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.8" }
|
||||
solana-core = { path = "../core", version = "=1.7.8" }
|
||||
solana-genesis = { path = "../genesis", version = "=1.7.8" }
|
||||
solana-client = { path = "../client", version = "=1.7.8" }
|
||||
solana-faucet = { path = "../faucet", version = "=1.7.8" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.7.8" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.7.8" }
|
||||
solana-measure = { path = "../measure", version = "=1.7.8" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.7.8" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-version = { path = "../version", version = "=1.7.8" }
|
||||
|
||||
[dev-dependencies]
|
||||
serial_test = "0.4.0"
|
||||
solana-local-cluster = { path = "../local-cluster", version = "=1.7.5" }
|
||||
solana-local-cluster = { path = "../local-cluster", version = "=1.7.8" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
@@ -78,7 +78,7 @@ else
|
||||
export CI_REPO_SLUG=
|
||||
export CI_TAG=
|
||||
# Don't override ci/run-local.sh
|
||||
if [[ -z $CL_LOCAL_RUN ]]; then
|
||||
if [[ -z $CI_LOCAL_RUN ]]; then
|
||||
export CI_OS_NAME=
|
||||
fi
|
||||
fi
|
||||
|
@@ -14,7 +14,7 @@ scripts/increment-cargo-version.sh check
|
||||
|
||||
# Disallow uncommitted Cargo.lock changes
|
||||
(
|
||||
_ scripts/cargo-for-all-lock-files.sh tree
|
||||
_ scripts/cargo-for-all-lock-files.sh tree >/dev/null
|
||||
set +e
|
||||
if ! _ git diff --exit-code; then
|
||||
echo -e "\nError: Uncommitted Cargo.lock changes" 1>&2
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-clap-utils"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana utilities for the clap"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -12,8 +12,8 @@ edition = "2018"
|
||||
[dependencies]
|
||||
clap = "2.33.0"
|
||||
rpassword = "4.0"
|
||||
solana-remote-wallet = { path = "../remote-wallet", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-remote-wallet = { path = "../remote-wallet", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
thiserror = "1.0.21"
|
||||
tiny-bip39 = "0.8.0"
|
||||
uriparse = "0.6.3"
|
||||
|
@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2018"
|
||||
name = "solana-cli-config"
|
||||
description = "Blockchain, Rebuilt for Scale"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
|
@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2018"
|
||||
name = "solana-cli-output"
|
||||
description = "Blockchain, Rebuilt for Scale"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -19,12 +19,12 @@ indicatif = "0.15.0"
|
||||
serde = "1.0.122"
|
||||
serde_derive = "1.0.103"
|
||||
serde_json = "1.0.56"
|
||||
solana-account-decoder = { path = "../account-decoder", version = "=1.7.5" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.5" }
|
||||
solana-client = { path = "../client", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.7.5" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.7.5" }
|
||||
solana-account-decoder = { path = "../account-decoder", version = "=1.7.8" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.8" }
|
||||
solana-client = { path = "../client", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.7.8" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.7.8" }
|
||||
spl-memo = { version = "=3.0.1", features = ["no-entrypoint"] }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
|
@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2018"
|
||||
name = "solana-cli"
|
||||
description = "Blockchain, Rebuilt for Scale"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -29,29 +29,29 @@ reqwest = { version = "0.11.2", default-features = false, features = ["blocking"
|
||||
serde = "1.0.122"
|
||||
serde_derive = "1.0.103"
|
||||
serde_json = "1.0.56"
|
||||
solana-account-decoder = { path = "../account-decoder", version = "=1.7.5" }
|
||||
solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "=1.7.5" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.5" }
|
||||
solana-cli-config = { path = "../cli-config", version = "=1.7.5" }
|
||||
solana-cli-output = { path = "../cli-output", version = "=1.7.5" }
|
||||
solana-client = { path = "../client", version = "=1.7.5" }
|
||||
solana-config-program = { path = "../programs/config", version = "=1.7.5" }
|
||||
solana-faucet = { path = "../faucet", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.7.5" }
|
||||
solana-account-decoder = { path = "../account-decoder", version = "=1.7.8" }
|
||||
solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "=1.7.8" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.8" }
|
||||
solana-cli-config = { path = "../cli-config", version = "=1.7.8" }
|
||||
solana-cli-output = { path = "../cli-output", version = "=1.7.8" }
|
||||
solana-client = { path = "../client", version = "=1.7.8" }
|
||||
solana-config-program = { path = "../programs/config", version = "=1.7.8" }
|
||||
solana-faucet = { path = "../faucet", version = "=1.7.8" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.7.8" }
|
||||
solana_rbpf = "=0.2.11"
|
||||
solana-remote-wallet = { path = "../remote-wallet", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.7.5" }
|
||||
solana-version = { path = "../version", version = "=1.7.5" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.7.5" }
|
||||
solana-remote-wallet = { path = "../remote-wallet", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.7.8" }
|
||||
solana-version = { path = "../version", version = "=1.7.8" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.7.8" }
|
||||
spl-memo = { version = "=3.0.1", features = ["no-entrypoint"] }
|
||||
thiserror = "1.0.21"
|
||||
tiny-bip39 = "0.7.0"
|
||||
url = "2.1.1"
|
||||
|
||||
[dev-dependencies]
|
||||
solana-core = { path = "../core", version = "=1.7.5" }
|
||||
solana-core = { path = "../core", version = "=1.7.8" }
|
||||
tempfile = "3.1.0"
|
||||
|
||||
[[bin]]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-client"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana Client"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -24,14 +24,14 @@ semver = "0.11.0"
|
||||
serde = "1.0.122"
|
||||
serde_derive = "1.0.103"
|
||||
serde_json = "1.0.56"
|
||||
solana-account-decoder = { path = "../account-decoder", version = "=1.7.5" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.5" }
|
||||
solana-faucet = { path = "../faucet", version = "=1.7.5" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.7.5" }
|
||||
solana-version = { path = "../version", version = "=1.7.5" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.7.5" }
|
||||
solana-account-decoder = { path = "../account-decoder", version = "=1.7.8" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.8" }
|
||||
solana-faucet = { path = "../faucet", version = "=1.7.8" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.7.8" }
|
||||
solana-version = { path = "../version", version = "=1.7.8" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.7.8" }
|
||||
thiserror = "1.0"
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
tungstenite = "0.10.1"
|
||||
@@ -40,7 +40,7 @@ url = "2.1.1"
|
||||
[dev-dependencies]
|
||||
assert_matches = "1.3.0"
|
||||
jsonrpc-http-server = "17.0.0"
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
@@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "solana-core"
|
||||
description = "Blockchain, Rebuilt for Scale"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
homepage = "https://solana.com/"
|
||||
documentation = "https://docs.rs/solana-core"
|
||||
readme = "../README.md"
|
||||
@@ -43,33 +43,33 @@ retain_mut = "0.1.2"
|
||||
serde = "1.0.122"
|
||||
serde_bytes = "0.11"
|
||||
serde_derive = "1.0.103"
|
||||
solana-account-decoder = { path = "../account-decoder", version = "=1.7.5" }
|
||||
solana-banks-server = { path = "../banks-server", version = "=1.7.5" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.5" }
|
||||
solana-client = { path = "../client", version = "=1.7.5" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.7.5" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-merkle-tree = { path = "../merkle-tree", version = "=1.7.5" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.7.5" }
|
||||
solana-measure = { path = "../measure", version = "=1.7.5" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.7.5" }
|
||||
solana-perf = { path = "../perf", version = "=1.7.5" }
|
||||
solana-poh = { path = "../poh", version = "=1.7.5" }
|
||||
solana-program-test = { path = "../program-test", version = "=1.7.5" }
|
||||
solana-rpc = { path = "../rpc", version = "=1.7.5" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-frozen-abi = { path = "../frozen-abi", version = "=1.7.5" }
|
||||
solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.7.5" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.7.5" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.7.5" }
|
||||
solana-version = { path = "../version", version = "=1.7.5" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.7.5" }
|
||||
spl-token-v2-0 = { package = "spl-token", version = "=3.1.1", features = ["no-entrypoint"] }
|
||||
solana-account-decoder = { path = "../account-decoder", version = "=1.7.8" }
|
||||
solana-banks-server = { path = "../banks-server", version = "=1.7.8" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.8" }
|
||||
solana-client = { path = "../client", version = "=1.7.8" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.7.8" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.7.8" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
solana-merkle-tree = { path = "../merkle-tree", version = "=1.7.8" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.7.8" }
|
||||
solana-measure = { path = "../measure", version = "=1.7.8" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.7.8" }
|
||||
solana-perf = { path = "../perf", version = "=1.7.8" }
|
||||
solana-poh = { path = "../poh", version = "=1.7.8" }
|
||||
solana-program-test = { path = "../program-test", version = "=1.7.8" }
|
||||
solana-rpc = { path = "../rpc", version = "=1.7.8" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-frozen-abi = { path = "../frozen-abi", version = "=1.7.8" }
|
||||
solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.7.8" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.7.8" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.7.8" }
|
||||
solana-version = { path = "../version", version = "=1.7.8" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.7.8" }
|
||||
spl-token-v2-0 = { package = "spl-token", version = "=3.2.0", features = ["no-entrypoint"] }
|
||||
tempfile = "3.1.0"
|
||||
thiserror = "1.0"
|
||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.7.5" }
|
||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.7.8" }
|
||||
trees = "0.2.1"
|
||||
|
||||
[dev-dependencies]
|
||||
@@ -80,8 +80,8 @@ num_cpus = "1.13.0"
|
||||
reqwest = { version = "0.11.2", default-features = false, features = ["blocking", "rustls-tls", "json"] }
|
||||
serde_json = "1.0.56"
|
||||
serial_test = "0.4.0"
|
||||
solana-stake-program = { path = "../programs/stake", version = "=1.7.5" }
|
||||
solana-version = { path = "../version", version = "=1.7.5" }
|
||||
solana-stake-program = { path = "../programs/stake", version = "=1.7.8" }
|
||||
solana-version = { path = "../version", version = "=1.7.8" }
|
||||
symlink = "0.1.0"
|
||||
systemstat = "0.1.5"
|
||||
tokio_02 = { version = "0.2", package = "tokio", features = ["full"] }
|
||||
|
@@ -22,7 +22,7 @@ use solana_poh::poh_recorder::WorkingBankEntry;
|
||||
use solana_runtime::bank::Bank;
|
||||
use solana_sdk::timing::timestamp;
|
||||
use solana_sdk::{clock::Slot, pubkey::Pubkey};
|
||||
use solana_streamer::sendmmsg::send_mmsg;
|
||||
use solana_streamer::{sendmmsg::send_mmsg, socket::is_global};
|
||||
use std::sync::atomic::AtomicU64;
|
||||
use std::{
|
||||
collections::HashMap,
|
||||
@@ -397,7 +397,11 @@ pub fn broadcast_shreds(
|
||||
.iter()
|
||||
.filter_map(|shred| {
|
||||
let node = cluster_nodes.get_broadcast_peer(shred.seed())?;
|
||||
if is_global(&node.tvu) {
|
||||
Some((&shred.payload, &node.tvu))
|
||||
} else {
|
||||
None
|
||||
}
|
||||
})
|
||||
.collect();
|
||||
shred_select.stop();
|
||||
|
@@ -345,7 +345,7 @@ impl StandardBroadcastRun {
|
||||
if now - last > BROADCAST_PEER_UPDATE_INTERVAL_MS
|
||||
&& self
|
||||
.last_peer_update
|
||||
.compare_and_swap(now, last, Ordering::Relaxed)
|
||||
.compare_and_swap(last, now, Ordering::Relaxed)
|
||||
== last
|
||||
{
|
||||
*self.cluster_nodes.write().unwrap() = ClusterNodes::<BroadcastStage>::new(
|
||||
|
@@ -4,7 +4,7 @@ use solana_gossip::cluster_info::ClusterInfo;
|
||||
use solana_ledger::blockstore::Blockstore;
|
||||
use solana_measure::measure::Measure;
|
||||
use solana_runtime::bank_forks::BankForks;
|
||||
use solana_sdk::{clock::Slot, pubkey::Pubkey};
|
||||
use solana_sdk::clock::Slot;
|
||||
use std::{
|
||||
sync::{
|
||||
atomic::{AtomicBool, Ordering},
|
||||
@@ -43,8 +43,7 @@ impl ClusterSlotsService {
|
||||
cluster_slots_update_receiver: ClusterSlotsUpdateReceiver,
|
||||
exit: Arc<AtomicBool>,
|
||||
) -> Self {
|
||||
let id = cluster_info.id();
|
||||
Self::initialize_lowest_slot(id, &blockstore, &cluster_info);
|
||||
Self::initialize_lowest_slot(&blockstore, &cluster_info);
|
||||
Self::initialize_epoch_slots(&bank_forks, &cluster_info);
|
||||
let t_cluster_slots_service = Builder::new()
|
||||
.name("solana-cluster-slots-service".to_string())
|
||||
@@ -93,10 +92,9 @@ impl ClusterSlotsService {
|
||||
}
|
||||
};
|
||||
let new_root = bank_forks.read().unwrap().root();
|
||||
let id = cluster_info.id();
|
||||
let mut lowest_slot_elapsed = Measure::start("lowest_slot_elapsed");
|
||||
let lowest_slot = blockstore.lowest_slot();
|
||||
Self::update_lowest_slot(&id, lowest_slot, &cluster_info);
|
||||
Self::update_lowest_slot(lowest_slot, &cluster_info);
|
||||
lowest_slot_elapsed.stop();
|
||||
let mut process_cluster_slots_updates_elapsed =
|
||||
Measure::start("process_cluster_slots_updates_elapsed");
|
||||
@@ -151,16 +149,16 @@ impl ClusterSlotsService {
|
||||
}
|
||||
}
|
||||
|
||||
fn initialize_lowest_slot(id: Pubkey, blockstore: &Blockstore, cluster_info: &ClusterInfo) {
|
||||
fn initialize_lowest_slot(blockstore: &Blockstore, cluster_info: &ClusterInfo) {
|
||||
// Safe to set into gossip because by this time, the leader schedule cache should
|
||||
// also be updated with the latest root (done in blockstore_processor) and thus
|
||||
// will provide a schedule to window_service for any incoming shreds up to the
|
||||
// last_confirmed_epoch.
|
||||
cluster_info.push_lowest_slot(id, blockstore.lowest_slot());
|
||||
cluster_info.push_lowest_slot(blockstore.lowest_slot());
|
||||
}
|
||||
|
||||
fn update_lowest_slot(id: &Pubkey, lowest_slot: Slot, cluster_info: &ClusterInfo) {
|
||||
cluster_info.push_lowest_slot(*id, lowest_slot);
|
||||
fn update_lowest_slot(lowest_slot: Slot, cluster_info: &ClusterInfo) {
|
||||
cluster_info.push_lowest_slot(lowest_slot);
|
||||
}
|
||||
|
||||
fn initialize_epoch_slots(bank_forks: &RwLock<BankForks>, cluster_info: &ClusterInfo) {
|
||||
@@ -179,15 +177,18 @@ impl ClusterSlotsService {
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use super::*;
|
||||
use solana_gossip::{cluster_info::Node, crds_value::CrdsValueLabel};
|
||||
use {
|
||||
super::*,
|
||||
solana_gossip::{cluster_info::Node, crds_value::CrdsValueLabel},
|
||||
solana_sdk::pubkey::Pubkey,
|
||||
};
|
||||
|
||||
#[test]
|
||||
pub fn test_update_lowest_slot() {
|
||||
let pubkey = Pubkey::new_unique();
|
||||
let node_info = Node::new_localhost_with_pubkey(&pubkey);
|
||||
let cluster_info = ClusterInfo::new_with_invalid_keypair(node_info.info);
|
||||
ClusterSlotsService::update_lowest_slot(&pubkey, 5, &cluster_info);
|
||||
ClusterSlotsService::update_lowest_slot(5, &cluster_info);
|
||||
cluster_info.flush_push_queue();
|
||||
let lowest = {
|
||||
let label = CrdsValueLabel::LowestSlot(pubkey);
|
||||
|
@@ -54,6 +54,7 @@ pub mod unfrozen_gossip_verified_vote_hashes;
|
||||
pub mod validator;
|
||||
pub mod verified_vote_packets;
|
||||
pub mod vote_stake_tracker;
|
||||
pub mod voting_service;
|
||||
pub mod window_service;
|
||||
|
||||
#[macro_use]
|
||||
|
@@ -21,6 +21,7 @@ use crate::{
|
||||
result::Result,
|
||||
rewards_recorder_service::RewardsRecorderSender,
|
||||
unfrozen_gossip_verified_vote_hashes::UnfrozenGossipVerifiedVoteHashes,
|
||||
voting_service::VoteOp,
|
||||
window_service::DuplicateSlotReceiver,
|
||||
};
|
||||
use solana_client::rpc_response::SlotUpdate;
|
||||
@@ -309,6 +310,7 @@ impl ReplayStage {
|
||||
gossip_duplicate_confirmed_slots_receiver: GossipDuplicateConfirmedSlotsReceiver,
|
||||
gossip_verified_vote_hash_receiver: GossipVerifiedVoteHashReceiver,
|
||||
cluster_slots_update_sender: ClusterSlotsUpdateSender,
|
||||
voting_sender: Sender<VoteOp>,
|
||||
) -> Self {
|
||||
let ReplayStageConfig {
|
||||
my_pubkey,
|
||||
@@ -513,12 +515,14 @@ impl ReplayStage {
|
||||
if let Some(my_latest_landed_vote) = progress.my_latest_landed_vote(heaviest_bank_on_same_voted_fork.slot()) {
|
||||
Self::refresh_last_vote(&mut tower, &cluster_info,
|
||||
heaviest_bank_on_same_voted_fork,
|
||||
&poh_recorder, my_latest_landed_vote,
|
||||
my_latest_landed_vote,
|
||||
&vote_account,
|
||||
&authorized_voter_keypairs.read().unwrap(),
|
||||
&mut voted_signatures,
|
||||
has_new_vote_been_rooted, &mut
|
||||
last_vote_refresh_time);
|
||||
last_vote_refresh_time,
|
||||
&voting_sender,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -576,7 +580,6 @@ impl ReplayStage {
|
||||
|
||||
Self::handle_votable_bank(
|
||||
vote_bank,
|
||||
&poh_recorder,
|
||||
switch_fork_decision,
|
||||
&bank_forks,
|
||||
&mut tower,
|
||||
@@ -599,6 +602,7 @@ impl ReplayStage {
|
||||
&mut voted_signatures,
|
||||
&mut has_new_vote_been_rooted,
|
||||
&mut replay_timing,
|
||||
&voting_sender,
|
||||
);
|
||||
};
|
||||
voting_time.stop();
|
||||
@@ -1285,7 +1289,6 @@ impl ReplayStage {
|
||||
#[allow(clippy::too_many_arguments)]
|
||||
fn handle_votable_bank(
|
||||
bank: &Arc<Bank>,
|
||||
poh_recorder: &Arc<Mutex<PohRecorder>>,
|
||||
switch_fork_decision: &SwitchForkDecision,
|
||||
bank_forks: &Arc<RwLock<BankForks>>,
|
||||
tower: &mut Tower,
|
||||
@@ -1308,6 +1311,7 @@ impl ReplayStage {
|
||||
vote_signatures: &mut Vec<Signature>,
|
||||
has_new_vote_been_rooted: &mut bool,
|
||||
replay_timing: &mut ReplayTiming,
|
||||
voting_sender: &Sender<VoteOp>,
|
||||
) {
|
||||
if bank.is_empty() {
|
||||
inc_new_counter_info!("replay_stage-voted_empty_bank", 1);
|
||||
@@ -1385,7 +1389,6 @@ impl ReplayStage {
|
||||
Self::push_vote(
|
||||
cluster_info,
|
||||
bank,
|
||||
poh_recorder,
|
||||
vote_account_pubkey,
|
||||
authorized_voter_keypairs,
|
||||
tower,
|
||||
@@ -1393,6 +1396,7 @@ impl ReplayStage {
|
||||
vote_signatures,
|
||||
*has_new_vote_been_rooted,
|
||||
replay_timing,
|
||||
voting_sender,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1486,13 +1490,13 @@ impl ReplayStage {
|
||||
tower: &mut Tower,
|
||||
cluster_info: &ClusterInfo,
|
||||
heaviest_bank_on_same_fork: &Bank,
|
||||
poh_recorder: &Mutex<PohRecorder>,
|
||||
my_latest_landed_vote: Slot,
|
||||
vote_account_pubkey: &Pubkey,
|
||||
authorized_voter_keypairs: &[Arc<Keypair>],
|
||||
vote_signatures: &mut Vec<Signature>,
|
||||
has_new_vote_been_rooted: bool,
|
||||
last_vote_refresh_time: &mut LastVoteRefreshTime,
|
||||
voting_sender: &Sender<VoteOp>,
|
||||
) {
|
||||
let last_voted_slot = tower.last_voted_slot();
|
||||
if last_voted_slot.is_none() {
|
||||
@@ -1549,11 +1553,12 @@ impl ReplayStage {
|
||||
("target_bank_slot", heaviest_bank_on_same_fork.slot(), i64),
|
||||
("target_bank_hash", hash_string, String),
|
||||
);
|
||||
let _ = cluster_info.send_vote(
|
||||
&vote_tx,
|
||||
crate::banking_stage::next_leader_tpu(cluster_info, poh_recorder),
|
||||
);
|
||||
cluster_info.refresh_vote(vote_tx, last_voted_slot);
|
||||
voting_sender
|
||||
.send(VoteOp::RefreshVote {
|
||||
tx: vote_tx,
|
||||
last_voted_slot,
|
||||
})
|
||||
.unwrap_or_else(|err| warn!("Error: {:?}", err));
|
||||
last_vote_refresh_time.last_refresh_time = Instant::now();
|
||||
}
|
||||
}
|
||||
@@ -1562,7 +1567,6 @@ impl ReplayStage {
|
||||
fn push_vote(
|
||||
cluster_info: &ClusterInfo,
|
||||
bank: &Bank,
|
||||
poh_recorder: &Mutex<PohRecorder>,
|
||||
vote_account_pubkey: &Pubkey,
|
||||
authorized_voter_keypairs: &[Arc<Keypair>],
|
||||
tower: &mut Tower,
|
||||
@@ -1570,6 +1574,7 @@ impl ReplayStage {
|
||||
vote_signatures: &mut Vec<Signature>,
|
||||
has_new_vote_been_rooted: bool,
|
||||
replay_timing: &mut ReplayTiming,
|
||||
voting_sender: &Sender<VoteOp>,
|
||||
) {
|
||||
let mut generate_time = Measure::start("generate_vote");
|
||||
let vote_tx = Self::generate_vote_tx(
|
||||
@@ -1586,16 +1591,14 @@ impl ReplayStage {
|
||||
replay_timing.generate_vote_us += generate_time.as_us();
|
||||
if let Some(vote_tx) = vote_tx {
|
||||
tower.refresh_last_vote_tx_blockhash(vote_tx.message.recent_blockhash);
|
||||
let mut send_time = Measure::start("send_vote");
|
||||
let _ = cluster_info.send_vote(
|
||||
&vote_tx,
|
||||
crate::banking_stage::next_leader_tpu(cluster_info, poh_recorder),
|
||||
);
|
||||
send_time.stop();
|
||||
let mut push_time = Measure::start("push_vote");
|
||||
cluster_info.push_vote(&tower.tower_slots(), vote_tx);
|
||||
push_time.stop();
|
||||
replay_timing.vote_push_us += push_time.as_us();
|
||||
|
||||
let tower_slots = tower.tower_slots();
|
||||
voting_sender
|
||||
.send(VoteOp::PushVote {
|
||||
tx: vote_tx,
|
||||
tower_slots,
|
||||
})
|
||||
.unwrap_or_else(|err| warn!("Error: {:?}", err));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2546,6 +2549,7 @@ mod tests {
|
||||
vote_state::{VoteState, VoteStateVersions},
|
||||
vote_transaction,
|
||||
};
|
||||
use std::sync::mpsc::channel;
|
||||
use std::{
|
||||
fs::remove_dir_all,
|
||||
iter,
|
||||
@@ -4672,6 +4676,7 @@ mod tests {
|
||||
}
|
||||
}
|
||||
}
|
||||
let (voting_sender, voting_receiver) = channel();
|
||||
|
||||
// Simulate landing a vote for slot 0 landing in slot 1
|
||||
let bank1 = Arc::new(Bank::new_from_parent(&bank0, &Pubkey::default(), 1));
|
||||
@@ -4680,7 +4685,6 @@ mod tests {
|
||||
ReplayStage::push_vote(
|
||||
&cluster_info,
|
||||
&bank0,
|
||||
&poh_recorder,
|
||||
&my_vote_pubkey,
|
||||
&my_vote_keypair,
|
||||
&mut tower,
|
||||
@@ -4688,7 +4692,13 @@ mod tests {
|
||||
&mut voted_signatures,
|
||||
has_new_vote_been_rooted,
|
||||
&mut ReplayTiming::default(),
|
||||
&voting_sender,
|
||||
);
|
||||
let vote_info = voting_receiver
|
||||
.recv_timeout(Duration::from_secs(1))
|
||||
.unwrap();
|
||||
crate::voting_service::VotingService::handle_vote(&cluster_info, &poh_recorder, vote_info);
|
||||
|
||||
let mut cursor = Cursor::default();
|
||||
let (_, votes) = cluster_info.get_votes(&mut cursor);
|
||||
assert_eq!(votes.len(), 1);
|
||||
@@ -4709,13 +4719,13 @@ mod tests {
|
||||
&mut tower,
|
||||
&cluster_info,
|
||||
refresh_bank,
|
||||
&poh_recorder,
|
||||
Tower::last_voted_slot_in_bank(refresh_bank, &my_vote_pubkey).unwrap(),
|
||||
&my_vote_pubkey,
|
||||
&my_vote_keypair,
|
||||
&mut voted_signatures,
|
||||
has_new_vote_been_rooted,
|
||||
&mut last_vote_refresh_time,
|
||||
&voting_sender,
|
||||
);
|
||||
|
||||
// No new votes have been submitted to gossip
|
||||
@@ -4732,7 +4742,6 @@ mod tests {
|
||||
ReplayStage::push_vote(
|
||||
&cluster_info,
|
||||
&bank1,
|
||||
&poh_recorder,
|
||||
&my_vote_pubkey,
|
||||
&my_vote_keypair,
|
||||
&mut tower,
|
||||
@@ -4740,7 +4749,12 @@ mod tests {
|
||||
&mut voted_signatures,
|
||||
has_new_vote_been_rooted,
|
||||
&mut ReplayTiming::default(),
|
||||
&voting_sender,
|
||||
);
|
||||
let vote_info = voting_receiver
|
||||
.recv_timeout(Duration::from_secs(1))
|
||||
.unwrap();
|
||||
crate::voting_service::VotingService::handle_vote(&cluster_info, &poh_recorder, vote_info);
|
||||
let (_, votes) = cluster_info.get_votes(&mut cursor);
|
||||
assert_eq!(votes.len(), 1);
|
||||
let vote_tx = &votes[0];
|
||||
@@ -4754,14 +4768,15 @@ mod tests {
|
||||
&mut tower,
|
||||
&cluster_info,
|
||||
&bank2,
|
||||
&poh_recorder,
|
||||
Tower::last_voted_slot_in_bank(&bank2, &my_vote_pubkey).unwrap(),
|
||||
&my_vote_pubkey,
|
||||
&my_vote_keypair,
|
||||
&mut voted_signatures,
|
||||
has_new_vote_been_rooted,
|
||||
&mut last_vote_refresh_time,
|
||||
&voting_sender,
|
||||
);
|
||||
|
||||
// No new votes have been submitted to gossip
|
||||
let (_, votes) = cluster_info.get_votes(&mut cursor);
|
||||
assert!(votes.is_empty());
|
||||
@@ -4790,14 +4805,19 @@ mod tests {
|
||||
&mut tower,
|
||||
&cluster_info,
|
||||
&expired_bank,
|
||||
&poh_recorder,
|
||||
Tower::last_voted_slot_in_bank(&expired_bank, &my_vote_pubkey).unwrap(),
|
||||
&my_vote_pubkey,
|
||||
&my_vote_keypair,
|
||||
&mut voted_signatures,
|
||||
has_new_vote_been_rooted,
|
||||
&mut last_vote_refresh_time,
|
||||
&voting_sender,
|
||||
);
|
||||
let vote_info = voting_receiver
|
||||
.recv_timeout(Duration::from_secs(1))
|
||||
.unwrap();
|
||||
crate::voting_service::VotingService::handle_vote(&cluster_info, &poh_recorder, vote_info);
|
||||
|
||||
assert!(last_vote_refresh_time.last_refresh_time > clone_refresh_time);
|
||||
let (_, votes) = cluster_info.get_votes(&mut cursor);
|
||||
assert_eq!(votes.len(), 1);
|
||||
@@ -4846,14 +4866,15 @@ mod tests {
|
||||
&mut tower,
|
||||
&cluster_info,
|
||||
&expired_bank_sibling,
|
||||
&poh_recorder,
|
||||
Tower::last_voted_slot_in_bank(&expired_bank_sibling, &my_vote_pubkey).unwrap(),
|
||||
&my_vote_pubkey,
|
||||
&my_vote_keypair,
|
||||
&mut voted_signatures,
|
||||
has_new_vote_been_rooted,
|
||||
&mut last_vote_refresh_time,
|
||||
&voting_sender,
|
||||
);
|
||||
|
||||
let (_, votes) = cluster_info.get_votes(&mut cursor);
|
||||
assert!(votes.is_empty());
|
||||
assert_eq!(
|
||||
|
@@ -20,6 +20,7 @@ use crate::{
|
||||
sigverify_shreds::ShredSigVerifier,
|
||||
sigverify_stage::SigVerifyStage,
|
||||
snapshot_packager_service::PendingSnapshotPackage,
|
||||
voting_service::VotingService,
|
||||
};
|
||||
use crossbeam_channel::unbounded;
|
||||
use solana_gossip::cluster_info::ClusterInfo;
|
||||
@@ -66,6 +67,7 @@ pub struct Tvu {
|
||||
ledger_cleanup_service: Option<LedgerCleanupService>,
|
||||
accounts_background_service: AccountsBackgroundService,
|
||||
accounts_hash_verifier: AccountsHashVerifier,
|
||||
voting_service: VotingService,
|
||||
}
|
||||
|
||||
pub struct Sockets {
|
||||
@@ -276,6 +278,10 @@ impl Tvu {
|
||||
wait_for_vote_to_start_leader: tvu_config.wait_for_vote_to_start_leader,
|
||||
};
|
||||
|
||||
let (voting_sender, voting_receiver) = channel();
|
||||
let voting_service =
|
||||
VotingService::new(voting_receiver, cluster_info.clone(), poh_recorder.clone());
|
||||
|
||||
let replay_stage = ReplayStage::new(
|
||||
replay_stage_config,
|
||||
blockstore.clone(),
|
||||
@@ -293,6 +299,7 @@ impl Tvu {
|
||||
gossip_confirmed_slots_receiver,
|
||||
gossip_verified_vote_hash_receiver,
|
||||
cluster_slots_update_sender,
|
||||
voting_sender,
|
||||
);
|
||||
|
||||
let ledger_cleanup_service = tvu_config.max_ledger_shreds.map(|max_ledger_shreds| {
|
||||
@@ -323,6 +330,7 @@ impl Tvu {
|
||||
ledger_cleanup_service,
|
||||
accounts_background_service,
|
||||
accounts_hash_verifier,
|
||||
voting_service,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -336,6 +344,7 @@ impl Tvu {
|
||||
self.accounts_background_service.join()?;
|
||||
self.replay_stage.join()?;
|
||||
self.accounts_hash_verifier.join()?;
|
||||
self.voting_service.join()?;
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
79
core/src/voting_service.rs
Normal file
79
core/src/voting_service.rs
Normal file
@@ -0,0 +1,79 @@
|
||||
use solana_gossip::cluster_info::ClusterInfo;
|
||||
use solana_poh::poh_recorder::PohRecorder;
|
||||
use solana_sdk::{clock::Slot, transaction::Transaction};
|
||||
use std::{
|
||||
sync::{mpsc::Receiver, Arc, Mutex},
|
||||
thread::{self, Builder, JoinHandle},
|
||||
};
|
||||
|
||||
pub enum VoteOp {
|
||||
PushVote {
|
||||
tx: Transaction,
|
||||
tower_slots: Vec<Slot>,
|
||||
},
|
||||
RefreshVote {
|
||||
tx: Transaction,
|
||||
last_voted_slot: Slot,
|
||||
},
|
||||
}
|
||||
|
||||
impl VoteOp {
|
||||
fn tx(&self) -> &Transaction {
|
||||
match self {
|
||||
VoteOp::PushVote { tx, tower_slots: _ } => tx,
|
||||
VoteOp::RefreshVote {
|
||||
tx,
|
||||
last_voted_slot: _,
|
||||
} => tx,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub struct VotingService {
|
||||
thread_hdl: JoinHandle<()>,
|
||||
}
|
||||
|
||||
impl VotingService {
|
||||
pub fn new(
|
||||
vote_receiver: Receiver<VoteOp>,
|
||||
cluster_info: Arc<ClusterInfo>,
|
||||
poh_recorder: Arc<Mutex<PohRecorder>>,
|
||||
) -> Self {
|
||||
let thread_hdl = Builder::new()
|
||||
.name("sol-vote-service".to_string())
|
||||
.spawn(move || {
|
||||
for vote_op in vote_receiver.iter() {
|
||||
Self::handle_vote(&cluster_info, &poh_recorder, vote_op);
|
||||
}
|
||||
})
|
||||
.unwrap();
|
||||
Self { thread_hdl }
|
||||
}
|
||||
|
||||
pub fn handle_vote(
|
||||
cluster_info: &ClusterInfo,
|
||||
poh_recorder: &Mutex<PohRecorder>,
|
||||
vote_op: VoteOp,
|
||||
) {
|
||||
let _ = cluster_info.send_vote(
|
||||
vote_op.tx(),
|
||||
crate::banking_stage::next_leader_tpu(cluster_info, poh_recorder),
|
||||
);
|
||||
|
||||
match vote_op {
|
||||
VoteOp::PushVote { tx, tower_slots } => {
|
||||
cluster_info.push_vote(&tower_slots, tx);
|
||||
}
|
||||
VoteOp::RefreshVote {
|
||||
tx,
|
||||
last_voted_slot,
|
||||
} => {
|
||||
cluster_info.refresh_vote(tx, last_voted_slot);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub fn join(self) -> thread::Result<()> {
|
||||
self.thread_hdl.join()
|
||||
}
|
||||
}
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-crate-features"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana Crate Features"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
|
@@ -2474,6 +2474,9 @@ The result will be an RpcResponse JSON object with `value` equal to a JSON objec
|
||||
- `uiAmount: <number | null>` - the balance, using mint-prescribed decimals **DEPRECATED**
|
||||
- `uiAmountString: <string>` - the balance as a string, using mint-prescribed decimals
|
||||
|
||||
For more details on returned data: The
|
||||
[Token Balances Structure](jsonrpc-api.md#token-balances-structure) response from [getBlock](jsonrpc-api.md#getblock) follows a similar structure.
|
||||
|
||||
#### Example:
|
||||
|
||||
Request:
|
||||
@@ -3016,7 +3019,7 @@ curl http://localhost:8899 -X POST -H "Content-Type: application/json" -d '
|
||||
|
||||
Result:
|
||||
```json
|
||||
{"jsonrpc":"2.0","result":{"solana-core": "1.7.5"},"id":1}
|
||||
{"jsonrpc":"2.0","result":{"solana-core": "1.7.8"},"id":1}
|
||||
```
|
||||
|
||||
### getVoteAccounts
|
||||
@@ -4313,9 +4316,9 @@ Result:
|
||||
```
|
||||
|
||||
For more details on returned data:
|
||||
[Transaction Structure](jsonrpc-api.md#transactionstructure)
|
||||
[Inner Instructions Structure](jsonrpc-api.md#innerinstructionsstructure)
|
||||
[Token Balances Structure](jsonrpc-api.md#tokenbalancesstructure)
|
||||
[Transaction Structure](jsonrpc-api.md#transaction-structure)
|
||||
[Inner Instructions Structure](jsonrpc-api.md#inner-instructions-structure)
|
||||
[Token Balances Structure](jsonrpc-api.md#token-balances-structure)
|
||||
|
||||
### getConfirmedBlocks
|
||||
|
||||
|
@@ -94,7 +94,7 @@ attempts to use a float operation that is not supported, the runtime will report
|
||||
an unresolved symbol error.
|
||||
|
||||
Float operations are performed via software libraries, specifically LLVM's float
|
||||
builtins. Due to be software emulated they consume more compute units than
|
||||
builtins. Due to the software emulated they consume more compute units than
|
||||
integer operations. In general, fixed point operations are recommended where
|
||||
possible.
|
||||
|
||||
@@ -108,7 +108,7 @@ To run the test, sync the repo, and run:
|
||||
|
||||
Recent results show the float operations take more instructions compared to
|
||||
integers equivalents. Fixed point implementations may vary but will also be
|
||||
less then the float equivalents:
|
||||
less than the float equivalents:
|
||||
|
||||
```
|
||||
u64 f32
|
||||
|
@@ -139,7 +139,7 @@ accounts are permanently marked as executable by the loader once they are
|
||||
successfully deployed. The runtime will reject transactions that specify programs
|
||||
that are not executable.
|
||||
|
||||
Unlike on-chain programs, [Native Programs](developing/runtime-facilities/programs)
|
||||
Unlike on-chain programs, [Native Programs](developing/runtime-facilities/programs.md)
|
||||
are handled differently in that they are built directly into the Solana runtime.
|
||||
|
||||
### Accounts
|
||||
|
@@ -46,8 +46,8 @@ people were confused about whether they were the same project. The Loom team
|
||||
decided it would rebrand. They chose the name Solana, a nod to a small beach
|
||||
town North of San Diego called Solana Beach, where Anatoly, Greg and Stephen
|
||||
lived and surfed for three years when they worked for Qualcomm. On March 28th,
|
||||
the team created the Solana Labs GitHub organization and renamed Greg's
|
||||
prototype Silk to Solana.
|
||||
the team created the Solana GitHub organization and renamed Greg's prototype
|
||||
Silk to Solana.
|
||||
|
||||
In June of 2018, the team scaled up the technology to run on cloud-based
|
||||
networks and on July 19th, published a 50-node, permissioned, public testnet
|
||||
|
@@ -82,8 +82,7 @@ will be of a different type than one used to simply send and receive tokens.
|
||||
|
||||
Follow the wallet's instructions for selecting a validator. You can get
|
||||
information about potentially performant validators from the links below.
|
||||
The Solana Labs team and the Solana Foundation do not recommend any particular
|
||||
validator.
|
||||
The Solana Foundation does not recommend any particular validator.
|
||||
|
||||
The Mainnet Beta validators introduce themselves and their services on this
|
||||
Solana Forum thread:
|
||||
|
@@ -2,7 +2,7 @@
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2018"
|
||||
name = "solana-dos"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -14,16 +14,16 @@ clap = "2.33.1"
|
||||
log = "0.4.11"
|
||||
rand = "0.7.0"
|
||||
rayon = "1.5.0"
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.5" }
|
||||
solana-core = { path = "../core", version = "=1.7.5" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.7.5" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.7.5" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-version = { path = "../version", version = "=1.7.5" }
|
||||
solana-client = { path = "../client", version = "=1.7.5" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.8" }
|
||||
solana-core = { path = "../core", version = "=1.7.8" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.7.8" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.7.8" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.7.8" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-version = { path = "../version", version = "=1.7.8" }
|
||||
solana-client = { path = "../client", version = "=1.7.8" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-download-utils"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana Download Utils"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -15,8 +15,8 @@ console = "0.14.1"
|
||||
indicatif = "0.15.0"
|
||||
log = "0.4.11"
|
||||
reqwest = { version = "0.11.2", default-features = false, features = ["blocking", "rustls-tls", "json"] }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.8" }
|
||||
tar = "0.4.28"
|
||||
|
||||
[lib]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-faucet"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana Faucet"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -16,12 +16,12 @@ clap = "2.33"
|
||||
log = "0.4.11"
|
||||
serde = "1.0.122"
|
||||
serde_derive = "1.0.103"
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.5" }
|
||||
solana-cli-config = { path = "../cli-config", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-version = { path = "../version", version = "=1.7.5" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.8" }
|
||||
solana-cli-config = { path = "../cli-config", version = "=1.7.8" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-version = { path = "../version", version = "=1.7.8" }
|
||||
spl-memo = { version = "=3.0.1", features = ["no-entrypoint"] }
|
||||
thiserror = "1.0"
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
|
@@ -38,10 +38,10 @@ fetch_program() {
|
||||
|
||||
}
|
||||
|
||||
fetch_program token 3.1.0 TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA BPFLoader2111111111111111111111111111111111
|
||||
fetch_program token 3.2.0 TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA BPFLoader2111111111111111111111111111111111
|
||||
fetch_program memo 1.0.0 Memo1UhkJRfHyvLMcVucJwxXeuD728EqVDDwQDxFMNo BPFLoader1111111111111111111111111111111111
|
||||
fetch_program memo 3.0.0 MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr BPFLoader2111111111111111111111111111111111
|
||||
fetch_program associated-token-account 1.0.1 ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL BPFLoader2111111111111111111111111111111111
|
||||
fetch_program associated-token-account 1.0.3 ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL BPFLoader2111111111111111111111111111111111
|
||||
fetch_program feature-proposal 1.0.0 Feat1YXHhH6t1juaWF74WLcfv4XoNocjXA6sPWHNgAse BPFLoader2111111111111111111111111111111111
|
||||
|
||||
echo "${genesis_args[@]}" > spl-genesis-args.sh
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-frozen-abi"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana Frozen ABI"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -16,11 +16,11 @@ log = "0.4.11"
|
||||
serde = "1.0.122"
|
||||
serde_derive = "1.0.103"
|
||||
sha2 = "0.9.2"
|
||||
solana-frozen-abi-macro = { path = "macro", version = "=1.7.5" }
|
||||
solana-frozen-abi-macro = { path = "macro", version = "=1.7.8" }
|
||||
thiserror = "1.0"
|
||||
|
||||
[target.'cfg(not(target_arch = "bpf"))'.dependencies]
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
generic-array = { version = "0.14.3", default-features = false, features = ["serde", "more_lengths"]}
|
||||
memmap2 = "0.1.0"
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-frozen-abi-macro"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana Frozen ABI Macro"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-genesis-utils"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana Genesis Utils"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,9 +10,9 @@ documentation = "https://docs.rs/solana-download-utils"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-download-utils = { path = "../download-utils", version = "=1.7.5" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-download-utils = { path = "../download-utils", version = "=1.7.8" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib"]
|
||||
|
@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2018"
|
||||
name = "solana-genesis"
|
||||
description = "Blockchain, Rebuilt for Scale"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -16,16 +16,16 @@ chrono = "0.4"
|
||||
serde = "1.0.122"
|
||||
serde_json = "1.0.56"
|
||||
serde_yaml = "0.8.13"
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.5" }
|
||||
solana-cli-config = { path = "../cli-config", version = "=1.7.5" }
|
||||
solana-exchange-program = { path = "../programs/exchange", version = "=1.7.5" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-stake-program = { path = "../programs/stake", version = "=1.7.5" }
|
||||
solana-version = { path = "../version", version = "=1.7.5" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.7.5" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.8" }
|
||||
solana-cli-config = { path = "../cli-config", version = "=1.7.8" }
|
||||
solana-exchange-program = { path = "../programs/exchange", version = "=1.7.8" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.7.8" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-stake-program = { path = "../programs/stake", version = "=1.7.8" }
|
||||
solana-version = { path = "../version", version = "=1.7.8" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.7.8" }
|
||||
tempfile = "3.1.0"
|
||||
|
||||
[[bin]]
|
||||
|
@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2018"
|
||||
name = "solana-gossip"
|
||||
description = "Blockchain, Rebuilt for Scale"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -26,22 +26,22 @@ rayon = "1.5.0"
|
||||
serde = "1.0.122"
|
||||
serde_bytes = "0.11"
|
||||
serde_derive = "1.0.103"
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.5" }
|
||||
solana-client = { path = "../client", version = "=1.7.5" }
|
||||
solana-frozen-abi = { path = "../frozen-abi", version = "=1.7.5" }
|
||||
solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.7.5" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-measure = { path = "../measure", version = "=1.7.5" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.7.5" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.7.5" }
|
||||
solana-perf = { path = "../perf", version = "=1.7.5" }
|
||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.7.5" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.5" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-version = { path = "../version", version = "=1.7.5" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.7.5" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.8" }
|
||||
solana-client = { path = "../client", version = "=1.7.8" }
|
||||
solana-frozen-abi = { path = "../frozen-abi", version = "=1.7.8" }
|
||||
solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.7.8" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.7.8" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
solana-measure = { path = "../measure", version = "=1.7.8" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.7.8" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.7.8" }
|
||||
solana-perf = { path = "../perf", version = "=1.7.8" }
|
||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.7.8" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.8" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-version = { path = "../version", version = "=1.7.8" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.7.8" }
|
||||
thiserror = "1.0"
|
||||
|
||||
[dev-dependencies]
|
||||
|
@@ -64,6 +64,7 @@ use {
|
||||
solana_streamer::{
|
||||
packet,
|
||||
sendmmsg::multicast,
|
||||
socket::is_global,
|
||||
streamer::{PacketReceiver, PacketSender},
|
||||
},
|
||||
solana_vote_program::vote_state::MAX_LOCKOUT_HISTORY,
|
||||
@@ -807,20 +808,20 @@ impl ClusterInfo {
|
||||
)
|
||||
}
|
||||
|
||||
pub fn push_lowest_slot(&self, id: Pubkey, min: Slot) {
|
||||
let now = timestamp();
|
||||
let last = self
|
||||
.gossip
|
||||
.read()
|
||||
.unwrap()
|
||||
pub fn push_lowest_slot(&self, min: Slot) {
|
||||
let self_pubkey = self.id();
|
||||
let last = {
|
||||
let gossip = self.gossip.read().unwrap();
|
||||
gossip
|
||||
.crds
|
||||
.get(&CrdsValueLabel::LowestSlot(self.id()))
|
||||
.and_then(|x| x.value.lowest_slot())
|
||||
.get_lowest_slot(self_pubkey)
|
||||
.map(|x| x.lowest)
|
||||
.unwrap_or(0);
|
||||
.unwrap_or_default()
|
||||
};
|
||||
if min > last {
|
||||
let now = timestamp();
|
||||
let entry = CrdsValue::new_signed(
|
||||
CrdsData::LowestSlot(0, LowestSlot::new(id, min, now)),
|
||||
CrdsData::LowestSlot(0, LowestSlot::new(self_pubkey, min, now)),
|
||||
&self.keypair,
|
||||
);
|
||||
self.local_message_pending_push_queue
|
||||
@@ -1191,7 +1192,7 @@ impl ClusterInfo {
|
||||
.filter(|node| {
|
||||
node.id != self_pubkey
|
||||
&& node.shred_version == self_shred_version
|
||||
&& ContactInfo::is_valid_address(&node.tvu)
|
||||
&& ContactInfo::is_valid_tvu_address(&node.tvu)
|
||||
})
|
||||
.cloned()
|
||||
.collect()
|
||||
@@ -1249,9 +1250,14 @@ impl ClusterInfo {
|
||||
.iter()
|
||||
.map(|peer| &peer.tvu_forwards)
|
||||
.filter(|addr| ContactInfo::is_valid_address(addr))
|
||||
.filter(|addr| is_global(addr))
|
||||
.collect()
|
||||
} else {
|
||||
peers.iter().map(|peer| &peer.tvu).collect()
|
||||
peers
|
||||
.iter()
|
||||
.map(|peer| &peer.tvu)
|
||||
.filter(|addr| is_global(addr))
|
||||
.collect()
|
||||
};
|
||||
let mut dests = &dests[..];
|
||||
let data = &packet.data[..packet.meta.size];
|
||||
|
@@ -193,10 +193,17 @@ impl ContactInfo {
|
||||
/// port must not be 0
|
||||
/// ip must be specified and not multicast
|
||||
/// loopback ip is only allowed in tests
|
||||
pub fn is_valid_address(addr: &SocketAddr) -> bool {
|
||||
// Keeping this for now not to break tvu-peers and turbine shuffle order of
|
||||
// nodes when arranging nodes on retransmit tree. Private IP addresses in
|
||||
// turbine are filtered out just before sending packets.
|
||||
pub(crate) fn is_valid_tvu_address(addr: &SocketAddr) -> bool {
|
||||
(addr.port() != 0) && Self::is_valid_ip(addr.ip())
|
||||
}
|
||||
|
||||
pub fn is_valid_address(addr: &SocketAddr) -> bool {
|
||||
Self::is_valid_tvu_address(addr) && solana_streamer::socket::is_global(addr)
|
||||
}
|
||||
|
||||
pub fn client_facing_addr(&self) -> (SocketAddr, SocketAddr) {
|
||||
(self.rpc, self.tpu)
|
||||
}
|
||||
|
@@ -83,7 +83,7 @@ impl Signable for CrdsValue {
|
||||
pub enum CrdsData {
|
||||
ContactInfo(ContactInfo),
|
||||
Vote(VoteIndex, Vote),
|
||||
LowestSlot(u8, LowestSlot),
|
||||
LowestSlot(/*DEPRECATED:*/ u8, LowestSlot),
|
||||
SnapshotHashes(SnapshotHash),
|
||||
AccountsHashes(SnapshotHash),
|
||||
EpochSlots(EpochSlotsIndex, EpochSlots),
|
||||
|
@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2018"
|
||||
name = "solana-install"
|
||||
description = "The solana cluster software installer"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -25,12 +25,12 @@ reqwest = { version = "0.11.2", default-features = false, features = ["blocking"
|
||||
serde = { version = "1.0.122", features = ["derive"] }
|
||||
serde_json = "1.0.62"
|
||||
serde_yaml = "0.8.13"
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.5" }
|
||||
solana-client = { path = "../client", version = "=1.7.5" }
|
||||
solana-config-program = { path = "../programs/config", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-version = { path = "../version", version = "=1.7.5" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.8" }
|
||||
solana-client = { path = "../client", version = "=1.7.8" }
|
||||
solana-config-program = { path = "../programs/config", version = "=1.7.8" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-version = { path = "../version", version = "=1.7.8" }
|
||||
semver = "0.9.0"
|
||||
tar = "0.4.28"
|
||||
tempfile = "3.1.0"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-keygen"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana key generation utility"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -14,11 +14,11 @@ bs58 = "0.3.1"
|
||||
clap = "2.33"
|
||||
dirs-next = "2.0.0"
|
||||
num_cpus = "1.13.0"
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.5" }
|
||||
solana-cli-config = { path = "../cli-config", version = "=1.7.5" }
|
||||
solana-remote-wallet = { path = "../remote-wallet", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-version = { path = "../version", version = "=1.7.5" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.8" }
|
||||
solana-cli-config = { path = "../cli-config", version = "=1.7.8" }
|
||||
solana-remote-wallet = { path = "../remote-wallet", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-version = { path = "../version", version = "=1.7.8" }
|
||||
tiny-bip39 = "0.7.0"
|
||||
|
||||
[[bin]]
|
||||
|
@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2018"
|
||||
name = "solana-ledger-tool"
|
||||
description = "Blockchain, Rebuilt for Scale"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -23,18 +23,18 @@ regex = "1"
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde_json = "1.0.56"
|
||||
serde_yaml = "0.8.13"
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.5" }
|
||||
solana-cli-output = { path = "../cli-output", version = "=1.7.5" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-measure = { path = "../measure", version = "=1.7.5" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-stake-program = { path = "../programs/stake", version = "=1.7.5" }
|
||||
solana-storage-bigtable = { path = "../storage-bigtable", version = "=1.7.5" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.7.5" }
|
||||
solana-version = { path = "../version", version = "=1.7.5" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.7.5" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.8" }
|
||||
solana-cli-output = { path = "../cli-output", version = "=1.7.8" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.7.8" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
solana-measure = { path = "../measure", version = "=1.7.8" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-stake-program = { path = "../programs/stake", version = "=1.7.8" }
|
||||
solana-storage-bigtable = { path = "../storage-bigtable", version = "=1.7.8" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.7.8" }
|
||||
solana-version = { path = "../version", version = "=1.7.8" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.7.8" }
|
||||
tempfile = "3.1.0"
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-ledger"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana ledger"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -34,21 +34,21 @@ reed-solomon-erasure = { version = "4.0.2", features = ["simd-accel"] }
|
||||
serde = "1.0.122"
|
||||
serde_bytes = "0.11.5"
|
||||
sha2 = "0.9.2"
|
||||
solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "=1.7.5" }
|
||||
solana-frozen-abi = { path = "../frozen-abi", version = "=1.7.5" }
|
||||
solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.7.5" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-measure = { path = "../measure", version = "=1.7.5" }
|
||||
solana-merkle-tree = { path = "../merkle-tree", version = "=1.7.5" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.7.5" }
|
||||
solana-perf = { path = "../perf", version = "=1.7.5" }
|
||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.7.5" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-storage-bigtable = { path = "../storage-bigtable", version = "=1.7.5" }
|
||||
solana-storage-proto = { path = "../storage-proto", version = "=1.7.5" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.7.5" }
|
||||
solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "=1.7.8" }
|
||||
solana-frozen-abi = { path = "../frozen-abi", version = "=1.7.8" }
|
||||
solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.7.8" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.7.8" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
solana-measure = { path = "../measure", version = "=1.7.8" }
|
||||
solana-merkle-tree = { path = "../merkle-tree", version = "=1.7.8" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.7.8" }
|
||||
solana-perf = { path = "../perf", version = "=1.7.8" }
|
||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.7.8" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-storage-bigtable = { path = "../storage-bigtable", version = "=1.7.8" }
|
||||
solana-storage-proto = { path = "../storage-proto", version = "=1.7.8" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.7.8" }
|
||||
tempfile = "3.1.0"
|
||||
thiserror = "1.0"
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
@@ -65,7 +65,7 @@ features = ["lz4"]
|
||||
[dev-dependencies]
|
||||
assert_matches = "1.3.0"
|
||||
matches = "0.1.6"
|
||||
solana-account-decoder = { path = "../account-decoder", version = "=1.7.5" }
|
||||
solana-account-decoder = { path = "../account-decoder", version = "=1.7.8" }
|
||||
|
||||
[build-dependencies]
|
||||
rustc_version = "0.2"
|
||||
|
@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2018"
|
||||
name = "solana-local-cluster"
|
||||
description = "Blockchain, Rebuilt for Scale"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -17,21 +17,21 @@ fs_extra = "1.2.0"
|
||||
log = "0.4.11"
|
||||
rand = "0.7.0"
|
||||
rayon = "1.5.0"
|
||||
solana-config-program = { path = "../programs/config", version = "=1.7.5" }
|
||||
solana-core = { path = "../core", version = "=1.7.5" }
|
||||
solana-client = { path = "../client", version = "=1.7.5" }
|
||||
solana-download-utils = { path = "../download-utils", version = "=1.7.5" }
|
||||
solana-exchange-program = { path = "../programs/exchange", version = "=1.7.5" }
|
||||
solana-faucet = { path = "../faucet", version = "=1.7.5" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.7.5" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.7.5" }
|
||||
solana-rpc = { path = "../rpc", version = "=1.7.5" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-stake-program = { path = "../programs/stake", version = "=1.7.5" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.7.5" }
|
||||
solana-config-program = { path = "../programs/config", version = "=1.7.8" }
|
||||
solana-core = { path = "../core", version = "=1.7.8" }
|
||||
solana-client = { path = "../client", version = "=1.7.8" }
|
||||
solana-download-utils = { path = "../download-utils", version = "=1.7.8" }
|
||||
solana-exchange-program = { path = "../programs/exchange", version = "=1.7.8" }
|
||||
solana-faucet = { path = "../faucet", version = "=1.7.8" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.7.8" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.7.8" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.7.8" }
|
||||
solana-rpc = { path = "../rpc", version = "=1.7.8" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-stake-program = { path = "../programs/stake", version = "=1.7.8" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.7.8" }
|
||||
tempfile = "3.1.0"
|
||||
|
||||
[dev-dependencies]
|
||||
|
@@ -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.7.5"
|
||||
version = "1.7.8"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -14,9 +14,9 @@ byte-unit = "4.0.9"
|
||||
clap = "2.33.1"
|
||||
serde = "1.0.122"
|
||||
serde_json = "1.0.56"
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-version = { path = "../version", version = "=1.7.5" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.8" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
solana-version = { path = "../version", version = "=1.7.8" }
|
||||
|
||||
[[bin]]
|
||||
name = "solana-log-analyzer"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-logger"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana Logger"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
|
@@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "solana-measure"
|
||||
description = "Blockchain, Rebuilt for Scale"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
homepage = "https://solana.com/"
|
||||
documentation = "https://docs.rs/solana-measure"
|
||||
readme = "../README.md"
|
||||
@@ -12,8 +12,8 @@ edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
log = "0.4.11"
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.7.8" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
@@ -2,7 +2,7 @@
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2018"
|
||||
name = "solana-merkle-root-bench"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -10,11 +10,11 @@ publish = false
|
||||
|
||||
[dependencies]
|
||||
log = "0.4.11"
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.5" }
|
||||
solana-measure = { path = "../measure", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-version = { path = "../version", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.8" }
|
||||
solana-measure = { path = "../measure", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-version = { path = "../version", version = "=1.7.8" }
|
||||
clap = "2.33.1"
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-merkle-tree"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana Merkle Tree"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,7 +10,7 @@ documentation = "https://docs.rs/solana-merkle-tree"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../sdk/program", version = "=1.7.8" }
|
||||
fast-math = "0.1"
|
||||
|
||||
# This can go once the BPF toolchain target Rust 1.42.0+
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-metrics"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana Metrics"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -15,7 +15,7 @@ gethostname = "0.2.1"
|
||||
lazy_static = "1.4.0"
|
||||
log = "0.4.11"
|
||||
reqwest = { version = "0.11.2", default-features = false, features = ["blocking", "rustls-tls", "json"] }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
|
||||
[dev-dependencies]
|
||||
rand = "0.7.0"
|
||||
|
@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2018"
|
||||
name = "solana-net-shaper"
|
||||
description = "The solana cluster network shaping tool"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -13,8 +13,8 @@ publish = false
|
||||
clap = "2.33.1"
|
||||
serde = "1.0.122"
|
||||
serde_json = "1.0.56"
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.8" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
rand = "0.7.0"
|
||||
|
||||
[[bin]]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-net-utils"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana Network Utilities"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -18,10 +18,10 @@ rand = "0.7.0"
|
||||
serde = "1.0.122"
|
||||
serde_derive = "1.0.103"
|
||||
socket2 = "0.3.17"
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-version = { path = "../version", version = "=1.7.5" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.8" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-version = { path = "../version", version = "=1.7.8" }
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
url = "2.1.1"
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-notifier"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana Notifier"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-perf"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana Performance APIs"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -19,10 +19,10 @@ log = "0.4.11"
|
||||
rand = "0.7.0"
|
||||
rayon = "1.5.0"
|
||||
serde = "1.0.126"
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
name = "solana_perf"
|
||||
|
@@ -118,10 +118,8 @@ fn verify_packet(packet: &mut Packet) {
|
||||
let pubkey_end = pubkey_start.saturating_add(size_of::<Pubkey>());
|
||||
let sig_end = sig_start.saturating_add(size_of::<Signature>());
|
||||
|
||||
if pubkey_end >= packet.meta.size || sig_end >= packet.meta.size {
|
||||
packet.meta.discard = true;
|
||||
return;
|
||||
}
|
||||
// get_packet_offsets should ensure pubkey_end and sig_end do
|
||||
// not overflow packet.meta.size
|
||||
|
||||
let signature = Signature::new(&packet.data[sig_start..sig_end]);
|
||||
|
||||
@@ -217,6 +215,10 @@ fn do_get_packet_offsets(
|
||||
.filter(|v| *v <= packet.meta.size)
|
||||
.ok_or(PacketError::InvalidPubkeyLen)?;
|
||||
|
||||
if pubkey_len < sig_len_untrusted {
|
||||
return Err(PacketError::InvalidPubkeyLen);
|
||||
}
|
||||
|
||||
let sig_start = current_offset
|
||||
.checked_add(sig_size)
|
||||
.ok_or(PacketError::InvalidLen)?;
|
||||
@@ -597,6 +599,65 @@ mod tests {
|
||||
assert_eq!(res, Err(PacketError::InvalidLen));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_pubkey_too_small() {
|
||||
solana_logger::setup();
|
||||
let mut tx = test_tx();
|
||||
let sig = tx.signatures[0];
|
||||
const NUM_SIG: usize = 18;
|
||||
tx.signatures = vec![sig; NUM_SIG];
|
||||
tx.message.account_keys = vec![];
|
||||
tx.message.header.num_required_signatures = NUM_SIG as u8;
|
||||
let mut packet = sigverify::make_packet_from_transaction(tx);
|
||||
|
||||
let res = sigverify::do_get_packet_offsets(&packet, 0);
|
||||
assert_eq!(res, Err(PacketError::InvalidPubkeyLen));
|
||||
|
||||
verify_packet(&mut packet);
|
||||
assert!(packet.meta.discard);
|
||||
|
||||
packet.meta.discard = false;
|
||||
let mut batches = generate_packet_vec(&packet, 1, 1);
|
||||
ed25519_verify(&mut batches);
|
||||
assert!(batches[0].packets[0].meta.discard);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_pubkey_len() {
|
||||
// See that the verify cannot walk off the end of the packet
|
||||
// trying to index into the account_keys to access pubkey.
|
||||
use solana_sdk::signer::{keypair::Keypair, Signer};
|
||||
solana_logger::setup();
|
||||
|
||||
const NUM_SIG: usize = 17;
|
||||
let keypair1 = Keypair::new();
|
||||
let pubkey1 = keypair1.pubkey();
|
||||
let mut message = Message::new(&[], Some(&pubkey1));
|
||||
message.account_keys.push(pubkey1);
|
||||
message.account_keys.push(pubkey1);
|
||||
message.header.num_required_signatures = NUM_SIG as u8;
|
||||
message.recent_blockhash = Hash(pubkey1.to_bytes());
|
||||
let mut tx = Transaction::new_unsigned(message);
|
||||
|
||||
info!("message: {:?}", tx.message_data());
|
||||
info!("tx: {:?}", tx);
|
||||
let sig = keypair1.try_sign_message(&tx.message_data()).unwrap();
|
||||
tx.signatures = vec![sig; NUM_SIG];
|
||||
|
||||
let mut packet = sigverify::make_packet_from_transaction(tx);
|
||||
|
||||
let res = sigverify::do_get_packet_offsets(&packet, 0);
|
||||
assert_eq!(res, Err(PacketError::InvalidPubkeyLen));
|
||||
|
||||
verify_packet(&mut packet);
|
||||
assert!(packet.meta.discard);
|
||||
|
||||
packet.meta.discard = false;
|
||||
let mut batches = generate_packet_vec(&packet, 1, 1);
|
||||
ed25519_verify(&mut batches);
|
||||
assert!(batches[0].packets[0].meta.discard);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_large_sig_len() {
|
||||
let tx = test_tx();
|
||||
@@ -748,10 +809,8 @@ mod tests {
|
||||
|
||||
let mut batches = generate_packet_vec(&packet, n, 2);
|
||||
|
||||
let recycler = Recycler::default();
|
||||
let recycler_out = Recycler::default();
|
||||
// verify packets
|
||||
sigverify::ed25519_verify(&mut batches, &recycler, &recycler_out);
|
||||
ed25519_verify(&mut batches);
|
||||
|
||||
// check result
|
||||
let should_discard = modify_data;
|
||||
@@ -761,6 +820,12 @@ mod tests {
|
||||
.all(|p| p.meta.discard == should_discard));
|
||||
}
|
||||
|
||||
fn ed25519_verify(batches: &mut [Packets]) {
|
||||
let recycler = Recycler::default();
|
||||
let recycler_out = Recycler::default();
|
||||
sigverify::ed25519_verify(batches, &recycler, &recycler_out);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_verify_tampered_sig_len() {
|
||||
let mut tx = test_tx();
|
||||
@@ -770,10 +835,8 @@ mod tests {
|
||||
|
||||
let mut batches = generate_packet_vec(&packet, 1, 1);
|
||||
|
||||
let recycler = Recycler::default();
|
||||
let recycler_out = Recycler::default();
|
||||
// verify packets
|
||||
sigverify::ed25519_verify(&mut batches, &recycler, &recycler_out);
|
||||
ed25519_verify(&mut batches);
|
||||
assert!(batches
|
||||
.iter()
|
||||
.flat_map(|p| &p.packets)
|
||||
@@ -810,10 +873,8 @@ mod tests {
|
||||
|
||||
batches[0].packets.push(packet);
|
||||
|
||||
let recycler = Recycler::default();
|
||||
let recycler_out = Recycler::default();
|
||||
// verify packets
|
||||
sigverify::ed25519_verify(&mut batches, &recycler, &recycler_out);
|
||||
ed25519_verify(&mut batches);
|
||||
|
||||
// check result
|
||||
let ref_ans = 1u8;
|
||||
|
@@ -2,7 +2,7 @@
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2018"
|
||||
name = "solana-poh-bench"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -13,13 +13,13 @@ clap = "2.33.1"
|
||||
log = "0.4.11"
|
||||
rand = "0.7.0"
|
||||
rayon = "1.5.0"
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.5" }
|
||||
solana-measure = { path = "../measure", version = "=1.7.5" }
|
||||
solana-version = { path = "../version", version = "=1.7.5" }
|
||||
solana-perf = { path = "../perf", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.7.8" }
|
||||
solana-measure = { path = "../measure", version = "=1.7.8" }
|
||||
solana-version = { path = "../version", version = "=1.7.8" }
|
||||
solana-perf = { path = "../perf", version = "=1.7.8" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-poh"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana PoH"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -13,20 +13,20 @@ edition = "2018"
|
||||
core_affinity = "0.5.10"
|
||||
crossbeam-channel = "0.4"
|
||||
log = "0.4.11"
|
||||
solana-ledger = { path = "../ledger", version = "=1.7.5" }
|
||||
solana-measure = { path = "../measure", version = "=1.7.5" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.7.5" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-sys-tuner = { path = "../sys-tuner", version = "=1.7.5" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.7.8" }
|
||||
solana-measure = { path = "../measure", version = "=1.7.8" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.7.8" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-sys-tuner = { path = "../sys-tuner", version = "=1.7.8" }
|
||||
thiserror = "1.0"
|
||||
|
||||
[dev-dependencies]
|
||||
bincode = "1.3.1"
|
||||
matches = "0.1.6"
|
||||
rand = "0.7.0"
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-perf = { path = "../perf", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
solana-perf = { path = "../perf", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib"]
|
||||
|
@@ -5,7 +5,7 @@ edition = "2018"
|
||||
license = "Apache-2.0"
|
||||
name = "solana-program-test"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
|
||||
[dependencies]
|
||||
async-trait = "0.1.42"
|
||||
@@ -17,13 +17,13 @@ log = "0.4.11"
|
||||
mio = "0.7.6"
|
||||
serde = "1.0.112"
|
||||
serde_derive = "1.0.103"
|
||||
solana-banks-client = { path = "../banks-client", version = "=1.7.5" }
|
||||
solana-banks-server = { path = "../banks-server", version = "=1.7.5" }
|
||||
solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "=1.7.5" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.5" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.5" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.7.5" }
|
||||
solana-banks-client = { path = "../banks-client", version = "=1.7.8" }
|
||||
solana-banks-server = { path = "../banks-server", version = "=1.7.8" }
|
||||
solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "=1.7.8" }
|
||||
solana-logger = { path = "../logger", version = "=1.7.8" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.7.8" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.7.8" }
|
||||
thiserror = "1.0"
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
|
||||
|
@@ -18,7 +18,7 @@ mod spl_associated_token_account {
|
||||
}
|
||||
|
||||
static SPL_PROGRAMS: &[(Pubkey, &[u8])] = &[
|
||||
(spl_token::ID, include_bytes!("programs/spl_token-3.1.0.so")),
|
||||
(spl_token::ID, include_bytes!("programs/spl_token-3.2.0.so")),
|
||||
(
|
||||
spl_memo_1_0::ID,
|
||||
include_bytes!("programs/spl_memo-1.0.0.so"),
|
||||
@@ -29,7 +29,7 @@ static SPL_PROGRAMS: &[(Pubkey, &[u8])] = &[
|
||||
),
|
||||
(
|
||||
spl_associated_token_account::ID,
|
||||
include_bytes!("programs/spl_associated-token-account-1.0.1.so"),
|
||||
include_bytes!("programs/spl_associated-token-account-1.0.3.so"),
|
||||
),
|
||||
];
|
||||
|
||||
|
Binary file not shown.
BIN
program-test/src/programs/spl_associated-token-account-1.0.3.so
Normal file
BIN
program-test/src/programs/spl_associated-token-account-1.0.3.so
Normal file
Binary file not shown.
Binary file not shown.
BIN
program-test/src/programs/spl_token-3.2.0.so
Normal file
BIN
program-test/src/programs/spl_token-3.2.0.so
Normal file
Binary file not shown.
428
programs/bpf/Cargo.lock
generated
428
programs/bpf/Cargo.lock
generated
@@ -221,63 +221,29 @@ version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae"
|
||||
|
||||
[[package]]
|
||||
name = "borsh"
|
||||
version = "0.8.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a5a26c53ddf60281f18e7a29b20db7ba3db82a9d81b9650bfaa02d646f50d364"
|
||||
dependencies = [
|
||||
"borsh-derive 0.8.1",
|
||||
"hashbrown",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "borsh"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4fcabb02816fdadf90866dc9a7824491ccb63d69f55375a266dc03509ac68d36"
|
||||
dependencies = [
|
||||
"borsh-derive 0.9.0",
|
||||
"borsh-derive",
|
||||
"hashbrown",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "borsh-derive"
|
||||
version = "0.8.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b637a47728b78a78cd7f4b85bf06d71ef4221840e059a38f048be2422bf673b2"
|
||||
dependencies = [
|
||||
"borsh-derive-internal 0.8.1",
|
||||
"borsh-schema-derive-internal 0.8.1",
|
||||
"proc-macro-crate",
|
||||
"proc-macro2 1.0.24",
|
||||
"syn 1.0.67",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "borsh-derive"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4bd16f0729b89f0a212b0e2e1d19cc6593df63f771161a11863967780e2d033d"
|
||||
dependencies = [
|
||||
"borsh-derive-internal 0.9.0",
|
||||
"borsh-schema-derive-internal 0.9.0",
|
||||
"borsh-derive-internal",
|
||||
"borsh-schema-derive-internal",
|
||||
"proc-macro-crate",
|
||||
"proc-macro2 1.0.24",
|
||||
"syn 1.0.67",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "borsh-derive-internal"
|
||||
version = "0.8.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d813fa25eb0bed78c36492cff4415f38c760d6de833d255ba9095bd8ebb7d725"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.24",
|
||||
"quote 1.0.6",
|
||||
"syn 1.0.67",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "borsh-derive-internal"
|
||||
version = "0.9.0"
|
||||
@@ -289,17 +255,6 @@ dependencies = [
|
||||
"syn 1.0.67",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "borsh-schema-derive-internal"
|
||||
version = "0.8.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dcf78ee4a98c8cb9eba1bac3d3e2a1ea3d7673c719ce691e67b5cbafc472d3b7"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.24",
|
||||
"quote 1.0.6",
|
||||
"syn 1.0.67",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "borsh-schema-derive-internal"
|
||||
version = "0.9.0"
|
||||
@@ -2763,7 +2718,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-account-decoder"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"Inflector",
|
||||
"base64 0.12.3",
|
||||
@@ -2784,15 +2739,15 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-banks-client"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"borsh 0.9.0",
|
||||
"borsh-derive 0.9.0",
|
||||
"borsh",
|
||||
"borsh-derive",
|
||||
"futures 0.3.12",
|
||||
"mio 0.7.7",
|
||||
"solana-banks-interface",
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
"solana-sdk",
|
||||
"tarpc",
|
||||
"tokio 1.8.1",
|
||||
@@ -2801,7 +2756,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-banks-interface"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"mio 0.7.7",
|
||||
"serde",
|
||||
@@ -2811,7 +2766,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-banks-server"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"futures 0.3.12",
|
||||
@@ -2829,7 +2784,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-loader-program"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"byteorder 1.3.4",
|
||||
@@ -2848,7 +2803,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-programs"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"byteorder 1.3.4",
|
||||
@@ -2860,7 +2815,7 @@ dependencies = [
|
||||
"solana-account-decoder",
|
||||
"solana-bpf-loader-program",
|
||||
"solana-cli-output",
|
||||
"solana-logger 1.7.5",
|
||||
"solana-logger 1.7.8",
|
||||
"solana-measure",
|
||||
"solana-runtime",
|
||||
"solana-sdk",
|
||||
@@ -2871,288 +2826,288 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-128bit"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-bpf-rust-128bit-dep",
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-128bit-dep"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-alloc"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-call-depth"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-caller-access"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-custom-heap"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-dep-crate"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"byteorder 1.3.4",
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-deprecated-loader"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-dup-accounts"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-error-handling"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"num-derive 0.2.5",
|
||||
"num-traits",
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-external-spend"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-finalize"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-instruction-introspection"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-invoke"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-bpf-rust-invoked",
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-invoke-and-error"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-invoke-and-ok"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-invoke-and-return"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-invoked"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-iter"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-many-args"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-bpf-rust-many-args-dep",
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-many-args-dep"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-mem"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
"solana-program-test",
|
||||
"solana-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-membuiltins"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-bpf-rust-mem",
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-noop"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-panic"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-param-passing"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-bpf-rust-param-passing-dep",
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-param-passing-dep"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-rand"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"getrandom 0.1.14",
|
||||
"rand 0.7.3",
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-ro-account_modify"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-ro-modify"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-sanity"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-secp256k1-recover"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-sha"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-spoof1"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-spoof1-system"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-sysvar"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
"solana-program-test",
|
||||
"solana-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-upgradeable"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-upgraded"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-program 1.7.5",
|
||||
"solana-program 1.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-clap-utils"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"clap",
|
||||
@@ -3167,7 +3122,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-cli-config"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"dirs-next",
|
||||
"lazy_static",
|
||||
@@ -3179,7 +3134,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-cli-output"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"Inflector",
|
||||
"base64 0.13.0",
|
||||
@@ -3201,7 +3156,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-client"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"base64 0.13.0",
|
||||
"bincode",
|
||||
@@ -3233,7 +3188,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-config-program"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"chrono",
|
||||
@@ -3246,7 +3201,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-crate-features"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"backtrace",
|
||||
"bytes 0.4.12",
|
||||
@@ -3269,7 +3224,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-faucet"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"byteorder 1.3.4",
|
||||
@@ -3279,7 +3234,7 @@ dependencies = [
|
||||
"serde_derive",
|
||||
"solana-clap-utils",
|
||||
"solana-cli-config",
|
||||
"solana-logger 1.7.5",
|
||||
"solana-logger 1.7.8",
|
||||
"solana-metrics",
|
||||
"solana-sdk",
|
||||
"solana-version",
|
||||
@@ -3290,9 +3245,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-frozen-abi"
|
||||
version = "1.7.1"
|
||||
version = "1.7.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "95c481f0f29753f5b2d382628abae98a1dd87b572ddc7cbe5fe55ca62b6f7f07"
|
||||
checksum = "b0b98d31e0662fedf3a1ee30919c655713874d578e19e65affe46109b1b927f9"
|
||||
dependencies = [
|
||||
"bs58",
|
||||
"bv",
|
||||
@@ -3303,14 +3258,14 @@ dependencies = [
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"sha2",
|
||||
"solana-frozen-abi-macro 1.7.1",
|
||||
"solana-logger 1.7.1",
|
||||
"solana-frozen-abi-macro 1.7.6",
|
||||
"solana-logger 1.7.6",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-frozen-abi"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"bs58",
|
||||
"bv",
|
||||
@@ -3321,16 +3276,16 @@ dependencies = [
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"sha2",
|
||||
"solana-frozen-abi-macro 1.7.5",
|
||||
"solana-logger 1.7.5",
|
||||
"solana-frozen-abi-macro 1.7.8",
|
||||
"solana-logger 1.7.8",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-frozen-abi-macro"
|
||||
version = "1.7.1"
|
||||
version = "1.7.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f2068bcc47160ac9081893439b10a05e4bbe85cc0f6bccb6f1b0815423fbdd0c"
|
||||
checksum = "ceac6e8ad1a784c92ff5f3d6ad68a8d664d389b08055b674c38b2b9abb69e6d4"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.24",
|
||||
"quote 1.0.6",
|
||||
@@ -3340,7 +3295,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-frozen-abi-macro"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.24",
|
||||
"quote 1.0.6",
|
||||
@@ -3350,9 +3305,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-logger"
|
||||
version = "1.7.1"
|
||||
version = "1.7.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7ea5932e186629f47859924b3773cfd8bcb4b8796898ac85c1fa0a6a2024e5c6"
|
||||
checksum = "ec7c514fe57f8c5042fa88c19f5711c67f264db723d9d79379fcb78dd1f09bbf"
|
||||
dependencies = [
|
||||
"env_logger",
|
||||
"lazy_static",
|
||||
@@ -3361,7 +3316,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-logger"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"env_logger",
|
||||
"lazy_static",
|
||||
@@ -3370,7 +3325,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-measure"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"log",
|
||||
"solana-metrics",
|
||||
@@ -3379,7 +3334,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-metrics"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"env_logger",
|
||||
"gethostname",
|
||||
@@ -3391,7 +3346,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-net-utils"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"clap",
|
||||
@@ -3402,7 +3357,7 @@ dependencies = [
|
||||
"serde_derive",
|
||||
"socket2",
|
||||
"solana-clap-utils",
|
||||
"solana-logger 1.7.5",
|
||||
"solana-logger 1.7.8",
|
||||
"solana-sdk",
|
||||
"solana-version",
|
||||
"tokio 1.8.1",
|
||||
@@ -3411,46 +3366,14 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-program"
|
||||
version = "1.7.1"
|
||||
version = "1.7.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7a2df39c63e21c5b58e2012e7675bed5e8dd5100470ffddedcafb78f5a7e3abe"
|
||||
checksum = "3bfe6a5dfc5372c0a946018ecdd8115e38af78cea8275bac48cf3d105c6b1fb3"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"blake3",
|
||||
"borsh 0.8.1",
|
||||
"borsh-derive 0.8.1",
|
||||
"bs58",
|
||||
"bv",
|
||||
"curve25519-dalek 2.1.0",
|
||||
"hex",
|
||||
"itertools 0.9.0",
|
||||
"lazy_static",
|
||||
"log",
|
||||
"num-derive 0.3.0",
|
||||
"num-traits",
|
||||
"rand 0.7.3",
|
||||
"rustc_version",
|
||||
"rustversion",
|
||||
"serde",
|
||||
"serde_bytes",
|
||||
"serde_derive",
|
||||
"sha2",
|
||||
"sha3",
|
||||
"solana-frozen-abi 1.7.1",
|
||||
"solana-frozen-abi-macro 1.7.1",
|
||||
"solana-logger 1.7.1",
|
||||
"solana-sdk-macro 1.7.1",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-program"
|
||||
version = "1.7.5"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"blake3",
|
||||
"borsh 0.9.0",
|
||||
"borsh-derive 0.9.0",
|
||||
"borsh",
|
||||
"borsh-derive",
|
||||
"bs58",
|
||||
"bv",
|
||||
"curve25519-dalek 2.1.0",
|
||||
@@ -3469,16 +3392,49 @@ dependencies = [
|
||||
"serde_derive",
|
||||
"sha2",
|
||||
"sha3",
|
||||
"solana-frozen-abi 1.7.5",
|
||||
"solana-frozen-abi-macro 1.7.5",
|
||||
"solana-logger 1.7.5",
|
||||
"solana-sdk-macro 1.7.5",
|
||||
"solana-frozen-abi 1.7.6",
|
||||
"solana-frozen-abi-macro 1.7.6",
|
||||
"solana-logger 1.7.6",
|
||||
"solana-sdk-macro 1.7.6",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-program"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"blake3",
|
||||
"borsh",
|
||||
"borsh-derive",
|
||||
"bs58",
|
||||
"bv",
|
||||
"curve25519-dalek 2.1.0",
|
||||
"hex",
|
||||
"itertools 0.9.0",
|
||||
"lazy_static",
|
||||
"libsecp256k1",
|
||||
"log",
|
||||
"num-derive 0.3.0",
|
||||
"num-traits",
|
||||
"rand 0.7.3",
|
||||
"rustc_version",
|
||||
"rustversion",
|
||||
"serde",
|
||||
"serde_bytes",
|
||||
"serde_derive",
|
||||
"sha2",
|
||||
"sha3",
|
||||
"solana-frozen-abi 1.7.8",
|
||||
"solana-frozen-abi-macro 1.7.8",
|
||||
"solana-logger 1.7.8",
|
||||
"solana-sdk-macro 1.7.8",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-program-test"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"base64 0.12.3",
|
||||
@@ -3492,7 +3448,7 @@ dependencies = [
|
||||
"solana-banks-client",
|
||||
"solana-banks-server",
|
||||
"solana-bpf-loader-program",
|
||||
"solana-logger 1.7.5",
|
||||
"solana-logger 1.7.8",
|
||||
"solana-runtime",
|
||||
"solana-sdk",
|
||||
"solana-vote-program",
|
||||
@@ -3502,7 +3458,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-rayon-threadlimit"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"lazy_static",
|
||||
"num_cpus",
|
||||
@@ -3510,7 +3466,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-remote-wallet"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"base32",
|
||||
"console 0.14.1",
|
||||
@@ -3529,7 +3485,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-runtime"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"arrayref",
|
||||
"bincode",
|
||||
@@ -3559,9 +3515,9 @@ dependencies = [
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"solana-config-program",
|
||||
"solana-frozen-abi 1.7.5",
|
||||
"solana-frozen-abi-macro 1.7.5",
|
||||
"solana-logger 1.7.5",
|
||||
"solana-frozen-abi 1.7.8",
|
||||
"solana-frozen-abi-macro 1.7.8",
|
||||
"solana-logger 1.7.8",
|
||||
"solana-measure",
|
||||
"solana-metrics",
|
||||
"solana-rayon-threadlimit",
|
||||
@@ -3578,7 +3534,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-sdk"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"assert_matches",
|
||||
"bincode",
|
||||
@@ -3614,20 +3570,20 @@ dependencies = [
|
||||
"sha2",
|
||||
"sha3",
|
||||
"solana-crate-features",
|
||||
"solana-frozen-abi 1.7.5",
|
||||
"solana-frozen-abi-macro 1.7.5",
|
||||
"solana-logger 1.7.5",
|
||||
"solana-program 1.7.5",
|
||||
"solana-sdk-macro 1.7.5",
|
||||
"solana-frozen-abi 1.7.8",
|
||||
"solana-frozen-abi-macro 1.7.8",
|
||||
"solana-logger 1.7.8",
|
||||
"solana-program 1.7.8",
|
||||
"solana-sdk-macro 1.7.8",
|
||||
"thiserror",
|
||||
"uriparse",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-sdk-macro"
|
||||
version = "1.7.1"
|
||||
version = "1.7.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6473d8fa445520564c84e8803320721404d160ffd876a125326a726541f11534"
|
||||
checksum = "84710ce45a21cccd9f2b09d8e9aad529080bb2540f27b1253874b6e732b465b9"
|
||||
dependencies = [
|
||||
"bs58",
|
||||
"proc-macro2 1.0.24",
|
||||
@@ -3638,7 +3594,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-sdk-macro"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"bs58",
|
||||
"proc-macro2 1.0.24",
|
||||
@@ -3649,14 +3605,14 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-secp256k1-program"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"solana-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-stake-program"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"log",
|
||||
@@ -3666,8 +3622,8 @@ dependencies = [
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"solana-config-program",
|
||||
"solana-frozen-abi 1.7.5",
|
||||
"solana-frozen-abi-macro 1.7.5",
|
||||
"solana-frozen-abi 1.7.8",
|
||||
"solana-frozen-abi-macro 1.7.8",
|
||||
"solana-metrics",
|
||||
"solana-sdk",
|
||||
"solana-vote-program",
|
||||
@@ -3676,7 +3632,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-transaction-status"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"Inflector",
|
||||
"base64 0.12.3",
|
||||
@@ -3698,21 +3654,21 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-version"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"log",
|
||||
"rustc_version",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"solana-frozen-abi 1.7.5",
|
||||
"solana-frozen-abi-macro 1.7.5",
|
||||
"solana-logger 1.7.5",
|
||||
"solana-frozen-abi 1.7.8",
|
||||
"solana-frozen-abi-macro 1.7.8",
|
||||
"solana-logger 1.7.8",
|
||||
"solana-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-vote-program"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"log",
|
||||
@@ -3721,9 +3677,9 @@ dependencies = [
|
||||
"rustc_version",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"solana-frozen-abi 1.7.5",
|
||||
"solana-frozen-abi-macro 1.7.5",
|
||||
"solana-logger 1.7.5",
|
||||
"solana-frozen-abi 1.7.8",
|
||||
"solana-frozen-abi-macro 1.7.8",
|
||||
"solana-logger 1.7.8",
|
||||
"solana-metrics",
|
||||
"solana-sdk",
|
||||
"thiserror",
|
||||
@@ -3756,11 +3712,11 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
|
||||
|
||||
[[package]]
|
||||
name = "spl-associated-token-account"
|
||||
version = "1.0.2"
|
||||
version = "1.0.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4adc47eebe5d2b662cbaaba1843719c28a67e5ec5d0460bc3ca60900a51f74e2"
|
||||
checksum = "393e2240d521c3dd770806bff25c2c00d761ac962be106e14e22dd912007f428"
|
||||
dependencies = [
|
||||
"solana-program 1.7.1",
|
||||
"solana-program 1.7.6",
|
||||
"spl-token",
|
||||
]
|
||||
|
||||
@@ -3770,20 +3726,20 @@ version = "3.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bd0dc6f70db6bacea7ff25870b016a65ba1d1b6013536f08e4fd79a8f9005325"
|
||||
dependencies = [
|
||||
"solana-program 1.7.1",
|
||||
"solana-program 1.7.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "spl-token"
|
||||
version = "3.1.1"
|
||||
version = "3.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fbfa8fd791aeb4d7ad5fedb7872478de9f4e8b4fcb02dfd9e7f2f9ae3f3ddd73"
|
||||
checksum = "93bfdd5bd7c869cb565c7d7635c4fafe189b988a0bdef81063cd9585c6b8dc01"
|
||||
dependencies = [
|
||||
"arrayref",
|
||||
"num-derive 0.3.0",
|
||||
"num-traits",
|
||||
"num_enum",
|
||||
"solana-program 1.7.1",
|
||||
"solana-program 1.7.6",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "solana-bpf-programs"
|
||||
description = "Blockchain, Rebuilt for Scale"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
documentation = "https://docs.rs/solana"
|
||||
homepage = "https://solana.com/"
|
||||
readme = "README.md"
|
||||
@@ -26,15 +26,15 @@ itertools = "0.10.0"
|
||||
log = "0.4.11"
|
||||
miow = "0.2.2"
|
||||
net2 = "0.2.37"
|
||||
solana-bpf-loader-program = { path = "../bpf_loader", version = "=1.7.5" }
|
||||
solana-cli-output = { path = "../../cli-output", version = "=1.7.5" }
|
||||
solana-logger = { path = "../../logger", version = "=1.7.5" }
|
||||
solana-measure = { path = "../../measure", version = "=1.7.5" }
|
||||
solana-bpf-loader-program = { path = "../bpf_loader", version = "=1.7.8" }
|
||||
solana-cli-output = { path = "../../cli-output", version = "=1.7.8" }
|
||||
solana-logger = { path = "../../logger", version = "=1.7.8" }
|
||||
solana-measure = { path = "../../measure", version = "=1.7.8" }
|
||||
solana_rbpf = "=0.2.11"
|
||||
solana-runtime = { path = "../../runtime", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../../sdk", version = "=1.7.5" }
|
||||
solana-transaction-status = { path = "../../transaction-status", version = "=1.7.5" }
|
||||
solana-account-decoder = { path = "../../account-decoder", version = "=1.7.5" }
|
||||
solana-runtime = { path = "../../runtime", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../../sdk", version = "=1.7.8" }
|
||||
solana-transaction-status = { path = "../../transaction-status", version = "=1.7.8" }
|
||||
solana-account-decoder = { path = "../../account-decoder", version = "=1.7.8" }
|
||||
|
||||
|
||||
[[bench]]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-128bit"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,8 +10,8 @@ documentation = "https://docs.rs/solana-bpf-rust-128bit"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-bpf-rust-128bit-dep = { path = "../128bit_dep", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
solana-bpf-rust-128bit-dep = { path = "../128bit_dep", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-128bit-dep"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,7 +10,7 @@ documentation = "https://docs.rs/solana-bpf-rust-128bit-dep"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-alloc"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,7 +10,7 @@ documentation = "https://docs.rs/solana-bpf-rust-alloc"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-call-depth"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,7 +10,7 @@ documentation = "https://docs.rs/solana-bpf-rust-call-depth"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-caller-access"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,7 +10,7 @@ documentation = "https://docs.rs/solana-bpf-rust-caller-access"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-custom-heap"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,7 +10,7 @@ documentation = "https://docs.rs/solana-bpf-rust-custom-heap"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[features]
|
||||
default = ["custom-heap"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-dep-crate"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -11,7 +11,7 @@ edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
byteorder = { version = "1", default-features = false }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-deprecated-loader"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,7 +10,7 @@ documentation = "https://docs.rs/solana-bpf-rust-deprecated-loader"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-dup-accounts"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,7 +10,7 @@ documentation = "https://docs.rs/solana-bpf-rust-dup-accounts"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-error-handling"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -12,7 +12,7 @@ edition = "2018"
|
||||
[dependencies]
|
||||
num-derive = "0.2"
|
||||
num-traits = "0.2"
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
thiserror = "1.0"
|
||||
|
||||
[lib]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-external-spend"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,7 +10,7 @@ documentation = "https://docs.rs/solana-bpf-rust-external-spend"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-finalize"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,7 +10,7 @@ documentation = "https://docs.rs/solana-bpf-rust-finalize"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-instruction-introspection"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,7 +10,7 @@ documentation = "https://docs.rs/solana-bpf-rust-instruction-introspection"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-invoke"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -11,7 +11,7 @@ edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-bpf-rust-invoked = { path = "../invoked", default-features = false }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-invoke-and-error"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,7 +10,7 @@ documentation = "https://docs.rs/solana-bpf-rust-invoke-and-error"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-invoke-and-ok"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,7 +10,7 @@ documentation = "https://docs.rs/solana-bpf-rust-invoke-and-ok"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-invoke-and-return"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,7 +10,7 @@ documentation = "https://docs.rs/solana-bpf-rust-invoke-and-return"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-invoked"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,7 +10,7 @@ documentation = "https://docs.rs/solana-bpf-rust-invoked"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[features]
|
||||
default = ["program"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-iter"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,7 +10,7 @@ documentation = "https://docs.rs/solana-bpf-rust-iter"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-many-args"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,8 +10,8 @@ documentation = "https://docs.rs/solana-bpf-rust-many-args"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-bpf-rust-many-args-dep = { path = "../many_args_dep", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
solana-bpf-rust-many-args-dep = { path = "../many_args_dep", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-many-args-dep"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,7 +10,7 @@ documentation = "https://docs.rs/solana-bpf-rust-many-args-dep"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-mem"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -13,11 +13,11 @@ edition = "2018"
|
||||
no-entrypoint = []
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[dev-dependencies]
|
||||
solana-program-test = { path = "../../../../program-test", version = "=1.7.5" }
|
||||
solana-sdk = { path = "../../../../sdk", version = "=1.7.5" }
|
||||
solana-program-test = { path = "../../../../program-test", version = "=1.7.8" }
|
||||
solana-sdk = { path = "../../../../sdk", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib", "lib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-membuiltins"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,8 +10,8 @@ documentation = "https://docs.rs/solana-bpf-rust-mem"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-bpf-rust-mem = { path = "../mem", version = "=1.7.5", features = [ "no-entrypoint" ] }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-bpf-rust-mem = { path = "../mem", version = "=1.7.8", features = [ "no-entrypoint" ] }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-noop"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,7 +10,7 @@ documentation = "https://docs.rs/solana-bpf-rust-noop"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-panic"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,7 +10,7 @@ documentation = "https://docs.rs/solana-bpf-rust-panic"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[features]
|
||||
default = ["custom-panic"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-param-passing"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,8 +10,8 @@ documentation = "https://docs.rs/solana-bpf-rust-param-passing"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-bpf-rust-param-passing-dep = { path = "../param_passing_dep", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
solana-bpf-rust-param-passing-dep = { path = "../param_passing_dep", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-param-passing-dep"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,7 +10,7 @@ documentation = "https://docs.rs/solana-bpf-rust-param-passing-dep"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-rand"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -12,7 +12,7 @@ edition = "2018"
|
||||
[dependencies]
|
||||
getrandom = { version = "0.1.14", features = ["dummy"] }
|
||||
rand = "0.7"
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-ro-account_modify"
|
||||
version = "1.7.5"
|
||||
version = "1.7.8"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -10,7 +10,7 @@ documentation = "https://docs.rs/solana-bpf-rust-ro-modify"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.5" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.7.8" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user