Compare commits

..

20 Commits

Author SHA1 Message Date
sakridge
7aced9e772 Sigverify refactor (#18872) 2021-07-23 22:23:57 +02:00
Ryo Onodera
1cc8de0fed Bump version to v1.7.8 (#18866) 2021-07-24 01:14:03 +09:00
mergify[bot]
f08c7b2294 Rpc: getProgramAccounts, restruct base58 account data size (#18852) (#18855)
* Refactor account encoding to povide helper w/out querying Bank

* Use new method in get_program_accounts to properly return length err

(cherry picked from commit 3eecb6f4ae)

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2021-07-23 05:52:53 +00:00
mergify[bot]
cc58d36de6 Really start caching by fixing swapped CAS... (#18842) (#18853)
(cherry picked from commit 611af87fdb)

Co-authored-by: Ryo Onodera <ryoqun@gmail.com>
2021-07-23 03:51:12 +00:00
mergify[bot]
128393da54 Clarify entities in docs (#18821) (#18845)
* Update docs

* Change History

(cherry picked from commit e7a687d7ee)

Co-authored-by: Ryan M. Shea <8948187+rmshea@users.noreply.github.com>
2021-07-22 20:25:38 +00:00
mergify[bot]
e7964a0b89 token: Swap new token program id for consistency on all networks (#18823) (#18837)
(cherry picked from commit d6f5945653)

Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
2021-07-22 11:03:41 +00:00
mergify[bot]
77dc3746a3 docs: fix link to Native Programs page in transactions.md (#18830) (#18832)
(cherry picked from commit 71bd434297)

Co-authored-by: Stephen Peterkins <stephen@peterkins.ca>
2021-07-22 03:59:45 +00:00
mergify[bot]
e88f4d689c Fixed broken links and added more context to getTokenAccountBalance docs (#18811)
(cherry picked from commit d751d5b6e8)

Co-authored-by: murlux <murlux@protonmail.com>
2021-07-21 18:32:58 +00:00
mergify[bot]
f1858c74a4 Disambiguate archive_snapshot_package IO error sources (#18798)
(cherry picked from commit a4c3db51fc)

Co-authored-by: Trent Nelson <trent@solana.com>
2021-07-21 17:17:57 +00:00
mergify[bot]
7427dafc36 feature: add new token program feature (backport #18780) (#18803)
* feature: add new token program feature (#18780)

* feature: add new token program feature

* Fixup test

* Update to spl-token v3.2.0

* Update Cargo.lock + fmt

* Update token program version in fetch-spl.sh

* Bump associated token program to 1.0.3

* Add aToken so

(cherry picked from commit 51f3b9aa7c)

# Conflicts:
#	Cargo.lock
#	account-decoder/Cargo.toml
#	accounts-cluster-bench/Cargo.toml
#	programs/bpf/Cargo.lock
#	rpc/Cargo.toml
#	sdk/src/feature_set.rs
#	tokens/Cargo.toml
#	transaction-status/Cargo.toml

* Fix merge issues

* Re-generate lock files

Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
2021-07-21 15:05:45 +00:00
mergify[bot]
1cdcabf7cf Bump BPF tools to v1.9 (#18766)
(cherry picked from commit 47861fc373)

Co-authored-by: Dmitri Makarov <dmakarov@alumni.stanford.edu>
2021-07-19 20:46:59 +00:00
mergify[bot]
ea192b3c83 prevent excess allocation with AccountsIndexIterator (#18605) (#18642)
(cherry picked from commit 0bd8710d34)

Co-authored-by: Jeff Washington (jwash) <75863576+jeffwashington@users.noreply.github.com>
2021-07-19 20:15:40 +00:00
mergify[bot]
927057df26 correct typo (backport #18750) (#18751)
* correct typo

(cherry picked from commit 1507477306)

* fix another typo

(cherry picked from commit 269028360c)

Co-authored-by: Yang Li <yangli1990@live.com.au>
2021-07-18 13:52:57 +00:00
Trent Nelson
19049ca91b Bump version to v1.7.7 2021-07-17 08:42:22 +00:00
mergify[bot]
3542348c1e CI Tweaks (backport #18738) (#18742)
* ci: fix typo

(cherry picked from commit 96a7cedaca)

* ci: suppress cargo tree output

(cherry picked from commit 59cd0556ef)

Co-authored-by: Trent Nelson <trent@solana.com>
2021-07-17 06:07:45 +00:00
mergify[bot]
df9061b933 excludes private ip addresses (#18740)
(cherry picked from commit e316586516)

# Conflicts:
#	core/src/broadcast_stage.rs
#	gossip/src/cluster_info.rs

Co-authored-by: behzad nouri <behzadnouri@gmail.com>
2021-07-17 04:10:43 +00:00
mergify[bot]
98658ebed5 Use rustup default profile (#18727) (#18731)
(cherry picked from commit 2ec81f627d)

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2021-07-16 15:21:34 -06:00
mergify[bot]
2a93147b1b Add voting service (#18552) (#18722)
Co-authored-by: sakridge <sakridge@gmail.com>
2021-07-16 22:12:04 +02:00
mergify[bot]
4145c629c0 removes id from push_lowest_slot args (backport #18645) (#18649)
* removes id from push_lowest_slot args (#18645)

push_lowest_slot cannot sign the new crds-value unless the id (pubkey)
argument passed-in is the same pubkey as in ClusterInfo::keypair(), in
which case the id argument is redundant:
https://github.com/solana-labs/solana/blob/bb41cf346/gossip/src/cluster_info.rs#L824-L845

Additionally, the lookup is done with self.id(), but insert is done with
the id argument, which is logically a bug.

(cherry picked from commit c90af3cd63)

# Conflicts:
#	gossip/src/cluster_info.rs

* removes backport merge conflicts

Co-authored-by: behzad nouri <behzadnouri@gmail.com>
2021-07-16 18:31:54 +00:00
sakridge
551dc0a74c Bump 1.7 version (#18723) 2021-07-16 09:43:18 -06:00
160 changed files with 1437 additions and 1238 deletions

View File

@@ -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

File diff suppressed because it is too large Load Diff

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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]

View File

@@ -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"] }

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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

View File

@@ -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

View File

@@ -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"

View File

@@ -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/"

View File

@@ -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]

View File

@@ -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]]

View File

@@ -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"]

View File

@@ -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"] }

View File

@@ -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())?;
Some((&shred.payload, &node.tvu))
if is_global(&node.tvu) {
Some((&shred.payload, &node.tvu))
} else {
None
}
})
.collect();
shred_select.stop();

View File

@@ -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(

View File

@@ -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);

View File

@@ -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]

View File

@@ -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!(

View File

@@ -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(())
}
}

View 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()
}
}

View File

@@ -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"

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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:

View File

@@ -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"]

View File

@@ -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]

View File

@@ -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"] }

View File

@@ -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

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"]

View File

@@ -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]]

View File

@@ -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]

View File

@@ -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()
.crds
.get(&CrdsValueLabel::LowestSlot(self.id()))
.and_then(|x| x.value.lowest_slot())
.map(|x| x.lowest)
.unwrap_or(0);
pub fn push_lowest_slot(&self, min: Slot) {
let self_pubkey = self.id();
let last = {
let gossip = self.gossip.read().unwrap();
gossip
.crds
.get_lowest_slot(self_pubkey)
.map(|x| x.lowest)
.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];

View File

@@ -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)
}

View File

@@ -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),

View File

@@ -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"

View File

@@ -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]]

View File

@@ -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"] }

View File

@@ -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"

View File

@@ -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]

View File

@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
edition = "2018"
name = "solana-log-analyzer"
description = "The solana cluster network analysis tool"
version = "1.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"

View File

@@ -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"

View File

@@ -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"]

View File

@@ -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]

View File

@@ -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+

View File

@@ -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"

View File

@@ -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]]

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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;

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"] }

View File

@@ -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.

428
programs/bpf/Cargo.lock generated
View File

@@ -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",
]

View File

@@ -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]]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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