Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
3ac7e043a7 | ||
|
db43c5d46d | ||
|
48dc4b3bb2 | ||
|
b0543a1ae6 | ||
|
8b0576d954 | ||
|
5c3e1967e6 | ||
|
06ebed861e | ||
|
52bd1658cc | ||
|
07a6b597d0 | ||
|
857a541ddb | ||
|
87fee49ed7 | ||
|
3ed915dcc9 |
386
Cargo.lock
generated
386
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
12
Cargo.toml
12
Cargo.toml
@@ -1,15 +1,14 @@
|
||||
[workspace]
|
||||
members = [
|
||||
"accountsdb-plugin-interface",
|
||||
"accountsdb-plugin-manager",
|
||||
"accounts-cluster-bench",
|
||||
"bench-streamer",
|
||||
"bench-tps",
|
||||
"account-decoder",
|
||||
"accounts-bench",
|
||||
"accounts-cluster-bench",
|
||||
"banking-bench",
|
||||
"banks-client",
|
||||
"banks-interface",
|
||||
"banks-server",
|
||||
"bench-streamer",
|
||||
"bench-tps",
|
||||
"bucket_map",
|
||||
"bloom",
|
||||
"clap-utils",
|
||||
@@ -26,6 +25,8 @@ members = [
|
||||
"validator",
|
||||
"genesis",
|
||||
"genesis-utils",
|
||||
"geyser-plugin-interface",
|
||||
"geyser-plugin-manager",
|
||||
"gossip",
|
||||
"install",
|
||||
"keygen",
|
||||
@@ -69,7 +70,6 @@ members = [
|
||||
"tokens",
|
||||
"transaction-dos",
|
||||
"transaction-status",
|
||||
"account-decoder",
|
||||
"upload-perf",
|
||||
"net-utils",
|
||||
"version",
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-account-decoder"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "Solana account decoder"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -19,9 +19,9 @@ lazy_static = "1.4.0"
|
||||
serde = "1.0.130"
|
||||
serde_derive = "1.0.103"
|
||||
serde_json = "1.0.72"
|
||||
solana-config-program = { path = "../programs/config", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.12" }
|
||||
solana-config-program = { path = "../programs/config", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.13" }
|
||||
spl-token = { version = "=3.2.0", features = ["no-entrypoint"] }
|
||||
thiserror = "1.0"
|
||||
zstd = "0.9.0"
|
||||
|
@@ -2,7 +2,7 @@
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2021"
|
||||
name = "solana-accounts-bench"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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.14"
|
||||
rayon = "1.5.1"
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.12" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-version = { path = "../version", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.13" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-version = { path = "../version", version = "=1.9.13" }
|
||||
clap = "2.33.1"
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
|
@@ -2,7 +2,7 @@
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2021"
|
||||
name = "solana-accounts-cluster-bench"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -13,25 +13,25 @@ clap = "2.33.1"
|
||||
log = "0.4.14"
|
||||
rand = "0.7.0"
|
||||
rayon = "1.5.1"
|
||||
solana-account-decoder = { path = "../account-decoder", version = "=1.9.12" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.9.12" }
|
||||
solana-client = { path = "../client", version = "=1.9.12" }
|
||||
solana-core = { path = "../core", version = "=1.9.12" }
|
||||
solana-faucet = { path = "../faucet", version = "=1.9.12" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.12" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.9.12" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.9.12" }
|
||||
solana-test-validator = { path = "../test-validator", version = "=1.9.12" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.9.12" }
|
||||
solana-version = { path = "../version", version = "=1.9.12" }
|
||||
solana-account-decoder = { path = "../account-decoder", version = "=1.9.13" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.9.13" }
|
||||
solana-client = { path = "../client", version = "=1.9.13" }
|
||||
solana-core = { path = "../core", version = "=1.9.13" }
|
||||
solana-faucet = { path = "../faucet", version = "=1.9.13" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.9.13" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.13" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.9.13" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.9.13" }
|
||||
solana-test-validator = { path = "../test-validator", version = "=1.9.13" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.9.13" }
|
||||
solana-version = { path = "../version", version = "=1.9.13" }
|
||||
spl-token = { version = "=3.2.0", features = ["no-entrypoint"] }
|
||||
|
||||
[dev-dependencies]
|
||||
solana-local-cluster = { path = "../local-cluster", version = "=1.9.12" }
|
||||
solana-local-cluster = { path = "../local-cluster", version = "=1.9.13" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
@@ -1,20 +0,0 @@
|
||||
<p align="center">
|
||||
<a href="https://solana.com">
|
||||
<img alt="Solana" src="https://i.imgur.com/IKyzQ6T.png" width="250" />
|
||||
</a>
|
||||
</p>
|
||||
|
||||
# Solana AccountsDb Plugin Interface
|
||||
|
||||
This crate enables an AccountsDb plugin to be plugged into the Solana Validator runtime to take actions
|
||||
at the time of each account update; for example, saving the account state to an external database. The plugin must implement the `AccountsDbPlugin` trait. Please see the detail of the `accountsdb_plugin_interface.rs` for the interface definition.
|
||||
|
||||
The plugin should produce a `cdylib` dynamic library, which must expose a `C` function `_create_plugin()` that
|
||||
instantiates the implementation of the interface.
|
||||
|
||||
The `solana-accountsdb-plugin-postgres` crate provides an example of how to create a plugin which saves the accounts data into an
|
||||
external PostgreSQL databases.
|
||||
|
||||
More information about Solana is available in the [Solana documentation](https://docs.solana.com/).
|
||||
|
||||
Still have questions? Ask us on [Discord](https://discordapp.com/invite/pquxPsq)
|
@@ -1 +0,0 @@
|
||||
pub mod accountsdb_plugin_interface;
|
@@ -1,31 +0,0 @@
|
||||
[package]
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2021"
|
||||
name = "solana-accountsdb-plugin-manager"
|
||||
description = "The Solana AccountsDb plugin manager."
|
||||
version = "1.9.12"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
documentation = "https://docs.rs/solana-validator"
|
||||
|
||||
[dependencies]
|
||||
bs58 = "0.4.0"
|
||||
crossbeam-channel = "0.5"
|
||||
libloading = "0.7.2"
|
||||
log = "0.4.11"
|
||||
serde = "1.0.130"
|
||||
serde_derive = "1.0.103"
|
||||
serde_json = "1.0.72"
|
||||
solana-accountsdb-plugin-interface = { path = "../accountsdb-plugin-interface", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.12" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.9.12" }
|
||||
solana-rpc = { path = "../rpc", version = "=1.9.12" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.9.12" }
|
||||
thiserror = "1.0.30"
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
@@ -2,7 +2,7 @@
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2021"
|
||||
name = "solana-banking-bench"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -14,17 +14,17 @@ crossbeam-channel = "0.5"
|
||||
log = "0.4.14"
|
||||
rand = "0.7.0"
|
||||
rayon = "1.5.1"
|
||||
solana-core = { path = "../core", version = "=1.9.12" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.9.12" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.12" }
|
||||
solana-perf = { path = "../perf", version = "=1.9.12" }
|
||||
solana-poh = { path = "../poh", version = "=1.9.12" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.12" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-version = { path = "../version", version = "=1.9.12" }
|
||||
solana-core = { path = "../core", version = "=1.9.13" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.9.13" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.9.13" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.13" }
|
||||
solana-perf = { path = "../perf", version = "=1.9.13" }
|
||||
solana-poh = { path = "../poh", version = "=1.9.13" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.13" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-version = { path = "../version", version = "=1.9.13" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-banks-client"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "Solana banks client"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -12,17 +12,17 @@ edition = "2021"
|
||||
[dependencies]
|
||||
borsh = "0.9.1"
|
||||
futures = "0.3"
|
||||
solana-banks-interface = { path = "../banks-interface", version = "=1.9.12" }
|
||||
solana-program = { path = "../sdk/program", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-banks-interface = { path = "../banks-interface", version = "=1.9.13" }
|
||||
solana-program = { path = "../sdk/program", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
tarpc = { version = "0.27.2", features = ["full"] }
|
||||
thiserror = "1.0"
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
tokio-serde = { version = "0.8", features = ["bincode"] }
|
||||
|
||||
[dev-dependencies]
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.12" }
|
||||
solana-banks-server = { path = "../banks-server", version = "=1.9.12" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.13" }
|
||||
solana-banks-server = { path = "../banks-server", version = "=1.9.13" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-banks-interface"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "Solana banks RPC interface"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -11,7 +11,7 @@ edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
serde = { version = "1.0.130", features = ["derive"] }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
tarpc = { version = "0.27.2", features = ["full"] }
|
||||
|
||||
[lib]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-banks-server"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "Solana banks server"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -12,10 +12,10 @@ edition = "2021"
|
||||
[dependencies]
|
||||
bincode = "1.3.3"
|
||||
futures = "0.3"
|
||||
solana-banks-interface = { path = "../banks-interface", version = "=1.9.12" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-send-transaction-service = { path = "../send-transaction-service", version = "=1.9.12" }
|
||||
solana-banks-interface = { path = "../banks-interface", version = "=1.9.13" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-send-transaction-service = { path = "../send-transaction-service", version = "=1.9.13" }
|
||||
tarpc = { version = "0.27.2", features = ["full"] }
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
tokio-serde = { version = "0.8", features = ["bincode"] }
|
||||
|
@@ -2,7 +2,7 @@
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2021"
|
||||
name = "solana-bench-streamer"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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.9.12" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.9.12" }
|
||||
solana-version = { path = "../version", version = "=1.9.12" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.9.13" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.9.13" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.9.13" }
|
||||
solana-version = { path = "../version", version = "=1.9.13" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
@@ -2,7 +2,7 @@
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2021"
|
||||
name = "solana-bench-tps"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -14,23 +14,23 @@ log = "0.4.14"
|
||||
rayon = "1.5.1"
|
||||
serde_json = "1.0.72"
|
||||
serde_yaml = "0.8.21"
|
||||
solana-core = { path = "../core", version = "=1.9.12" }
|
||||
solana-genesis = { path = "../genesis", version = "=1.9.12" }
|
||||
solana-client = { path = "../client", version = "=1.9.12" }
|
||||
solana-faucet = { path = "../faucet", version = "=1.9.12" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.9.12" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.12" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.9.12" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.9.12" }
|
||||
solana-version = { path = "../version", version = "=1.9.12" }
|
||||
solana-core = { path = "../core", version = "=1.9.13" }
|
||||
solana-genesis = { path = "../genesis", version = "=1.9.13" }
|
||||
solana-client = { path = "../client", version = "=1.9.13" }
|
||||
solana-faucet = { path = "../faucet", version = "=1.9.13" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.9.13" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.9.13" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.13" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.9.13" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.9.13" }
|
||||
solana-version = { path = "../version", version = "=1.9.13" }
|
||||
|
||||
[dev-dependencies]
|
||||
serial_test = "0.5.1"
|
||||
solana-local-cluster = { path = "../local-cluster", version = "=1.9.12" }
|
||||
solana-local-cluster = { path = "../local-cluster", version = "=1.9.13" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bloom"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "Solana bloom filter"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -16,9 +16,9 @@ rand = "0.7.0"
|
||||
serde = { version = "1.0.133", features = ["rc"] }
|
||||
rayon = "1.5.1"
|
||||
serde_derive = "1.0.103"
|
||||
solana-frozen-abi = { path = "../frozen-abi", version = "=1.9.12" }
|
||||
solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-frozen-abi = { path = "../frozen-abi", version = "=1.9.13" }
|
||||
solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
log = "0.4.14"
|
||||
|
||||
[lib]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bucket-map"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "solana-bucket-map"
|
||||
homepage = "https://solana.com/"
|
||||
documentation = "https://docs.rs/solana-bucket-map"
|
||||
@@ -12,11 +12,11 @@ edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
rayon = "1.5.0"
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
memmap2 = "0.5.0"
|
||||
log = { version = "0.4.11" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.12" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.13" }
|
||||
rand = "0.7.0"
|
||||
fs_extra = "1.2.0"
|
||||
tempfile = "3.2.0"
|
||||
|
@@ -16,7 +16,7 @@ steps:
|
||||
- command: "ci/publish-crate.sh"
|
||||
agents:
|
||||
- "queue=release-build"
|
||||
timeout_in_minutes: 240
|
||||
timeout_in_minutes: 360
|
||||
name: "publish crate"
|
||||
branches: "!master"
|
||||
- command: "ci/publish-tarball.sh"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-clap-utils"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "Solana utilities for the clap"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -12,9 +12,9 @@ edition = "2021"
|
||||
[dependencies]
|
||||
clap = "2.33.0"
|
||||
rpassword = "5.0"
|
||||
solana-perf = { path = "../perf", version = "=1.9.12" }
|
||||
solana-remote-wallet = { path = "../remote-wallet", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-perf = { path = "../perf", version = "=1.9.13" }
|
||||
solana-remote-wallet = { path = "../remote-wallet", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
thiserror = "1.0.30"
|
||||
tiny-bip39 = "0.8.2"
|
||||
uriparse = "0.6.3"
|
||||
|
@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2021"
|
||||
name = "solana-cli-config"
|
||||
description = "Blockchain, Rebuilt for Scale"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
|
@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2021"
|
||||
name = "solana-cli-output"
|
||||
description = "Blockchain, Rebuilt for Scale"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -19,12 +19,12 @@ Inflector = "0.11.4"
|
||||
indicatif = "0.16.2"
|
||||
serde = "1.0.130"
|
||||
serde_json = "1.0.72"
|
||||
solana-account-decoder = { path = "../account-decoder", version = "=1.9.12" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.9.12" }
|
||||
solana-client = { path = "../client", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.9.12" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.12" }
|
||||
solana-account-decoder = { path = "../account-decoder", version = "=1.9.13" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.9.13" }
|
||||
solana-client = { path = "../client", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.9.13" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.13" }
|
||||
spl-memo = { version = "=3.0.1", features = ["no-entrypoint"] }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
|
@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2021"
|
||||
name = "solana-cli"
|
||||
description = "Blockchain, Rebuilt for Scale"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -26,29 +26,29 @@ semver = "1.0.4"
|
||||
serde = "1.0.130"
|
||||
serde_derive = "1.0.103"
|
||||
serde_json = "1.0.72"
|
||||
solana-account-decoder = { path = "../account-decoder", version = "=1.9.12" }
|
||||
solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "=1.9.12" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.9.12" }
|
||||
solana-cli-config = { path = "../cli-config", version = "=1.9.12" }
|
||||
solana-cli-output = { path = "../cli-output", version = "=1.9.12" }
|
||||
solana-client = { path = "../client", version = "=1.9.12" }
|
||||
solana-config-program = { path = "../programs/config", version = "=1.9.12" }
|
||||
solana-faucet = { path = "../faucet", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-program-runtime = { path = "../program-runtime", version = "=1.9.12" }
|
||||
solana-account-decoder = { path = "../account-decoder", version = "=1.9.13" }
|
||||
solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "=1.9.13" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.9.13" }
|
||||
solana-cli-config = { path = "../cli-config", version = "=1.9.13" }
|
||||
solana-cli-output = { path = "../cli-output", version = "=1.9.13" }
|
||||
solana-client = { path = "../client", version = "=1.9.13" }
|
||||
solana-config-program = { path = "../programs/config", version = "=1.9.13" }
|
||||
solana-faucet = { path = "../faucet", version = "=1.9.13" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-program-runtime = { path = "../program-runtime", version = "=1.9.13" }
|
||||
solana_rbpf = "=0.2.24"
|
||||
solana-remote-wallet = { path = "../remote-wallet", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.9.12" }
|
||||
solana-version = { path = "../version", version = "=1.9.12" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.12" }
|
||||
solana-remote-wallet = { path = "../remote-wallet", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.9.13" }
|
||||
solana-version = { path = "../version", version = "=1.9.13" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.13" }
|
||||
spl-memo = { version = "=3.0.1", features = ["no-entrypoint"] }
|
||||
thiserror = "1.0.30"
|
||||
tiny-bip39 = "0.8.2"
|
||||
|
||||
[dev-dependencies]
|
||||
solana-streamer = { path = "../streamer", version = "=1.9.12" }
|
||||
solana-test-validator = { path = "../test-validator", version = "=1.9.12" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.9.13" }
|
||||
solana-test-validator = { path = "../test-validator", version = "=1.9.13" }
|
||||
tempfile = "3.2.0"
|
||||
|
||||
[[bin]]
|
||||
|
@@ -291,8 +291,12 @@ pub fn process_set_validator_info(
|
||||
// Check existence of validator-info account
|
||||
let balance = rpc_client.get_balance(&info_pubkey).unwrap_or(0);
|
||||
|
||||
let lamports =
|
||||
rpc_client.get_minimum_balance_for_rent_exemption(ValidatorInfo::max_space() as usize)?;
|
||||
let keys = vec![
|
||||
(validator_info::id(), false),
|
||||
(config.signers[0].pubkey(), true),
|
||||
];
|
||||
let data_len = ValidatorInfo::max_space() + ConfigKeys::serialized_size(keys.clone());
|
||||
let lamports = rpc_client.get_minimum_balance_for_rent_exemption(data_len as usize)?;
|
||||
|
||||
let signers = if balance == 0 {
|
||||
if info_pubkey != info_keypair.pubkey() {
|
||||
@@ -308,10 +312,7 @@ pub fn process_set_validator_info(
|
||||
};
|
||||
|
||||
let build_message = |lamports| {
|
||||
let keys = vec![
|
||||
(validator_info::id(), false),
|
||||
(config.signers[0].pubkey(), true),
|
||||
];
|
||||
let keys = keys.clone();
|
||||
if balance == 0 {
|
||||
println!(
|
||||
"Publishing info for Validator {:?}",
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-client-test"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "Solana RPC Test"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -8,28 +8,29 @@ license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
documentation = "https://docs.rs/solana-client-test"
|
||||
edition = "2021"
|
||||
publish = false
|
||||
|
||||
[dependencies]
|
||||
serde_json = "1.0.72"
|
||||
serial_test = "0.5.1"
|
||||
solana-client = { path = "../client", version = "=1.9.12" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.9.12" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.12" }
|
||||
solana-merkle-tree = { path = "../merkle-tree", version = "=1.9.12" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.9.12" }
|
||||
solana-perf = { path = "../perf", version = "=1.9.12" }
|
||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.9.12" }
|
||||
solana-rpc = { path = "../rpc", version = "=1.9.12" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.9.12" }
|
||||
solana-test-validator = { path = "../test-validator", version = "=1.9.12" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.9.12" }
|
||||
solana-version = { path = "../version", version = "=1.9.12" }
|
||||
solana-client = { path = "../client", version = "=1.9.13" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.9.13" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.13" }
|
||||
solana-merkle-tree = { path = "../merkle-tree", version = "=1.9.13" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.9.13" }
|
||||
solana-perf = { path = "../perf", version = "=1.9.13" }
|
||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.9.13" }
|
||||
solana-rpc = { path = "../rpc", version = "=1.9.13" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.9.13" }
|
||||
solana-test-validator = { path = "../test-validator", version = "=1.9.13" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.9.13" }
|
||||
solana-version = { path = "../version", version = "=1.9.13" }
|
||||
systemstat = "0.1.10"
|
||||
|
||||
[dev-dependencies]
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-client"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "Solana Client"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -23,15 +23,15 @@ semver = "1.0.4"
|
||||
serde = "1.0.130"
|
||||
serde_derive = "1.0.103"
|
||||
serde_json = "1.0.72"
|
||||
solana-account-decoder = { path = "../account-decoder", version = "=1.9.12" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.9.12" }
|
||||
solana-faucet = { path = "../faucet", version = "=1.9.12" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.9.12" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.9.12" }
|
||||
solana-version = { path = "../version", version = "=1.9.12" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.12" }
|
||||
solana-account-decoder = { path = "../account-decoder", version = "=1.9.13" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.9.13" }
|
||||
solana-faucet = { path = "../faucet", version = "=1.9.13" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.9.13" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.9.13" }
|
||||
solana-version = { path = "../version", version = "=1.9.13" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.13" }
|
||||
thiserror = "1.0"
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
tungstenite = { version = "0.16.0", features = ["rustls-tls-webpki-roots"] }
|
||||
@@ -40,7 +40,7 @@ url = "2.2.2"
|
||||
[dev-dependencies]
|
||||
assert_matches = "1.5.0"
|
||||
jsonrpc-http-server = "18.0.0"
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
@@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "solana-core"
|
||||
description = "Blockchain, Rebuilt for Scale"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
homepage = "https://solana.com/"
|
||||
documentation = "https://docs.rs/solana-core"
|
||||
readme = "../README.md"
|
||||
@@ -34,32 +34,32 @@ rayon = "1.5.1"
|
||||
retain_mut = "0.1.5"
|
||||
serde = "1.0.130"
|
||||
serde_derive = "1.0.103"
|
||||
solana-accountsdb-plugin-manager = { path = "../accountsdb-plugin-manager", version = "=1.9.12" }
|
||||
solana-bloom = { path = "../bloom", version = "=1.9.12" }
|
||||
solana-client = { path = "../client", version = "=1.9.12" }
|
||||
solana-entry = { path = "../entry", version = "=1.9.12" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.9.12" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.12" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.9.12" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.9.12" }
|
||||
solana-perf = { path = "../perf", version = "=1.9.12" }
|
||||
solana-poh = { path = "../poh", version = "=1.9.12" }
|
||||
solana-program-runtime = { path = "../program-runtime", version = "=1.9.12" }
|
||||
solana-rpc = { path = "../rpc", version = "=1.9.12" }
|
||||
solana-replica-lib = { path = "../replica-lib", version = "=1.9.12" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-frozen-abi = { path = "../frozen-abi", version = "=1.9.12" }
|
||||
solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.9.12" }
|
||||
solana-send-transaction-service = { path = "../send-transaction-service", version = "=1.9.12" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.9.12" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.9.12" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.12" }
|
||||
solana-bloom = { path = "../bloom", version = "=1.9.13" }
|
||||
solana-client = { path = "../client", version = "=1.9.13" }
|
||||
solana-entry = { path = "../entry", version = "=1.9.13" }
|
||||
solana-geyser-plugin-manager = { path = "../geyser-plugin-manager", version = "=1.9.13" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.9.13" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.9.13" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.13" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.9.13" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.9.13" }
|
||||
solana-perf = { path = "../perf", version = "=1.9.13" }
|
||||
solana-poh = { path = "../poh", version = "=1.9.13" }
|
||||
solana-program-runtime = { path = "../program-runtime", version = "=1.9.13" }
|
||||
solana-rpc = { path = "../rpc", version = "=1.9.13" }
|
||||
solana-replica-lib = { path = "../replica-lib", version = "=1.9.13" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-frozen-abi = { path = "../frozen-abi", version = "=1.9.13" }
|
||||
solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.9.13" }
|
||||
solana-send-transaction-service = { path = "../send-transaction-service", version = "=1.9.13" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.9.13" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.9.13" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.13" }
|
||||
tempfile = "3.2.0"
|
||||
thiserror = "1.0"
|
||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.9.12" }
|
||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.9.13" }
|
||||
sys-info = "0.9.1"
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
trees = "0.4.2"
|
||||
@@ -73,9 +73,9 @@ matches = "0.1.9"
|
||||
reqwest = { version = "0.11.6", default-features = false, features = ["blocking", "rustls-tls", "json"] }
|
||||
serde_json = "1.0.72"
|
||||
serial_test = "0.5.1"
|
||||
solana-program-runtime = { path = "../program-runtime", version = "=1.9.12" }
|
||||
solana-stake-program = { path = "../programs/stake", version = "=1.9.12" }
|
||||
solana-version = { path = "../version", version = "=1.9.12" }
|
||||
solana-program-runtime = { path = "../program-runtime", version = "=1.9.13" }
|
||||
solana-stake-program = { path = "../programs/stake", version = "=1.9.13" }
|
||||
solana-version = { path = "../version", version = "=1.9.13" }
|
||||
static_assertions = "1.1.0"
|
||||
systemstat = "0.1.10"
|
||||
|
||||
|
@@ -26,9 +26,9 @@ use {
|
||||
voting_service::VoteOp,
|
||||
window_service::DuplicateSlotReceiver,
|
||||
},
|
||||
solana_accountsdb_plugin_manager::block_metadata_notifier_interface::BlockMetadataNotifierLock,
|
||||
solana_client::rpc_response::SlotUpdate,
|
||||
solana_entry::entry::VerifyRecyclers,
|
||||
solana_geyser_plugin_manager::block_metadata_notifier_interface::BlockMetadataNotifierLock,
|
||||
solana_gossip::cluster_info::ClusterInfo,
|
||||
solana_ledger::{
|
||||
block_error::BlockError,
|
||||
|
@@ -26,7 +26,7 @@ use {
|
||||
voting_service::VotingService,
|
||||
},
|
||||
crossbeam_channel::unbounded,
|
||||
solana_accountsdb_plugin_manager::block_metadata_notifier_interface::BlockMetadataNotifierLock,
|
||||
solana_geyser_plugin_manager::block_metadata_notifier_interface::BlockMetadataNotifierLock,
|
||||
solana_gossip::cluster_info::ClusterInfo,
|
||||
solana_ledger::{
|
||||
blockstore::Blockstore, blockstore_processor::TransactionStatusSender,
|
||||
|
@@ -21,8 +21,8 @@ use {
|
||||
},
|
||||
crossbeam_channel::{bounded, unbounded},
|
||||
rand::{thread_rng, Rng},
|
||||
solana_accountsdb_plugin_manager::accountsdb_plugin_service::AccountsDbPluginService,
|
||||
solana_entry::poh::compute_hash_time_ns,
|
||||
solana_geyser_plugin_manager::geyser_plugin_service::GeyserPluginService,
|
||||
solana_gossip::{
|
||||
cluster_info::{
|
||||
ClusterInfo, Node, DEFAULT_CONTACT_DEBUG_INTERVAL_MILLIS,
|
||||
@@ -119,7 +119,7 @@ pub struct ValidatorConfig {
|
||||
pub account_shrink_paths: Option<Vec<PathBuf>>,
|
||||
pub rpc_config: JsonRpcConfig,
|
||||
pub accountsdb_repl_service_config: Option<AccountsDbReplServiceConfig>,
|
||||
pub accountsdb_plugin_config_files: Option<Vec<PathBuf>>,
|
||||
pub geyser_plugin_config_files: Option<Vec<PathBuf>>,
|
||||
pub rpc_addrs: Option<(SocketAddr, SocketAddr)>, // (JsonRpc, JsonRpcPubSub)
|
||||
pub pubsub_config: PubSubConfig,
|
||||
pub snapshot_config: Option<SnapshotConfig>,
|
||||
@@ -180,7 +180,7 @@ impl Default for ValidatorConfig {
|
||||
account_shrink_paths: None,
|
||||
rpc_config: JsonRpcConfig::default(),
|
||||
accountsdb_repl_service_config: None,
|
||||
accountsdb_plugin_config_files: None,
|
||||
geyser_plugin_config_files: None,
|
||||
rpc_addrs: None,
|
||||
pubsub_config: PubSubConfig::default(),
|
||||
snapshot_config: None,
|
||||
@@ -298,7 +298,7 @@ pub struct Validator {
|
||||
pub cluster_info: Arc<ClusterInfo>,
|
||||
pub bank_forks: Arc<RwLock<BankForks>>,
|
||||
accountsdb_repl_service: Option<AccountsDbReplService>,
|
||||
accountsdb_plugin_service: Option<AccountsDbPluginService>,
|
||||
geyser_plugin_service: Option<GeyserPluginService>,
|
||||
}
|
||||
|
||||
// in the distant future, get rid of ::new()/exit() and use Result properly...
|
||||
@@ -337,18 +337,16 @@ impl Validator {
|
||||
|
||||
let mut bank_notification_senders = Vec::new();
|
||||
|
||||
let accountsdb_plugin_service =
|
||||
if let Some(accountsdb_plugin_config_files) = &config.accountsdb_plugin_config_files {
|
||||
let geyser_plugin_service =
|
||||
if let Some(geyser_plugin_config_files) = &config.geyser_plugin_config_files {
|
||||
let (confirmed_bank_sender, confirmed_bank_receiver) = unbounded();
|
||||
bank_notification_senders.push(confirmed_bank_sender);
|
||||
let result = AccountsDbPluginService::new(
|
||||
confirmed_bank_receiver,
|
||||
accountsdb_plugin_config_files,
|
||||
);
|
||||
let result =
|
||||
GeyserPluginService::new(confirmed_bank_receiver, geyser_plugin_config_files);
|
||||
match result {
|
||||
Ok(accountsdb_plugin_service) => Some(accountsdb_plugin_service),
|
||||
Ok(geyser_plugin_service) => Some(geyser_plugin_service),
|
||||
Err(err) => {
|
||||
error!("Failed to load the AccountsDb plugin: {:?}", err);
|
||||
error!("Failed to load the Geyser plugin: {:?}", err);
|
||||
abort();
|
||||
}
|
||||
}
|
||||
@@ -422,29 +420,20 @@ impl Validator {
|
||||
|
||||
let accounts_package_channel = channel();
|
||||
|
||||
let accounts_update_notifier =
|
||||
accountsdb_plugin_service
|
||||
.as_ref()
|
||||
.and_then(|accountsdb_plugin_service| {
|
||||
accountsdb_plugin_service.get_accounts_update_notifier()
|
||||
});
|
||||
let accounts_update_notifier = geyser_plugin_service
|
||||
.as_ref()
|
||||
.and_then(|geyser_plugin_service| geyser_plugin_service.get_accounts_update_notifier());
|
||||
|
||||
let transaction_notifier =
|
||||
accountsdb_plugin_service
|
||||
.as_ref()
|
||||
.and_then(|accountsdb_plugin_service| {
|
||||
accountsdb_plugin_service.get_transaction_notifier()
|
||||
});
|
||||
let transaction_notifier = geyser_plugin_service
|
||||
.as_ref()
|
||||
.and_then(|geyser_plugin_service| geyser_plugin_service.get_transaction_notifier());
|
||||
|
||||
let block_metadata_notifier =
|
||||
accountsdb_plugin_service
|
||||
.as_ref()
|
||||
.and_then(|accountsdb_plugin_service| {
|
||||
accountsdb_plugin_service.get_block_metadata_notifier()
|
||||
});
|
||||
let block_metadata_notifier = geyser_plugin_service
|
||||
.as_ref()
|
||||
.and_then(|geyser_plugin_service| geyser_plugin_service.get_block_metadata_notifier());
|
||||
|
||||
info!(
|
||||
"AccountsDb plugin: accounts_update_notifier: {} transaction_notifier: {}",
|
||||
"Geyser plugin: accounts_update_notifier: {} transaction_notifier: {}",
|
||||
accounts_update_notifier.is_some(),
|
||||
transaction_notifier.is_some()
|
||||
);
|
||||
@@ -954,7 +943,7 @@ impl Validator {
|
||||
cluster_info,
|
||||
bank_forks,
|
||||
accountsdb_repl_service,
|
||||
accountsdb_plugin_service,
|
||||
geyser_plugin_service,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1073,10 +1062,8 @@ impl Validator {
|
||||
.expect("accountsdb_repl_service");
|
||||
}
|
||||
|
||||
if let Some(accountsdb_plugin_service) = self.accountsdb_plugin_service {
|
||||
accountsdb_plugin_service
|
||||
.join()
|
||||
.expect("accountsdb_plugin_service");
|
||||
if let Some(geyser_plugin_service) = self.geyser_plugin_service {
|
||||
geyser_plugin_service.join().expect("geyser_plugin_service");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -80,7 +80,7 @@ module.exports = {
|
||||
},
|
||||
"developing/test-validator",
|
||||
"developing/backwards-compatibility",
|
||||
"developing/plugins/accountsdb_plugin"
|
||||
"developing/plugins/geyser-plugins"
|
||||
],
|
||||
Integrating: ["integrations/exchange"],
|
||||
Validating: [
|
||||
|
@@ -76,7 +76,7 @@ Major releases:
|
||||
- [`solana-program`](https://docs.rs/solana-program/) - Rust SDK for writing programs
|
||||
- [`solana-client`](https://docs.rs/solana-client/) - Rust client for connecting to RPC API
|
||||
- [`solana-cli-config`](https://docs.rs/solana-cli-config/) - Rust client for managing Solana CLI config files
|
||||
- [`solana-accountsdb-plugin-interface`](https://docs.rs/solana-accountsdb-plugin-interface/) - Rust interface for developing Solana AccountsDb plugins.
|
||||
- [`solana-geyser-plugin-interface`](https://docs.rs/solana-geyser-plugin-interface/) - Rust interface for developing Solana Geyser plugins.
|
||||
|
||||
Patch releases:
|
||||
|
||||
|
@@ -2949,7 +2949,7 @@ curl http://localhost:8899 -X POST -H "Content-Type: application/json" -d '
|
||||
|
||||
Result:
|
||||
```json
|
||||
{"jsonrpc":"2.0","result":{"solana-core": "1.9.12"},"id":1}
|
||||
{"jsonrpc":"2.0","result":{"solana-core": "1.9.13"},"id":1}
|
||||
```
|
||||
|
||||
### getVoteAccounts
|
||||
|
@@ -1,18 +1,18 @@
|
||||
---
|
||||
title: Plugins
|
||||
title: Geyser Plugins
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
Validators under heavy RPC loads, such as when serving getProgramAccounts calls,
|
||||
can fall behind the network. To solve this problem, the validator has been
|
||||
enhanced to support a plugin mechanism through which the information about
|
||||
accounts and slots can be transmitted to external data stores such as relational
|
||||
databases, NoSQL databases or Kafka. RPC services then can be developed to
|
||||
consume data from these external data stores with the possibility of more
|
||||
flexible and targeted optimizations such as caching and indexing. This allows
|
||||
the validator to focus on processing transactions without being slowed down by
|
||||
busy RPC requests.
|
||||
enhanced to support a plugin mechanism, called a "Geyser" plugin, through which
|
||||
the information about accounts, slots, blocks, and transactions can be
|
||||
transmitted to external data stores such as relational databases, NoSQL
|
||||
databases or Kafka. RPC services then can be developed to consume data from
|
||||
these external data stores with the possibility of more flexible and targeted
|
||||
optimizations such as caching and indexing. This allows the validator to focus
|
||||
on processing transactions without being slowed down by busy RPC requests.
|
||||
|
||||
This document describes the interfaces of the plugin and the referential plugin
|
||||
implementation for the PostgreSQL database.
|
||||
@@ -22,24 +22,24 @@ implementation for the PostgreSQL database.
|
||||
|
||||
### Important Crates:
|
||||
|
||||
- [`solana-accountsdb-plugin-interface`] — This crate defines the plugin
|
||||
- [`solana-geyser-plugin-interface`] — This crate defines the plugin
|
||||
interfaces.
|
||||
|
||||
- [`solana-accountsdb-plugin-postgres`] — The crate for the referential
|
||||
plugin implementation for the PostgreSQL database.
|
||||
|
||||
[`solana-accountsdb-plugin-interface`]: https://docs.rs/solana-accountsdb-plugin-interface
|
||||
[`solana-geyser-plugin-interface`]: https://docs.rs/solana-geyser-plugin-interface
|
||||
[`solana-accountsdb-plugin-postgres`]: https://docs.rs/solana-accountsdb-plugin-postgres
|
||||
[`solana-sdk`]: https://docs.rs/solana-sdk
|
||||
[`solana-transaction-status`]: https://docs.rs/solana-transaction-status
|
||||
|
||||
## The Plugin Interface
|
||||
|
||||
The Plugin interface is declared in [`solana-accountsdb-plugin-interface`]. It
|
||||
is defined by the trait `AccountsDbPlugin`. The plugin should implement the
|
||||
The Plugin interface is declared in [`solana-geyser-plugin-interface`]. It
|
||||
is defined by the trait `GeyserPlugin`. The plugin should implement the
|
||||
trait and expose a "C" function `_create_plugin` to return the pointer to this
|
||||
trait. For example, in the referential implementation, the following code
|
||||
instantiates the PostgreSQL plugin `AccountsDbPluginPostgres ` and returns its
|
||||
instantiates the PostgreSQL plugin `GeyserPluginPostgres ` and returns its
|
||||
pointer.
|
||||
|
||||
```
|
||||
@@ -47,10 +47,10 @@ pointer.
|
||||
#[allow(improper_ctypes_definitions)]
|
||||
/// # Safety
|
||||
///
|
||||
/// This function returns the AccountsDbPluginPostgres pointer as trait AccountsDbPlugin.
|
||||
pub unsafe extern "C" fn _create_plugin() -> *mut dyn AccountsDbPlugin {
|
||||
let plugin = AccountsDbPluginPostgres::new();
|
||||
let plugin: Box<dyn AccountsDbPlugin> = Box::new(plugin);
|
||||
/// This function returns the GeyserPluginPostgres pointer as trait GeyserPlugin.
|
||||
pub unsafe extern "C" fn _create_plugin() -> *mut dyn GeyserPlugin {
|
||||
let plugin = GeyserPluginPostgres::new();
|
||||
let plugin: Box<dyn GeyserPlugin> = Box::new(plugin);
|
||||
Box::into_raw(plugin)
|
||||
}
|
||||
```
|
||||
@@ -62,7 +62,7 @@ file in JSON format. The JSON file must have a field `libpath` that points
|
||||
to the full path name of the shared library implementing the plugin, and may
|
||||
have other configuration information, like connection parameters for the external
|
||||
database. The plugin configuration file is specified by the validator's CLI
|
||||
parameter `--accountsdb-plugin-config` and the file must be readable to the
|
||||
parameter `--geyser-plugin-config` and the file must be readable to the
|
||||
validator process.
|
||||
|
||||
Please see the [config file](#config) for the referential
|
||||
@@ -164,11 +164,11 @@ please refer to [`solana-sdk`] and [`solana-transaction-status`]
|
||||
|
||||
The `slot` points to the slot the transaction is executed at.
|
||||
For more details, please refer to the Rust documentation in
|
||||
[`solana-accountsdb-plugin-interface`].
|
||||
[`solana-geyser-plugin-interface`].
|
||||
|
||||
## Example PostgreSQL Plugin
|
||||
|
||||
The [`solana-accountsdb-plugin-postgres`] crate implements a plugin storing
|
||||
The [`solana-accountsdb-plugin-postgres`] repository implements a plugin storing
|
||||
account data to a PostgreSQL database to illustrate how a plugin can be
|
||||
developed.
|
||||
|
||||
@@ -182,7 +182,7 @@ configuration file looks like the following:
|
||||
|
||||
```
|
||||
{
|
||||
"libpath": "/solana/target/release/libsolana_accountsdb_plugin_postgres.so",
|
||||
"libpath": "/solana/target/release/libsolana_geyser_plugin_postgres.so",
|
||||
"host": "postgres-server",
|
||||
"user": "solana",
|
||||
"port": 5433,
|
||||
@@ -366,7 +366,7 @@ Then run the script:
|
||||
psql -U solana -p 5433 -h 10.138.0.9 -w -d solana -f create_schema.sql
|
||||
```
|
||||
|
||||
After this, start the validator with the plugin by using the `--accountsdb-plugin-config`
|
||||
After this, start the validator with the plugin by using the `--geyser-plugin-config`
|
||||
argument mentioned above.
|
||||
|
||||
#### Destroy the Schema Objects
|
@@ -16,8 +16,8 @@ and received the Message's instruction data inside, and also the index of the cu
|
||||
Two helper functions to extract this data can be used:
|
||||
|
||||
```
|
||||
fn load_current_index(instruction_data: &[u8]) -> u16;
|
||||
fn load_instruction_at(instruction_index: usize, instruction_data: &[u8]) -> Result<Instruction>;
|
||||
fn load_current_index_checked(instruction_data: &[u8]) -> u16;
|
||||
fn load_instruction_at_checked(instruction_index: usize, instruction_sysvar_account_info: &AccountInfo) -> Result<Instruction>;
|
||||
```
|
||||
|
||||
The runtime will recognize this special instruction, serialize the Message instruction data
|
||||
|
@@ -2,7 +2,7 @@
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2021"
|
||||
name = "solana-dos"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -13,15 +13,15 @@ bincode = "1.3.3"
|
||||
clap = "2.33.1"
|
||||
log = "0.4.14"
|
||||
rand = "0.7.0"
|
||||
solana-core = { path = "../core", version = "=1.9.12" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.9.12" }
|
||||
solana-perf = { path = "../perf", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.9.12" }
|
||||
solana-version = { path = "../version", version = "=1.9.12" }
|
||||
solana-client = { path = "../client", version = "=1.9.12" }
|
||||
solana-core = { path = "../core", version = "=1.9.13" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.9.13" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.9.13" }
|
||||
solana-perf = { path = "../perf", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.9.13" }
|
||||
solana-version = { path = "../version", version = "=1.9.13" }
|
||||
solana-client = { path = "../client", version = "=1.9.13" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-download-utils"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "Solana Download Utils"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -14,8 +14,8 @@ console = "0.15.0"
|
||||
indicatif = "0.16.2"
|
||||
log = "0.4.14"
|
||||
reqwest = { version = "0.11.6", default-features = false, features = ["blocking", "rustls-tls", "json"] }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.13" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-entry"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "Solana Entry"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -16,17 +16,17 @@ log = "0.4.11"
|
||||
rand = "0.7.0"
|
||||
rayon = "1.5.1"
|
||||
serde = "1.0.130"
|
||||
solana-measure = { path = "../measure", version = "=1.9.12" }
|
||||
solana-merkle-tree = { path = "../merkle-tree", version = "=1.9.12" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.9.12" }
|
||||
solana-perf = { path = "../perf", version = "=1.9.12" }
|
||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.13" }
|
||||
solana-merkle-tree = { path = "../merkle-tree", version = "=1.9.13" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.9.13" }
|
||||
solana-perf = { path = "../perf", version = "=1.9.13" }
|
||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
bincode = "1.3.3"
|
||||
|
||||
[dev-dependencies]
|
||||
matches = "0.1.9"
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-faucet"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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.14"
|
||||
serde = "1.0.130"
|
||||
serde_derive = "1.0.103"
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.9.12" }
|
||||
solana-cli-config = { path = "../cli-config", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-version = { path = "../version", version = "=1.9.12" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.9.13" }
|
||||
solana-cli-config = { path = "../cli-config", version = "=1.9.13" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-version = { path = "../version", version = "=1.9.13" }
|
||||
spl-memo = { version = "=3.0.1", features = ["no-entrypoint"] }
|
||||
thiserror = "1.0"
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-frozen-abi"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "Solana Frozen ABI"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -16,11 +16,11 @@ log = "0.4.14"
|
||||
serde = "1.0.130"
|
||||
serde_derive = "1.0.103"
|
||||
sha2 = "0.9.8"
|
||||
solana-frozen-abi-macro = { path = "macro", version = "=1.9.12" }
|
||||
solana-frozen-abi-macro = { path = "macro", version = "=1.9.13" }
|
||||
thiserror = "1.0"
|
||||
|
||||
[target.'cfg(not(target_arch = "bpf"))'.dependencies]
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
generic-array = { version = "0.14.4", default-features = false, features = ["serde", "more_lengths"]}
|
||||
memmap2 = "0.5.0"
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-frozen-abi-macro"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "Solana Frozen ABI Macro"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-genesis-utils"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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 = "2021"
|
||||
|
||||
[dependencies]
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-download-utils = { path = "../download-utils", version = "=1.9.12" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-download-utils = { path = "../download-utils", version = "=1.9.13" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.13" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib"]
|
||||
|
@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2021"
|
||||
name = "solana-genesis"
|
||||
description = "Blockchain, Rebuilt for Scale"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -15,16 +15,16 @@ clap = "2.33.1"
|
||||
serde = "1.0.130"
|
||||
serde_json = "1.0.72"
|
||||
serde_yaml = "0.8.21"
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.9.12" }
|
||||
solana-cli-config = { path = "../cli-config", version = "=1.9.12" }
|
||||
solana-entry = { path = "../entry", version = "=1.9.12" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-stake-program = { path = "../programs/stake", version = "=1.9.12" }
|
||||
solana-version = { path = "../version", version = "=1.9.12" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.12" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.9.13" }
|
||||
solana-cli-config = { path = "../cli-config", version = "=1.9.13" }
|
||||
solana-entry = { path = "../entry", version = "=1.9.13" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.9.13" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-stake-program = { path = "../programs/stake", version = "=1.9.13" }
|
||||
solana-version = { path = "../version", version = "=1.9.13" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.13" }
|
||||
tempfile = "3.2.0"
|
||||
|
||||
[[bin]]
|
||||
|
@@ -1,19 +1,19 @@
|
||||
[package]
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2021"
|
||||
name = "solana-accountsdb-plugin-interface"
|
||||
description = "The Solana AccountsDb plugin interface."
|
||||
version = "1.9.12"
|
||||
name = "solana-geyser-plugin-interface"
|
||||
description = "The Solana Geyser plugin interface."
|
||||
version = "1.9.13"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
documentation = "https://docs.rs/solana-accountsdb-plugin-interface"
|
||||
documentation = "https://docs.rs/solana-geyser-plugin-interface"
|
||||
|
||||
[dependencies]
|
||||
log = "0.4.11"
|
||||
thiserror = "1.0.30"
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.9.13" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
25
geyser-plugin-interface/README.md
Normal file
25
geyser-plugin-interface/README.md
Normal file
@@ -0,0 +1,25 @@
|
||||
<p align="center">
|
||||
<a href="https://solana.com">
|
||||
<img alt="Solana" src="https://i.imgur.com/IKyzQ6T.png" width="250" />
|
||||
</a>
|
||||
</p>
|
||||
|
||||
# Solana Geyser Plugin Interface
|
||||
|
||||
This crate enables an plugin to be added into the Solana Validator runtime to
|
||||
take actions at the time of account updates or block and transaction processing;
|
||||
for example, saving the account state to an external database. The plugin must
|
||||
implement the `GeyserPlugin` trait. Please see the detail of the
|
||||
`geyser_plugin_interface.rs` for the interface definition.
|
||||
|
||||
The plugin should produce a `cdylib` dynamic library, which must expose a `C`
|
||||
function `_create_plugin()` that instantiates the implementation of the
|
||||
interface.
|
||||
|
||||
The https://github.com/solana-labs/solana-accountsdb-plugin-postgres repository
|
||||
provides an example of how to create a plugin which saves the accounts data into
|
||||
an external PostgreSQL databases.
|
||||
|
||||
More information about Solana is available in the [Solana documentation](https://docs.solana.com/).
|
||||
|
||||
Still have questions? Ask us on [Discord](https://discordapp.com/invite/pquxPsq)
|
@@ -1,5 +1,5 @@
|
||||
/// The interface for AccountsDb plugins. A plugin must implement
|
||||
/// the AccountsDbPlugin trait to work with the runtime.
|
||||
/// The interface for Geyser plugins. A plugin must implement
|
||||
/// the GeyserPlugin trait to work with the runtime.
|
||||
/// In addition, the dynamic library must export a "C" function _create_plugin which
|
||||
/// creates the implementation of the plugin.
|
||||
use {
|
||||
@@ -87,7 +87,7 @@ pub enum ReplicaBlockInfoVersions<'a> {
|
||||
|
||||
/// Errors returned by plugin calls
|
||||
#[derive(Error, Debug)]
|
||||
pub enum AccountsDbPluginError {
|
||||
pub enum GeyserPluginError {
|
||||
/// Error opening the configuration file; for example, when the file
|
||||
/// is not found or when the validator process has no permission to read it.
|
||||
#[error("Error opening config file. Error detail: ({0}).")]
|
||||
@@ -136,12 +136,12 @@ impl SlotStatus {
|
||||
}
|
||||
}
|
||||
|
||||
pub type Result<T> = std::result::Result<T, AccountsDbPluginError>;
|
||||
pub type Result<T> = std::result::Result<T, GeyserPluginError>;
|
||||
|
||||
/// Defines an AccountsDb plugin, to stream data from the runtime.
|
||||
/// AccountsDb plugins must describe desired behavior for load and unload,
|
||||
/// Defines a Geyser plugin, to stream data from the runtime.
|
||||
/// Geyser plugins must describe desired behavior for load and unload,
|
||||
/// as well as how they will handle streamed data.
|
||||
pub trait AccountsDbPlugin: Any + Send + Sync + std::fmt::Debug {
|
||||
pub trait GeyserPlugin: Any + Send + Sync + std::fmt::Debug {
|
||||
fn name(&self) -> &'static str;
|
||||
|
||||
/// The callback called when a plugin is loaded by the system,
|
1
geyser-plugin-interface/src/lib.rs
Normal file
1
geyser-plugin-interface/src/lib.rs
Normal file
@@ -0,0 +1 @@
|
||||
pub mod geyser_plugin_interface;
|
31
geyser-plugin-manager/Cargo.toml
Normal file
31
geyser-plugin-manager/Cargo.toml
Normal file
@@ -0,0 +1,31 @@
|
||||
[package]
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2021"
|
||||
name = "solana-geyser-plugin-manager"
|
||||
description = "The Solana Geyser plugin manager."
|
||||
version = "1.9.13"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
documentation = "https://docs.rs/solana-geyser-plugin-manager"
|
||||
|
||||
[dependencies]
|
||||
bs58 = "0.4.0"
|
||||
crossbeam-channel = "0.5"
|
||||
libloading = "0.7.2"
|
||||
log = "0.4.11"
|
||||
serde = "1.0.130"
|
||||
serde_derive = "1.0.103"
|
||||
serde_json = "1.0.72"
|
||||
solana-geyser-plugin-interface = { path = "../geyser-plugin-interface", version = "=1.9.13" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.13" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.9.13" }
|
||||
solana-rpc = { path = "../rpc", version = "=1.9.13" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.9.13" }
|
||||
thiserror = "1.0.30"
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
@@ -1,8 +1,8 @@
|
||||
/// Module responsible for notifying plugins of account updates
|
||||
use {
|
||||
crate::accountsdb_plugin_manager::AccountsDbPluginManager,
|
||||
crate::geyser_plugin_manager::GeyserPluginManager,
|
||||
log::*,
|
||||
solana_accountsdb_plugin_interface::accountsdb_plugin_interface::{
|
||||
solana_geyser_plugin_interface::geyser_plugin_interface::{
|
||||
ReplicaAccountInfo, ReplicaAccountInfoVersions,
|
||||
},
|
||||
solana_measure::measure::Measure,
|
||||
@@ -19,7 +19,7 @@ use {
|
||||
};
|
||||
#[derive(Debug)]
|
||||
pub(crate) struct AccountsUpdateNotifierImpl {
|
||||
plugin_manager: Arc<RwLock<AccountsDbPluginManager>>,
|
||||
plugin_manager: Arc<RwLock<GeyserPluginManager>>,
|
||||
}
|
||||
|
||||
impl AccountsUpdateNotifierInterface for AccountsUpdateNotifierImpl {
|
||||
@@ -30,14 +30,14 @@ impl AccountsUpdateNotifierInterface for AccountsUpdateNotifierImpl {
|
||||
}
|
||||
|
||||
fn notify_account_restore_from_snapshot(&self, slot: Slot, account: &StoredAccountMeta) {
|
||||
let mut measure_all = Measure::start("accountsdb-plugin-notify-account-restore-all");
|
||||
let mut measure_copy = Measure::start("accountsdb-plugin-copy-stored-account-info");
|
||||
let mut measure_all = Measure::start("geyser-plugin-notify-account-restore-all");
|
||||
let mut measure_copy = Measure::start("geyser-plugin-copy-stored-account-info");
|
||||
|
||||
let account = self.accountinfo_from_stored_account_meta(account);
|
||||
measure_copy.stop();
|
||||
|
||||
inc_new_counter_debug!(
|
||||
"accountsdb-plugin-copy-stored-account-info-us",
|
||||
"geyser-plugin-copy-stored-account-info-us",
|
||||
measure_copy.as_us() as usize,
|
||||
100000,
|
||||
100000
|
||||
@@ -49,7 +49,7 @@ impl AccountsUpdateNotifierInterface for AccountsUpdateNotifierImpl {
|
||||
measure_all.stop();
|
||||
|
||||
inc_new_counter_debug!(
|
||||
"accountsdb-plugin-notify-account-restore-all-us",
|
||||
"geyser-plugin-notify-account-restore-all-us",
|
||||
measure_all.as_us() as usize,
|
||||
100000,
|
||||
100000
|
||||
@@ -63,7 +63,7 @@ impl AccountsUpdateNotifierInterface for AccountsUpdateNotifierImpl {
|
||||
}
|
||||
|
||||
for plugin in plugin_manager.plugins.iter_mut() {
|
||||
let mut measure = Measure::start("accountsdb-plugin-end-of-restore-from-snapshot");
|
||||
let mut measure = Measure::start("geyser-plugin-end-of-restore-from-snapshot");
|
||||
match plugin.notify_end_of_startup() {
|
||||
Err(err) => {
|
||||
error!(
|
||||
@@ -81,7 +81,7 @@ impl AccountsUpdateNotifierInterface for AccountsUpdateNotifierImpl {
|
||||
}
|
||||
measure.stop();
|
||||
inc_new_counter_debug!(
|
||||
"accountsdb-plugin-end-of-restore-from-snapshot",
|
||||
"geyser-plugin-end-of-restore-from-snapshot",
|
||||
measure.as_us() as usize
|
||||
);
|
||||
}
|
||||
@@ -89,7 +89,7 @@ impl AccountsUpdateNotifierInterface for AccountsUpdateNotifierImpl {
|
||||
}
|
||||
|
||||
impl AccountsUpdateNotifierImpl {
|
||||
pub fn new(plugin_manager: Arc<RwLock<AccountsDbPluginManager>>) -> Self {
|
||||
pub fn new(plugin_manager: Arc<RwLock<GeyserPluginManager>>) -> Self {
|
||||
AccountsUpdateNotifierImpl { plugin_manager }
|
||||
}
|
||||
|
||||
@@ -130,14 +130,14 @@ impl AccountsUpdateNotifierImpl {
|
||||
slot: Slot,
|
||||
is_startup: bool,
|
||||
) {
|
||||
let mut measure2 = Measure::start("accountsdb-plugin-notify_plugins_of_account_update");
|
||||
let mut measure2 = Measure::start("geyser-plugin-notify_plugins_of_account_update");
|
||||
let mut plugin_manager = self.plugin_manager.write().unwrap();
|
||||
|
||||
if plugin_manager.plugins.is_empty() {
|
||||
return;
|
||||
}
|
||||
for plugin in plugin_manager.plugins.iter_mut() {
|
||||
let mut measure = Measure::start("accountsdb-plugin-update-account");
|
||||
let mut measure = Measure::start("geyser-plugin-update-account");
|
||||
match plugin.update_account(
|
||||
ReplicaAccountInfoVersions::V0_0_1(&account),
|
||||
slot,
|
||||
@@ -163,7 +163,7 @@ impl AccountsUpdateNotifierImpl {
|
||||
}
|
||||
measure.stop();
|
||||
inc_new_counter_debug!(
|
||||
"accountsdb-plugin-update-account-us",
|
||||
"geyser-plugin-update-account-us",
|
||||
measure.as_us() as usize,
|
||||
100000,
|
||||
100000
|
||||
@@ -171,7 +171,7 @@ impl AccountsUpdateNotifierImpl {
|
||||
}
|
||||
measure2.stop();
|
||||
inc_new_counter_debug!(
|
||||
"accountsdb-plugin-notify_plugins_of_account_update-us",
|
||||
"geyser-plugin-notify_plugins_of_account_update-us",
|
||||
measure2.as_us() as usize,
|
||||
100000,
|
||||
100000
|
@@ -1,10 +1,10 @@
|
||||
use {
|
||||
crate::{
|
||||
accountsdb_plugin_manager::AccountsDbPluginManager,
|
||||
block_metadata_notifier_interface::BlockMetadataNotifier,
|
||||
geyser_plugin_manager::GeyserPluginManager,
|
||||
},
|
||||
log::*,
|
||||
solana_accountsdb_plugin_interface::accountsdb_plugin_interface::{
|
||||
solana_geyser_plugin_interface::geyser_plugin_interface::{
|
||||
ReplicaBlockInfo, ReplicaBlockInfoVersions,
|
||||
},
|
||||
solana_measure::measure::Measure,
|
||||
@@ -16,7 +16,7 @@ use {
|
||||
};
|
||||
|
||||
pub(crate) struct BlockMetadataNotifierImpl {
|
||||
plugin_manager: Arc<RwLock<AccountsDbPluginManager>>,
|
||||
plugin_manager: Arc<RwLock<GeyserPluginManager>>,
|
||||
}
|
||||
|
||||
impl BlockMetadataNotifier for BlockMetadataNotifierImpl {
|
||||
@@ -36,7 +36,7 @@ impl BlockMetadataNotifier for BlockMetadataNotifierImpl {
|
||||
let rewards = Self::build_rewards(rewards);
|
||||
|
||||
for plugin in plugin_manager.plugins.iter_mut() {
|
||||
let mut measure = Measure::start("accountsdb-plugin-update-slot");
|
||||
let mut measure = Measure::start("geyser-plugin-update-slot");
|
||||
let block_info =
|
||||
Self::build_replica_block_info(slot, blockhash, &rewards, block_time, block_height);
|
||||
let block_info = ReplicaBlockInfoVersions::V0_0_1(&block_info);
|
||||
@@ -59,7 +59,7 @@ impl BlockMetadataNotifier for BlockMetadataNotifierImpl {
|
||||
}
|
||||
measure.stop();
|
||||
inc_new_counter_debug!(
|
||||
"accountsdb-plugin-update-block-metadata-us",
|
||||
"geyser-plugin-update-block-metadata-us",
|
||||
measure.as_us() as usize,
|
||||
1000,
|
||||
1000
|
||||
@@ -99,7 +99,7 @@ impl BlockMetadataNotifierImpl {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn new(plugin_manager: Arc<RwLock<AccountsDbPluginManager>>) -> Self {
|
||||
pub fn new(plugin_manager: Arc<RwLock<GeyserPluginManager>>) -> Self {
|
||||
Self { plugin_manager }
|
||||
}
|
||||
}
|
@@ -1,20 +1,20 @@
|
||||
/// Managing the AccountsDb plugins
|
||||
/// Managing the Geyser plugins
|
||||
use {
|
||||
libloading::{Library, Symbol},
|
||||
log::*,
|
||||
solana_accountsdb_plugin_interface::accountsdb_plugin_interface::AccountsDbPlugin,
|
||||
solana_geyser_plugin_interface::geyser_plugin_interface::GeyserPlugin,
|
||||
std::error::Error,
|
||||
};
|
||||
|
||||
#[derive(Default, Debug)]
|
||||
pub struct AccountsDbPluginManager {
|
||||
pub plugins: Vec<Box<dyn AccountsDbPlugin>>,
|
||||
pub struct GeyserPluginManager {
|
||||
pub plugins: Vec<Box<dyn GeyserPlugin>>,
|
||||
libs: Vec<Library>,
|
||||
}
|
||||
|
||||
impl AccountsDbPluginManager {
|
||||
impl GeyserPluginManager {
|
||||
pub fn new() -> Self {
|
||||
AccountsDbPluginManager {
|
||||
GeyserPluginManager {
|
||||
plugins: Vec::default(),
|
||||
libs: Vec::default(),
|
||||
}
|
||||
@@ -29,7 +29,7 @@ impl AccountsDbPluginManager {
|
||||
libpath: &str,
|
||||
config_file: &str,
|
||||
) -> Result<(), Box<dyn Error>> {
|
||||
type PluginConstructor = unsafe fn() -> *mut dyn AccountsDbPlugin;
|
||||
type PluginConstructor = unsafe fn() -> *mut dyn GeyserPlugin;
|
||||
let lib = Library::new(libpath)?;
|
||||
let constructor: Symbol<PluginConstructor> = lib.get(b"_create_plugin")?;
|
||||
let plugin_raw = constructor();
|
@@ -1,11 +1,10 @@
|
||||
use {
|
||||
crate::{
|
||||
accounts_update_notifier::AccountsUpdateNotifierImpl,
|
||||
accountsdb_plugin_manager::AccountsDbPluginManager,
|
||||
block_metadata_notifier::BlockMetadataNotifierImpl,
|
||||
block_metadata_notifier_interface::BlockMetadataNotifierLock,
|
||||
slot_status_notifier::SlotStatusNotifierImpl, slot_status_observer::SlotStatusObserver,
|
||||
transaction_notifier::TransactionNotifierImpl,
|
||||
geyser_plugin_manager::GeyserPluginManager, slot_status_notifier::SlotStatusNotifierImpl,
|
||||
slot_status_observer::SlotStatusObserver, transaction_notifier::TransactionNotifierImpl,
|
||||
},
|
||||
crossbeam_channel::Receiver,
|
||||
log::*,
|
||||
@@ -26,7 +25,7 @@ use {
|
||||
};
|
||||
|
||||
#[derive(Error, Debug)]
|
||||
pub enum AccountsdbPluginServiceError {
|
||||
pub enum GeyserPluginServiceError {
|
||||
#[error("Cannot open the the plugin config file")]
|
||||
CannotOpenConfigFile(String),
|
||||
|
||||
@@ -46,41 +45,41 @@ pub enum AccountsdbPluginServiceError {
|
||||
PluginLoadError(String),
|
||||
}
|
||||
|
||||
/// The service managing the AccountsDb plugin workflow.
|
||||
pub struct AccountsDbPluginService {
|
||||
/// The service managing the Geyser plugin workflow.
|
||||
pub struct GeyserPluginService {
|
||||
slot_status_observer: Option<SlotStatusObserver>,
|
||||
plugin_manager: Arc<RwLock<AccountsDbPluginManager>>,
|
||||
plugin_manager: Arc<RwLock<GeyserPluginManager>>,
|
||||
accounts_update_notifier: Option<AccountsUpdateNotifier>,
|
||||
transaction_notifier: Option<TransactionNotifierLock>,
|
||||
block_metadata_notifier: Option<BlockMetadataNotifierLock>,
|
||||
}
|
||||
|
||||
impl AccountsDbPluginService {
|
||||
/// Creates and returns the AccountsDbPluginService.
|
||||
impl GeyserPluginService {
|
||||
/// Creates and returns the GeyserPluginService.
|
||||
/// # Arguments
|
||||
/// * `confirmed_bank_receiver` - The receiver for confirmed bank notification
|
||||
/// * `accountsdb_plugin_config_file` - The config file path for the plugin. The
|
||||
/// * `geyser_plugin_config_file` - The config file path for the plugin. The
|
||||
/// config file controls the plugin responsible
|
||||
/// for transporting the data to external data stores. It is defined in JSON format.
|
||||
/// The `libpath` field should be pointed to the full path of the dynamic shared library
|
||||
/// (.so file) to be loaded. The shared library must implement the `AccountsDbPlugin`
|
||||
/// (.so file) to be loaded. The shared library must implement the `GeyserPlugin`
|
||||
/// trait. And the shared library shall export a `C` function `_create_plugin` which
|
||||
/// shall create the implementation of `AccountsDbPlugin` and returns to the caller.
|
||||
/// shall create the implementation of `GeyserPlugin` and returns to the caller.
|
||||
/// The rest of the JSON fields' definition is up to to the concrete plugin implementation
|
||||
/// It is usually used to configure the connection information for the external data store.
|
||||
|
||||
pub fn new(
|
||||
confirmed_bank_receiver: Receiver<BankNotification>,
|
||||
accountsdb_plugin_config_files: &[PathBuf],
|
||||
) -> Result<Self, AccountsdbPluginServiceError> {
|
||||
geyser_plugin_config_files: &[PathBuf],
|
||||
) -> Result<Self, GeyserPluginServiceError> {
|
||||
info!(
|
||||
"Starting AccountsDbPluginService from config files: {:?}",
|
||||
accountsdb_plugin_config_files
|
||||
"Starting GeyserPluginService from config files: {:?}",
|
||||
geyser_plugin_config_files
|
||||
);
|
||||
let mut plugin_manager = AccountsDbPluginManager::new();
|
||||
let mut plugin_manager = GeyserPluginManager::new();
|
||||
|
||||
for accountsdb_plugin_config_file in accountsdb_plugin_config_files {
|
||||
Self::load_plugin(&mut plugin_manager, accountsdb_plugin_config_file)?;
|
||||
for geyser_plugin_config_file in geyser_plugin_config_files {
|
||||
Self::load_plugin(&mut plugin_manager, geyser_plugin_config_file)?;
|
||||
}
|
||||
let account_data_notifications_enabled =
|
||||
plugin_manager.account_data_notifications_enabled();
|
||||
@@ -124,8 +123,8 @@ impl AccountsDbPluginService {
|
||||
(None, None)
|
||||
};
|
||||
|
||||
info!("Started AccountsDbPluginService");
|
||||
Ok(AccountsDbPluginService {
|
||||
info!("Started GeyserPluginService");
|
||||
Ok(GeyserPluginService {
|
||||
slot_status_observer,
|
||||
plugin_manager,
|
||||
accounts_update_notifier,
|
||||
@@ -135,46 +134,44 @@ impl AccountsDbPluginService {
|
||||
}
|
||||
|
||||
fn load_plugin(
|
||||
plugin_manager: &mut AccountsDbPluginManager,
|
||||
accountsdb_plugin_config_file: &Path,
|
||||
) -> Result<(), AccountsdbPluginServiceError> {
|
||||
let mut file = match File::open(accountsdb_plugin_config_file) {
|
||||
plugin_manager: &mut GeyserPluginManager,
|
||||
geyser_plugin_config_file: &Path,
|
||||
) -> Result<(), GeyserPluginServiceError> {
|
||||
let mut file = match File::open(geyser_plugin_config_file) {
|
||||
Ok(file) => file,
|
||||
Err(err) => {
|
||||
return Err(AccountsdbPluginServiceError::CannotOpenConfigFile(format!(
|
||||
return Err(GeyserPluginServiceError::CannotOpenConfigFile(format!(
|
||||
"Failed to open the plugin config file {:?}, error: {:?}",
|
||||
accountsdb_plugin_config_file, err
|
||||
geyser_plugin_config_file, err
|
||||
)));
|
||||
}
|
||||
};
|
||||
|
||||
let mut contents = String::new();
|
||||
if let Err(err) = file.read_to_string(&mut contents) {
|
||||
return Err(AccountsdbPluginServiceError::CannotReadConfigFile(format!(
|
||||
return Err(GeyserPluginServiceError::CannotReadConfigFile(format!(
|
||||
"Failed to read the plugin config file {:?}, error: {:?}",
|
||||
accountsdb_plugin_config_file, err
|
||||
geyser_plugin_config_file, err
|
||||
)));
|
||||
}
|
||||
|
||||
let result: serde_json::Value = match serde_json::from_str(&contents) {
|
||||
Ok(value) => value,
|
||||
Err(err) => {
|
||||
return Err(AccountsdbPluginServiceError::InvalidConfigFileFormat(
|
||||
format!(
|
||||
"The config file {:?} is not in a valid Json format, error: {:?}",
|
||||
accountsdb_plugin_config_file, err
|
||||
),
|
||||
));
|
||||
return Err(GeyserPluginServiceError::InvalidConfigFileFormat(format!(
|
||||
"The config file {:?} is not in a valid Json format, error: {:?}",
|
||||
geyser_plugin_config_file, err
|
||||
)));
|
||||
}
|
||||
};
|
||||
|
||||
let libpath = result["libpath"]
|
||||
.as_str()
|
||||
.ok_or(AccountsdbPluginServiceError::LibPathNotSet)?;
|
||||
let config_file = accountsdb_plugin_config_file
|
||||
.ok_or(GeyserPluginServiceError::LibPathNotSet)?;
|
||||
let config_file = geyser_plugin_config_file
|
||||
.as_os_str()
|
||||
.to_str()
|
||||
.ok_or(AccountsdbPluginServiceError::InvalidPluginPath)?;
|
||||
.ok_or(GeyserPluginServiceError::InvalidPluginPath)?;
|
||||
|
||||
unsafe {
|
||||
let result = plugin_manager.load_plugin(libpath, config_file);
|
||||
@@ -183,7 +180,7 @@ impl AccountsDbPluginService {
|
||||
"Failed to load the plugin library: {:?}, error: {:?}",
|
||||
libpath, err
|
||||
);
|
||||
return Err(AccountsdbPluginServiceError::PluginLoadError(msg));
|
||||
return Err(GeyserPluginServiceError::PluginLoadError(msg));
|
||||
}
|
||||
}
|
||||
Ok(())
|
@@ -1,8 +1,8 @@
|
||||
pub mod accounts_update_notifier;
|
||||
pub mod accountsdb_plugin_manager;
|
||||
pub mod accountsdb_plugin_service;
|
||||
pub mod block_metadata_notifier;
|
||||
pub mod block_metadata_notifier_interface;
|
||||
pub mod geyser_plugin_manager;
|
||||
pub mod geyser_plugin_service;
|
||||
pub mod slot_status_notifier;
|
||||
pub mod slot_status_observer;
|
||||
pub mod transaction_notifier;
|
@@ -1,7 +1,7 @@
|
||||
use {
|
||||
crate::accountsdb_plugin_manager::AccountsDbPluginManager,
|
||||
crate::geyser_plugin_manager::GeyserPluginManager,
|
||||
log::*,
|
||||
solana_accountsdb_plugin_interface::accountsdb_plugin_interface::SlotStatus,
|
||||
solana_geyser_plugin_interface::geyser_plugin_interface::SlotStatus,
|
||||
solana_measure::measure::Measure,
|
||||
solana_metrics::*,
|
||||
solana_sdk::clock::Slot,
|
||||
@@ -22,7 +22,7 @@ pub trait SlotStatusNotifierInterface {
|
||||
pub type SlotStatusNotifier = Arc<RwLock<dyn SlotStatusNotifierInterface + Sync + Send>>;
|
||||
|
||||
pub struct SlotStatusNotifierImpl {
|
||||
plugin_manager: Arc<RwLock<AccountsDbPluginManager>>,
|
||||
plugin_manager: Arc<RwLock<GeyserPluginManager>>,
|
||||
}
|
||||
|
||||
impl SlotStatusNotifierInterface for SlotStatusNotifierImpl {
|
||||
@@ -40,7 +40,7 @@ impl SlotStatusNotifierInterface for SlotStatusNotifierImpl {
|
||||
}
|
||||
|
||||
impl SlotStatusNotifierImpl {
|
||||
pub fn new(plugin_manager: Arc<RwLock<AccountsDbPluginManager>>) -> Self {
|
||||
pub fn new(plugin_manager: Arc<RwLock<GeyserPluginManager>>) -> Self {
|
||||
Self { plugin_manager }
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ impl SlotStatusNotifierImpl {
|
||||
}
|
||||
|
||||
for plugin in plugin_manager.plugins.iter_mut() {
|
||||
let mut measure = Measure::start("accountsdb-plugin-update-slot");
|
||||
let mut measure = Measure::start("geyser-plugin-update-slot");
|
||||
match plugin.update_slot_status(slot, parent, slot_status.clone()) {
|
||||
Err(err) => {
|
||||
error!(
|
||||
@@ -71,7 +71,7 @@ impl SlotStatusNotifierImpl {
|
||||
}
|
||||
measure.stop();
|
||||
inc_new_counter_debug!(
|
||||
"accountsdb-plugin-update-slot-us",
|
||||
"geyser-plugin-update-slot-us",
|
||||
measure.as_us() as usize,
|
||||
1000,
|
||||
1000
|
@@ -1,8 +1,8 @@
|
||||
/// Module responsible for notifying plugins of transactions
|
||||
use {
|
||||
crate::accountsdb_plugin_manager::AccountsDbPluginManager,
|
||||
crate::geyser_plugin_manager::GeyserPluginManager,
|
||||
log::*,
|
||||
solana_accountsdb_plugin_interface::accountsdb_plugin_interface::{
|
||||
solana_geyser_plugin_interface::geyser_plugin_interface::{
|
||||
ReplicaTransactionInfo, ReplicaTransactionInfoVersions,
|
||||
},
|
||||
solana_measure::measure::Measure,
|
||||
@@ -16,9 +16,9 @@ use {
|
||||
/// This implementation of TransactionNotifier is passed to the rpc's TransactionStatusService
|
||||
/// at the validator startup. TransactionStatusService invokes the notify_transaction method
|
||||
/// for new transactions. The implementation in turn invokes the notify_transaction of each
|
||||
/// plugin enabled with transaction notification managed by the AccountsDbPluginManager.
|
||||
/// plugin enabled with transaction notification managed by the GeyserPluginManager.
|
||||
pub(crate) struct TransactionNotifierImpl {
|
||||
plugin_manager: Arc<RwLock<AccountsDbPluginManager>>,
|
||||
plugin_manager: Arc<RwLock<GeyserPluginManager>>,
|
||||
}
|
||||
|
||||
impl TransactionNotifier for TransactionNotifierImpl {
|
||||
@@ -29,7 +29,7 @@ impl TransactionNotifier for TransactionNotifierImpl {
|
||||
transaction_status_meta: &TransactionStatusMeta,
|
||||
transaction: &SanitizedTransaction,
|
||||
) {
|
||||
let mut measure = Measure::start("accountsdb-plugin-notify_plugins_of_transaction_info");
|
||||
let mut measure = Measure::start("geyser-plugin-notify_plugins_of_transaction_info");
|
||||
let transaction_log_info =
|
||||
Self::build_replica_transaction_info(signature, transaction_status_meta, transaction);
|
||||
|
||||
@@ -64,7 +64,7 @@ impl TransactionNotifier for TransactionNotifierImpl {
|
||||
}
|
||||
measure.stop();
|
||||
inc_new_counter_debug!(
|
||||
"accountsdb-plugin-notify_plugins_of_transaction_info-us",
|
||||
"geyser-plugin-notify_plugins_of_transaction_info-us",
|
||||
measure.as_us() as usize,
|
||||
10000,
|
||||
10000
|
||||
@@ -73,7 +73,7 @@ impl TransactionNotifier for TransactionNotifierImpl {
|
||||
}
|
||||
|
||||
impl TransactionNotifierImpl {
|
||||
pub fn new(plugin_manager: Arc<RwLock<AccountsDbPluginManager>>) -> Self {
|
||||
pub fn new(plugin_manager: Arc<RwLock<GeyserPluginManager>>) -> Self {
|
||||
Self { plugin_manager }
|
||||
}
|
||||
|
@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2021"
|
||||
name = "solana-gossip"
|
||||
description = "Blockchain, Rebuilt for Scale"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -26,24 +26,24 @@ rayon = "1.5.1"
|
||||
serde = "1.0.130"
|
||||
serde_bytes = "0.11"
|
||||
serde_derive = "1.0.103"
|
||||
solana-bloom = { path = "../bloom", version = "=1.9.12" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.9.12" }
|
||||
solana-client = { path = "../client", version = "=1.9.12" }
|
||||
solana-entry = { path = "../entry", version = "=1.9.12" }
|
||||
solana-frozen-abi = { path = "../frozen-abi", version = "=1.9.12" }
|
||||
solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.9.12" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.12" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.9.12" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.9.12" }
|
||||
solana-perf = { path = "../perf", version = "=1.9.12" }
|
||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.9.12" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.12" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-version = { path = "../version", version = "=1.9.12" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.12" }
|
||||
solana-bloom = { path = "../bloom", version = "=1.9.13" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.9.13" }
|
||||
solana-client = { path = "../client", version = "=1.9.13" }
|
||||
solana-entry = { path = "../entry", version = "=1.9.13" }
|
||||
solana-frozen-abi = { path = "../frozen-abi", version = "=1.9.13" }
|
||||
solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.9.13" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.9.13" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.13" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.9.13" }
|
||||
solana-net-utils = { path = "../net-utils", version = "=1.9.13" }
|
||||
solana-perf = { path = "../perf", version = "=1.9.13" }
|
||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.9.13" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.13" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-version = { path = "../version", version = "=1.9.13" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.13" }
|
||||
thiserror = "1.0"
|
||||
|
||||
[dev-dependencies]
|
||||
|
@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2021"
|
||||
name = "solana-install"
|
||||
description = "The solana cluster software installer"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -24,12 +24,12 @@ nix = "0.23.0"
|
||||
reqwest = { version = "0.11.6", default-features = false, features = ["blocking", "rustls-tls", "json"] }
|
||||
serde = { version = "1.0.130", features = ["derive"] }
|
||||
serde_yaml = "0.8.21"
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.9.12" }
|
||||
solana-client = { path = "../client", version = "=1.9.12" }
|
||||
solana-config-program = { path = "../programs/config", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-version = { path = "../version", version = "=1.9.12" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.9.13" }
|
||||
solana-client = { path = "../client", version = "=1.9.13" }
|
||||
solana-config-program = { path = "../programs/config", version = "=1.9.13" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-version = { path = "../version", version = "=1.9.13" }
|
||||
semver = "1.0.4"
|
||||
tar = "0.4.37"
|
||||
tempfile = "3.2.0"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-keygen"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "Solana key generation utility"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -14,11 +14,11 @@ bs58 = "0.4.0"
|
||||
clap = "2.33"
|
||||
dirs-next = "2.0.0"
|
||||
num_cpus = "1.13.1"
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.9.12" }
|
||||
solana-cli-config = { path = "../cli-config", version = "=1.9.12" }
|
||||
solana-remote-wallet = { path = "../remote-wallet", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-version = { path = "../version", version = "=1.9.12" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.9.13" }
|
||||
solana-cli-config = { path = "../cli-config", version = "=1.9.13" }
|
||||
solana-remote-wallet = { path = "../remote-wallet", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-version = { path = "../version", version = "=1.9.13" }
|
||||
tiny-bip39 = "0.8.2"
|
||||
|
||||
[[bin]]
|
||||
|
@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2021"
|
||||
name = "solana-ledger-tool"
|
||||
description = "Blockchain, Rebuilt for Scale"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -15,27 +15,27 @@ bytecount = "0.6.2"
|
||||
clap = "2.33.1"
|
||||
csv = "1.1.6"
|
||||
dashmap = "4.0.2"
|
||||
histogram = "*"
|
||||
histogram = "0.6.9"
|
||||
itertools = "0.10.1"
|
||||
log = { version = "0.4.14" }
|
||||
regex = "1"
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde_json = "1.0.72"
|
||||
serde_yaml = "0.8.21"
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.9.12" }
|
||||
solana-cli-output = { path = "../cli-output", version = "=1.9.12" }
|
||||
solana-core = { path = "../core", version = "=1.9.12" }
|
||||
solana-entry = { path = "../entry", version = "=1.9.12" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.12" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-stake-program = { path = "../programs/stake", version = "=1.9.12" }
|
||||
solana-storage-bigtable = { path = "../storage-bigtable", version = "=1.9.12" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.9.12" }
|
||||
solana-version = { path = "../version", version = "=1.9.12" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.12" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.9.13" }
|
||||
solana-cli-output = { path = "../cli-output", version = "=1.9.13" }
|
||||
solana-core = { path = "../core", version = "=1.9.13" }
|
||||
solana-entry = { path = "../entry", version = "=1.9.13" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.9.13" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.13" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-stake-program = { path = "../programs/stake", version = "=1.9.13" }
|
||||
solana-storage-bigtable = { path = "../storage-bigtable", version = "=1.9.13" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.9.13" }
|
||||
solana-version = { path = "../version", version = "=1.9.13" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.13" }
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
|
||||
[target.'cfg(not(target_env = "msvc"))'.dependencies]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-ledger"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "Solana ledger"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -31,22 +31,22 @@ rayon = "1.5.1"
|
||||
serde = "1.0.130"
|
||||
serde_bytes = "0.11.5"
|
||||
sha2 = "0.9.8"
|
||||
solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "=1.9.12" }
|
||||
solana-entry = { path = "../entry", version = "=1.9.12" }
|
||||
solana-frozen-abi = { path = "../frozen-abi", version = "=1.9.12" }
|
||||
solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.9.12" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.12" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.9.12" }
|
||||
solana-perf = { path = "../perf", version = "=1.9.12" }
|
||||
solana-program-runtime = { path = "../program-runtime", version = "=1.9.12" }
|
||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.9.12" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-storage-bigtable = { path = "../storage-bigtable", version = "=1.9.12" }
|
||||
solana-storage-proto = { path = "../storage-proto", version = "=1.9.12" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.12" }
|
||||
solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "=1.9.13" }
|
||||
solana-entry = { path = "../entry", version = "=1.9.13" }
|
||||
solana-frozen-abi = { path = "../frozen-abi", version = "=1.9.13" }
|
||||
solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.9.13" }
|
||||
solana-transaction-status = { path = "../transaction-status", version = "=1.9.13" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.13" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.9.13" }
|
||||
solana-perf = { path = "../perf", version = "=1.9.13" }
|
||||
solana-program-runtime = { path = "../program-runtime", version = "=1.9.13" }
|
||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.9.13" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-storage-bigtable = { path = "../storage-bigtable", version = "=1.9.13" }
|
||||
solana-storage-proto = { path = "../storage-proto", version = "=1.9.13" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.13" }
|
||||
tempfile = "3.2.0"
|
||||
thiserror = "1.0"
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
@@ -64,7 +64,7 @@ features = ["lz4"]
|
||||
[dev-dependencies]
|
||||
assert_matches = "1.5.0"
|
||||
matches = "0.1.9"
|
||||
solana-account-decoder = { path = "../account-decoder", version = "=1.9.12" }
|
||||
solana-account-decoder = { path = "../account-decoder", version = "=1.9.13" }
|
||||
|
||||
[build-dependencies]
|
||||
rustc_version = "0.4"
|
||||
|
@@ -1383,6 +1383,8 @@ fn load_frozen_forks(
|
||||
)?;
|
||||
|
||||
if slot >= dev_halt_at_slot {
|
||||
bank.force_flush_accounts_cache();
|
||||
let _ = bank.verify_bank_hash(false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2021"
|
||||
name = "solana-local-cluster"
|
||||
description = "Blockchain, Rebuilt for Scale"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -17,19 +17,19 @@ fs_extra = "1.2.0"
|
||||
log = "0.4.14"
|
||||
rand = "0.7.0"
|
||||
rayon = "1.5.1"
|
||||
solana-config-program = { path = "../programs/config", version = "=1.9.12" }
|
||||
solana-core = { path = "../core", version = "=1.9.12" }
|
||||
solana-client = { path = "../client", version = "=1.9.12" }
|
||||
solana-download-utils = { path = "../download-utils", version = "=1.9.12" }
|
||||
solana-entry = { path = "../entry", version = "=1.9.12" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.9.12" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-stake-program = { path = "../programs/stake", version = "=1.9.12" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.9.12" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.12" }
|
||||
solana-config-program = { path = "../programs/config", version = "=1.9.13" }
|
||||
solana-core = { path = "../core", version = "=1.9.13" }
|
||||
solana-client = { path = "../client", version = "=1.9.13" }
|
||||
solana-download-utils = { path = "../download-utils", version = "=1.9.13" }
|
||||
solana-entry = { path = "../entry", version = "=1.9.13" }
|
||||
solana-gossip = { path = "../gossip", version = "=1.9.13" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.9.13" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-stake-program = { path = "../programs/stake", version = "=1.9.13" }
|
||||
solana-streamer = { path = "../streamer", version = "=1.9.13" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.13" }
|
||||
tempfile = "3.2.0"
|
||||
|
||||
[dev-dependencies]
|
||||
|
@@ -15,7 +15,7 @@ pub fn safe_clone_config(config: &ValidatorConfig) -> ValidatorConfig {
|
||||
account_shrink_paths: config.account_shrink_paths.clone(),
|
||||
rpc_config: config.rpc_config.clone(),
|
||||
accountsdb_repl_service_config: config.accountsdb_repl_service_config.clone(),
|
||||
accountsdb_plugin_config_files: config.accountsdb_plugin_config_files.clone(),
|
||||
geyser_plugin_config_files: config.geyser_plugin_config_files.clone(),
|
||||
rpc_addrs: config.rpc_addrs,
|
||||
pubsub_config: config.pubsub_config.clone(),
|
||||
snapshot_config: config.snapshot_config.clone(),
|
||||
|
@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.com>"]
|
||||
edition = "2021"
|
||||
name = "solana-log-analyzer"
|
||||
description = "The solana cluster network analysis tool"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -14,8 +14,8 @@ byte-unit = "4.0.13"
|
||||
clap = "2.33.1"
|
||||
serde = "1.0.130"
|
||||
serde_json = "1.0.72"
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-version = { path = "../version", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-version = { path = "../version", version = "=1.9.13" }
|
||||
|
||||
[[bin]]
|
||||
name = "solana-log-analyzer"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-logger"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "Solana Logger"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
|
@@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "solana-measure"
|
||||
description = "Blockchain, Rebuilt for Scale"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
homepage = "https://solana.com/"
|
||||
documentation = "https://docs.rs/solana-measure"
|
||||
readme = "../README.md"
|
||||
@@ -12,7 +12,7 @@ edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
log = "0.4.14"
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
@@ -2,7 +2,7 @@
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2021"
|
||||
name = "solana-merkle-root-bench"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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.14"
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.12" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-version = { path = "../version", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.13" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-version = { path = "../version", version = "=1.9.13" }
|
||||
clap = "2.33.1"
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-merkle-tree"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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 = "2021"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../sdk/program", version = "=1.9.12" }
|
||||
solana-program = { path = "../sdk/program", version = "=1.9.13" }
|
||||
fast-math = "0.1"
|
||||
|
||||
# This can go once the BPF toolchain target Rust 1.42.0+
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-metrics"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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.14"
|
||||
reqwest = { version = "0.11.6", default-features = false, features = ["blocking", "rustls-tls", "json"] }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
|
||||
[dev-dependencies]
|
||||
rand = "0.7.0"
|
||||
|
@@ -3,7 +3,7 @@ authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2021"
|
||||
name = "solana-net-shaper"
|
||||
description = "The solana cluster network shaping tool"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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.130"
|
||||
serde_json = "1.0.72"
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-clap-utils = { path = "../clap-utils", version = "=1.9.13" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
rand = "0.7.0"
|
||||
|
||||
[[bin]]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-net-utils"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "Solana Network Utilities"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -18,9 +18,9 @@ rand = "0.7.0"
|
||||
serde = "1.0.130"
|
||||
serde_derive = "1.0.103"
|
||||
socket2 = "0.4.2"
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-version = { path = "../version", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-version = { path = "../version", version = "=1.9.13" }
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
url = "2.2.2"
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-notifier"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "Solana Notifier"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-perf"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "Solana Performance APIs"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -22,12 +22,12 @@ log = "0.4.14"
|
||||
rand = "0.7.0"
|
||||
rayon = "1.5.1"
|
||||
serde = "1.0.130"
|
||||
solana-bloom = { path = "../bloom", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.12" }
|
||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.9.12" }
|
||||
solana-bloom = { path = "../bloom", version = "=1.9.13" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.13" }
|
||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.9.13" }
|
||||
|
||||
[target."cfg(target_os = \"linux\")".dependencies]
|
||||
caps = "0.5.3"
|
||||
|
@@ -2,7 +2,7 @@
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
edition = "2021"
|
||||
name = "solana-poh-bench"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://solana.com/"
|
||||
@@ -14,12 +14,12 @@ clap = "2.33.1"
|
||||
log = "0.4.14"
|
||||
rand = "0.7.0"
|
||||
rayon = "1.5.1"
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-entry = { path = "../entry", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.12" }
|
||||
solana-version = { path = "../version", version = "=1.9.12" }
|
||||
solana-perf = { path = "../perf", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-entry = { path = "../entry", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.13" }
|
||||
solana-version = { path = "../version", version = "=1.9.13" }
|
||||
solana-perf = { path = "../perf", version = "=1.9.13" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-poh"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "Solana PoH"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -13,21 +13,21 @@ edition = "2021"
|
||||
core_affinity = "0.5.10"
|
||||
crossbeam-channel = "0.5"
|
||||
log = "0.4.14"
|
||||
solana-entry = { path = "../entry", version = "=1.9.12" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.9.12" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.12" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.9.12" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-sys-tuner = { path = "../sys-tuner", version = "=1.9.12" }
|
||||
solana-entry = { path = "../entry", version = "=1.9.13" }
|
||||
solana-ledger = { path = "../ledger", version = "=1.9.13" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.13" }
|
||||
solana-metrics = { path = "../metrics", version = "=1.9.13" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-sys-tuner = { path = "../sys-tuner", version = "=1.9.13" }
|
||||
thiserror = "1.0"
|
||||
|
||||
[dev-dependencies]
|
||||
bincode = "1.3.3"
|
||||
matches = "0.1.9"
|
||||
rand = "0.7.0"
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-perf = { path = "../perf", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-perf = { path = "../perf", version = "=1.9.13" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-program-runtime"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "Solana program runtime"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -19,11 +19,11 @@ log = "0.4.14"
|
||||
num-derive = { version = "0.3" }
|
||||
num-traits = { version = "0.2" }
|
||||
serde = { version = "1.0.129", features = ["derive", "rc"] }
|
||||
solana-frozen-abi = { path = "../frozen-abi", version = "=1.9.12" }
|
||||
solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-frozen-abi = { path = "../frozen-abi", version = "=1.9.13" }
|
||||
solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.9.13" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-measure = { path = "../measure", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
thiserror = "1.0"
|
||||
|
||||
[lib]
|
||||
|
@@ -5,7 +5,7 @@ edition = "2021"
|
||||
license = "Apache-2.0"
|
||||
name = "solana-program-test"
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
|
||||
[dependencies]
|
||||
async-trait = "0.1.51"
|
||||
@@ -14,14 +14,14 @@ bincode = "1.3.3"
|
||||
chrono-humanize = "0.2.1"
|
||||
log = "0.4.14"
|
||||
serde = "1.0.130"
|
||||
solana-banks-client = { path = "../banks-client", version = "=1.9.12" }
|
||||
solana-banks-server = { path = "../banks-server", version = "=1.9.12" }
|
||||
solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "=1.9.12" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.12" }
|
||||
solana-program-runtime = { path = "../program-runtime", version = "=1.9.12" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.12" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.12" }
|
||||
solana-banks-client = { path = "../banks-client", version = "=1.9.13" }
|
||||
solana-banks-server = { path = "../banks-server", version = "=1.9.13" }
|
||||
solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "=1.9.13" }
|
||||
solana-logger = { path = "../logger", version = "=1.9.13" }
|
||||
solana-program-runtime = { path = "../program-runtime", version = "=1.9.13" }
|
||||
solana-runtime = { path = "../runtime", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../sdk", version = "=1.9.13" }
|
||||
solana-vote-program = { path = "../programs/vote", version = "=1.9.13" }
|
||||
thiserror = "1.0"
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
|
||||
|
@@ -3,7 +3,7 @@
|
||||
|
||||
[package]
|
||||
name = "solana-address-lookup-table-program-tests"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
license = "Apache-2.0"
|
||||
@@ -14,9 +14,9 @@ publish = false
|
||||
[dev-dependencies]
|
||||
assert_matches = "1.5.0"
|
||||
bincode = "1.3.3"
|
||||
solana-address-lookup-table-program = { path = "../address-lookup-table", version = "=1.9.12" }
|
||||
solana-program-test = { path = "../../program-test", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../../sdk", version = "=1.9.12" }
|
||||
solana-address-lookup-table-program = { path = "../address-lookup-table", version = "=1.9.13" }
|
||||
solana-program-test = { path = "../../program-test", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../../sdk", version = "=1.9.13" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-address-lookup-table-program"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "Solana address lookup table program"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -16,10 +16,10 @@ log = "0.4.14"
|
||||
num-derive = "0.3"
|
||||
num-traits = "0.2"
|
||||
serde = { version = "1.0.127", features = ["derive"] }
|
||||
solana-frozen-abi = { path = "../../frozen-abi", version = "=1.9.12" }
|
||||
solana-frozen-abi-macro = { path = "../../frozen-abi/macro", version = "=1.9.12" }
|
||||
solana-program-runtime = { path = "../../program-runtime", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../../sdk", version = "=1.9.12" }
|
||||
solana-frozen-abi = { path = "../../frozen-abi", version = "=1.9.13" }
|
||||
solana-frozen-abi-macro = { path = "../../frozen-abi/macro", version = "=1.9.13" }
|
||||
solana-program-runtime = { path = "../../program-runtime", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../../sdk", version = "=1.9.13" }
|
||||
thiserror = "1.0"
|
||||
|
||||
[build-dependencies]
|
||||
|
316
programs/bpf/Cargo.lock
generated
316
programs/bpf/Cargo.lock
generated
@@ -2344,7 +2344,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-account-decoder"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"Inflector",
|
||||
"base64 0.12.3",
|
||||
@@ -2365,7 +2365,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-address-lookup-table-program"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"bytemuck",
|
||||
@@ -2374,8 +2374,8 @@ dependencies = [
|
||||
"num-traits",
|
||||
"rustc_version",
|
||||
"serde",
|
||||
"solana-frozen-abi 1.9.12",
|
||||
"solana-frozen-abi-macro 1.9.12",
|
||||
"solana-frozen-abi 1.9.13",
|
||||
"solana-frozen-abi-macro 1.9.13",
|
||||
"solana-program-runtime",
|
||||
"solana-sdk",
|
||||
"thiserror",
|
||||
@@ -2383,12 +2383,12 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-banks-client"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"borsh",
|
||||
"futures",
|
||||
"solana-banks-interface",
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
"solana-sdk",
|
||||
"tarpc",
|
||||
"thiserror",
|
||||
@@ -2398,7 +2398,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-banks-interface"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"solana-sdk",
|
||||
@@ -2407,7 +2407,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-banks-server"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"futures",
|
||||
@@ -2423,7 +2423,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-bloom"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"bv",
|
||||
"fnv",
|
||||
@@ -2433,14 +2433,14 @@ dependencies = [
|
||||
"rustc_version",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"solana-frozen-abi 1.9.12",
|
||||
"solana-frozen-abi-macro 1.9.12",
|
||||
"solana-frozen-abi 1.9.13",
|
||||
"solana-frozen-abi-macro 1.9.13",
|
||||
"solana-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-loader-program"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"byteorder 1.4.3",
|
||||
@@ -2456,7 +2456,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-programs"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"byteorder 1.4.3",
|
||||
@@ -2471,7 +2471,7 @@ dependencies = [
|
||||
"solana-bpf-rust-realloc",
|
||||
"solana-bpf-rust-realloc-invoke",
|
||||
"solana-cli-output",
|
||||
"solana-logger 1.9.12",
|
||||
"solana-logger 1.9.13",
|
||||
"solana-measure",
|
||||
"solana-program-runtime",
|
||||
"solana-runtime",
|
||||
@@ -2483,170 +2483,170 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-128bit"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-bpf-rust-128bit-dep",
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-128bit-dep"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-alloc"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-call-depth"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-caller-access"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-custom-heap"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-dep-crate"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"byteorder 1.4.3",
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-deprecated-loader"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-dup-accounts"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-error-handling"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"num-derive",
|
||||
"num-traits",
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-external-spend"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-finalize"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-instruction-introspection"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-invoke"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-bpf-rust-invoked",
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-invoke-and-error"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-invoke-and-ok"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-invoke-and-return"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-invoked"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-iter"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-log-data"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-many-args"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-bpf-rust-many-args-dep",
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-many-args-dep"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-mem"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
"solana-program-runtime",
|
||||
"solana-program-test",
|
||||
"solana-sdk",
|
||||
@@ -2654,84 +2654,84 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-membuiltins"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-bpf-rust-mem",
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-noop"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-panic"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-param-passing"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-bpf-rust-param-passing-dep",
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-param-passing-dep"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-rand"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"getrandom 0.1.16",
|
||||
"rand 0.7.3",
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-realloc"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-realloc-invoke"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-bpf-rust-realloc",
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-ro-account_modify"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-ro-modify"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-sanity"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
"solana-program-runtime",
|
||||
"solana-program-test",
|
||||
"solana-sdk",
|
||||
@@ -2739,52 +2739,52 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-secp256k1-recover"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-sha"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"blake3",
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-sibling-instructions"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-sibling_inner-instructions"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-spoof1"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-spoof1-system"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-sysvar"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
"solana-program-runtime",
|
||||
"solana-program-test",
|
||||
"solana-sdk",
|
||||
@@ -2792,28 +2792,28 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-upgradeable"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bpf-rust-upgraded"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program 1.9.12",
|
||||
"solana-program 1.9.13",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-bucket-map"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"fs_extra",
|
||||
"log",
|
||||
"memmap2",
|
||||
"rand 0.7.3",
|
||||
"rayon",
|
||||
"solana-logger 1.9.12",
|
||||
"solana-logger 1.9.13",
|
||||
"solana-measure",
|
||||
"solana-sdk",
|
||||
"tempfile",
|
||||
@@ -2821,7 +2821,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-clap-utils"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"clap",
|
||||
@@ -2837,7 +2837,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-cli-config"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"dirs-next",
|
||||
"lazy_static",
|
||||
@@ -2849,7 +2849,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-cli-output"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"Inflector",
|
||||
"base64 0.13.0",
|
||||
@@ -2871,7 +2871,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-client"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"base64 0.13.0",
|
||||
"bincode",
|
||||
@@ -2903,7 +2903,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-compute-budget-program"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"solana-program-runtime",
|
||||
"solana-sdk",
|
||||
@@ -2911,7 +2911,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-config-program"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"chrono",
|
||||
@@ -2923,7 +2923,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-faucet"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"byteorder 1.4.3",
|
||||
@@ -2933,7 +2933,7 @@ dependencies = [
|
||||
"serde_derive",
|
||||
"solana-clap-utils",
|
||||
"solana-cli-config",
|
||||
"solana-logger 1.9.12",
|
||||
"solana-logger 1.9.13",
|
||||
"solana-metrics",
|
||||
"solana-sdk",
|
||||
"solana-version",
|
||||
@@ -2964,7 +2964,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-frozen-abi"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"bs58",
|
||||
"bv",
|
||||
@@ -2975,8 +2975,8 @@ dependencies = [
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"sha2",
|
||||
"solana-frozen-abi-macro 1.9.12",
|
||||
"solana-logger 1.9.12",
|
||||
"solana-frozen-abi-macro 1.9.13",
|
||||
"solana-logger 1.9.13",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
@@ -2994,7 +2994,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-frozen-abi-macro"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.36",
|
||||
"quote 1.0.14",
|
||||
@@ -3015,7 +3015,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-logger"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"env_logger",
|
||||
"lazy_static",
|
||||
@@ -3024,7 +3024,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-measure"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"log",
|
||||
"solana-sdk",
|
||||
@@ -3032,7 +3032,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-metrics"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"env_logger",
|
||||
"gethostname",
|
||||
@@ -3044,7 +3044,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-net-utils"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"clap",
|
||||
@@ -3054,7 +3054,7 @@ dependencies = [
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"socket2",
|
||||
"solana-logger 1.9.12",
|
||||
"solana-logger 1.9.13",
|
||||
"solana-sdk",
|
||||
"solana-version",
|
||||
"tokio",
|
||||
@@ -3063,7 +3063,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-perf"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"ahash 0.7.6",
|
||||
"bincode",
|
||||
@@ -3081,7 +3081,7 @@ dependencies = [
|
||||
"rayon",
|
||||
"serde",
|
||||
"solana-bloom",
|
||||
"solana-logger 1.9.12",
|
||||
"solana-logger 1.9.13",
|
||||
"solana-metrics",
|
||||
"solana-rayon-threadlimit",
|
||||
"solana-sdk",
|
||||
@@ -3133,7 +3133,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-program"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"base64 0.13.0",
|
||||
"bincode",
|
||||
@@ -3164,17 +3164,17 @@ dependencies = [
|
||||
"serde_derive",
|
||||
"sha2",
|
||||
"sha3",
|
||||
"solana-frozen-abi 1.9.12",
|
||||
"solana-frozen-abi-macro 1.9.12",
|
||||
"solana-logger 1.9.12",
|
||||
"solana-sdk-macro 1.9.12",
|
||||
"solana-frozen-abi 1.9.13",
|
||||
"solana-frozen-abi-macro 1.9.13",
|
||||
"solana-logger 1.9.13",
|
||||
"solana-sdk-macro 1.9.13",
|
||||
"thiserror",
|
||||
"wasm-bindgen",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-program-runtime"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"base64 0.13.0",
|
||||
"bincode",
|
||||
@@ -3186,9 +3186,9 @@ dependencies = [
|
||||
"num-traits",
|
||||
"rustc_version",
|
||||
"serde",
|
||||
"solana-frozen-abi 1.9.12",
|
||||
"solana-frozen-abi-macro 1.9.12",
|
||||
"solana-logger 1.9.12",
|
||||
"solana-frozen-abi 1.9.13",
|
||||
"solana-frozen-abi-macro 1.9.13",
|
||||
"solana-logger 1.9.13",
|
||||
"solana-measure",
|
||||
"solana-sdk",
|
||||
"thiserror",
|
||||
@@ -3196,7 +3196,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-program-test"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"base64 0.12.3",
|
||||
@@ -3207,7 +3207,7 @@ dependencies = [
|
||||
"solana-banks-client",
|
||||
"solana-banks-server",
|
||||
"solana-bpf-loader-program",
|
||||
"solana-logger 1.9.12",
|
||||
"solana-logger 1.9.13",
|
||||
"solana-program-runtime",
|
||||
"solana-runtime",
|
||||
"solana-sdk",
|
||||
@@ -3218,7 +3218,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-rayon-threadlimit"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"lazy_static",
|
||||
"num_cpus",
|
||||
@@ -3226,7 +3226,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-remote-wallet"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"base32",
|
||||
"console",
|
||||
@@ -3245,7 +3245,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-runtime"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"arrayref",
|
||||
"bincode",
|
||||
@@ -3279,9 +3279,9 @@ dependencies = [
|
||||
"solana-bucket-map",
|
||||
"solana-compute-budget-program",
|
||||
"solana-config-program",
|
||||
"solana-frozen-abi 1.9.12",
|
||||
"solana-frozen-abi-macro 1.9.12",
|
||||
"solana-logger 1.9.12",
|
||||
"solana-frozen-abi 1.9.13",
|
||||
"solana-frozen-abi-macro 1.9.13",
|
||||
"solana-logger 1.9.13",
|
||||
"solana-measure",
|
||||
"solana-metrics",
|
||||
"solana-program-runtime",
|
||||
@@ -3298,7 +3298,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-sdk"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"assert_matches",
|
||||
"base64 0.13.0",
|
||||
@@ -3335,11 +3335,11 @@ dependencies = [
|
||||
"serde_json",
|
||||
"sha2",
|
||||
"sha3",
|
||||
"solana-frozen-abi 1.9.12",
|
||||
"solana-frozen-abi-macro 1.9.12",
|
||||
"solana-logger 1.9.12",
|
||||
"solana-program 1.9.12",
|
||||
"solana-sdk-macro 1.9.12",
|
||||
"solana-frozen-abi 1.9.13",
|
||||
"solana-frozen-abi-macro 1.9.13",
|
||||
"solana-logger 1.9.13",
|
||||
"solana-program 1.9.13",
|
||||
"solana-sdk-macro 1.9.13",
|
||||
"thiserror",
|
||||
"uriparse",
|
||||
"wasm-bindgen",
|
||||
@@ -3360,7 +3360,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-sdk-macro"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"bs58",
|
||||
"proc-macro2 1.0.36",
|
||||
@@ -3371,10 +3371,10 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-send-transaction-service"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"log",
|
||||
"solana-logger 1.9.12",
|
||||
"solana-logger 1.9.13",
|
||||
"solana-metrics",
|
||||
"solana-runtime",
|
||||
"solana-sdk",
|
||||
@@ -3382,7 +3382,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-stake-program"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"log",
|
||||
@@ -3392,8 +3392,8 @@ dependencies = [
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"solana-config-program",
|
||||
"solana-frozen-abi 1.9.12",
|
||||
"solana-frozen-abi-macro 1.9.12",
|
||||
"solana-frozen-abi 1.9.13",
|
||||
"solana-frozen-abi-macro 1.9.13",
|
||||
"solana-metrics",
|
||||
"solana-program-runtime",
|
||||
"solana-sdk",
|
||||
@@ -3403,7 +3403,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-transaction-status"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"Inflector",
|
||||
"base64 0.12.3",
|
||||
@@ -3428,20 +3428,20 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solana-version"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"log",
|
||||
"rustc_version",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"solana-frozen-abi 1.9.12",
|
||||
"solana-frozen-abi-macro 1.9.12",
|
||||
"solana-frozen-abi 1.9.13",
|
||||
"solana-frozen-abi-macro 1.9.13",
|
||||
"solana-sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solana-vote-program"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"log",
|
||||
@@ -3450,9 +3450,9 @@ dependencies = [
|
||||
"rustc_version",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"solana-frozen-abi 1.9.12",
|
||||
"solana-frozen-abi-macro 1.9.12",
|
||||
"solana-logger 1.9.12",
|
||||
"solana-frozen-abi 1.9.13",
|
||||
"solana-frozen-abi-macro 1.9.13",
|
||||
"solana-logger 1.9.13",
|
||||
"solana-metrics",
|
||||
"solana-program-runtime",
|
||||
"solana-sdk",
|
||||
|
@@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "solana-bpf-programs"
|
||||
description = "Blockchain, Rebuilt for Scale"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
documentation = "https://docs.rs/solana"
|
||||
homepage = "https://solana.com/"
|
||||
readme = "README.md"
|
||||
@@ -26,19 +26,19 @@ itertools = "0.10.1"
|
||||
log = "0.4.11"
|
||||
miow = "0.3.6"
|
||||
net2 = "0.2.37"
|
||||
solana-bpf-rust-invoke = { path = "rust/invoke", version = "=1.9.12"}
|
||||
solana-bpf-loader-program = { path = "../bpf_loader", version = "=1.9.12"}
|
||||
solana-bpf-rust-realloc = { path = "rust/realloc", version = "=1.9.12"}
|
||||
solana-bpf-rust-realloc-invoke = { path = "rust/realloc_invoke", version = "=1.9.12"}
|
||||
solana-cli-output = { path = "../../cli-output", version = "=1.9.12" }
|
||||
solana-logger = { path = "../../logger", version = "=1.9.12" }
|
||||
solana-measure = { path = "../../measure", version = "=1.9.12" }
|
||||
solana-bpf-rust-invoke = { path = "rust/invoke", version = "=1.9.13"}
|
||||
solana-bpf-loader-program = { path = "../bpf_loader", version = "=1.9.13"}
|
||||
solana-bpf-rust-realloc = { path = "rust/realloc", version = "=1.9.13"}
|
||||
solana-bpf-rust-realloc-invoke = { path = "rust/realloc_invoke", version = "=1.9.13"}
|
||||
solana-cli-output = { path = "../../cli-output", version = "=1.9.13" }
|
||||
solana-logger = { path = "../../logger", version = "=1.9.13" }
|
||||
solana-measure = { path = "../../measure", version = "=1.9.13" }
|
||||
solana_rbpf = "=0.2.24"
|
||||
solana-runtime = { path = "../../runtime", version = "=1.9.12" }
|
||||
solana-program-runtime = { path = "../../program-runtime", version = "=1.9.12" }
|
||||
solana-sdk = { path = "../../sdk", version = "=1.9.12" }
|
||||
solana-transaction-status = { path = "../../transaction-status", version = "=1.9.12" }
|
||||
solana-account-decoder = { path = "../../account-decoder", version = "=1.9.12" }
|
||||
solana-runtime = { path = "../../runtime", version = "=1.9.13" }
|
||||
solana-program-runtime = { path = "../../program-runtime", version = "=1.9.13" }
|
||||
solana-sdk = { path = "../../sdk", version = "=1.9.13" }
|
||||
solana-transaction-status = { path = "../../transaction-status", version = "=1.9.13" }
|
||||
solana-account-decoder = { path = "../../account-decoder", version = "=1.9.13" }
|
||||
|
||||
[[bench]]
|
||||
name = "bpf_loader"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-128bit"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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 = "2021"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.12" }
|
||||
solana-bpf-rust-128bit-dep = { path = "../128bit_dep", version = "=1.9.12" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.13" }
|
||||
solana-bpf-rust-128bit-dep = { path = "../128bit_dep", version = "=1.9.13" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-128bit-dep"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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 = "2021"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.12" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.13" }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-alloc"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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 = "2021"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.12" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.13" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-call-depth"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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 = "2021"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.12" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.13" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-caller-access"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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 = "2021"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.12" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.13" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-custom-heap"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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 = "2021"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.12" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.13" }
|
||||
|
||||
[features]
|
||||
default = ["custom-heap"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-dep-crate"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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 = "2021"
|
||||
|
||||
[dependencies]
|
||||
byteorder = { version = "1", default-features = false }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.12" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.13" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-deprecated-loader"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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 = "2021"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.12" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.13" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-dup-accounts"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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 = "2021"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.12" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.13" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-error-handling"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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 = "2021"
|
||||
[dependencies]
|
||||
num-derive = "0.3"
|
||||
num-traits = "0.2"
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.12" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.13" }
|
||||
thiserror = "1.0"
|
||||
|
||||
[lib]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-external-spend"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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 = "2021"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.12" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.13" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-finalize"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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 = "2021"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.12" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.13" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-instruction-introspection"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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 = "2021"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.12" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.13" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-invoke"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -15,7 +15,7 @@ program = []
|
||||
|
||||
[dependencies]
|
||||
solana-bpf-rust-invoked = { path = "../invoked", default-features = false }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.12" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.13" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib", "cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-invoke-and-error"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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 = "2021"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.12" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.13" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-invoke-and-ok"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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 = "2021"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.12" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.13" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-invoke-and-return"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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 = "2021"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.12" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.13" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-invoked"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
description = "Solana BPF test program written in Rust"
|
||||
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
|
||||
repository = "https://github.com/solana-labs/solana"
|
||||
@@ -14,7 +14,7 @@ default = ["program"]
|
||||
program = []
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.12" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.13" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["lib", "cdylib"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "solana-bpf-rust-iter"
|
||||
version = "1.9.12"
|
||||
version = "1.9.13"
|
||||
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 = "2021"
|
||||
|
||||
[dependencies]
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.12" }
|
||||
solana-program = { path = "../../../../sdk/program", version = "=1.9.13" }
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user