Prechádzať zdrojové kódy

chore: workspace inheritance (#29509)

* introduce workspace.package

* introduce workspace.dependencies

* read version from root cargo.toml

* pass check when version = { workspace = true }

* don't bump version when version = { workspace = true }

* including workspace Cargo.toml when bump version

* programs/sbf use workspace inheritance

* fix increasing cargo version ignore program/sbf/Cargo.toml
Yihau Chen 2 rokov pred
rodič
commit
a67d239dde
100 zmenil súbory, kde vykonal 1904 pridanie a 1576 odobranie
  1. 284 0
      Cargo.toml
  2. 22 22
      account-decoder/Cargo.toml
  3. 14 14
      accounts-bench/Cargo.toml
  4. 28 28
      accounts-cluster-bench/Cargo.toml
  5. 23 23
      banking-bench/Cargo.toml
  6. 17 18
      banks-client/Cargo.toml
  7. 9 9
      banks-interface/Cargo.toml
  8. 18 18
      banks-server/Cargo.toml
  9. 10 10
      bench-streamer/Cargo.toml
  10. 39 39
      bench-tps/Cargo.toml
  11. 17 17
      bloom/Cargo.toml
  12. 16 16
      bucket_map/Cargo.toml
  13. 1 1
      ci/check-channel-version.sh
  14. 16 16
      clap-utils/Cargo.toml
  15. 16 16
      clap-v3-utils/Cargo.toml
  16. 15 15
      cli-config/Cargo.toml
  17. 25 25
      cli-output/Cargo.toml
  18. 51 58
      cli/Cargo.toml
  19. 28 28
      client-test/Cargo.toml
  20. 35 35
      client/Cargo.toml
  21. 71 71
      core/Cargo.toml
  22. 31 31
      dos/Cargo.toml
  23. 12 12
      download-utils/Cargo.toml
  24. 23 23
      entry/Cargo.toml
  25. 22 22
      faucet/Cargo.toml
  26. 34 37
      frozen-abi/Cargo.toml
  27. 10 10
      frozen-abi/macro/Cargo.toml
  28. 9 9
      genesis-utils/Cargo.toml
  29. 22 22
      genesis/Cargo.toml
  30. 10 10
      geyser-plugin-interface/Cargo.toml
  31. 20 20
      geyser-plugin-manager/Cargo.toml
  32. 48 48
      gossip/Cargo.toml
  33. 34 34
      install/Cargo.toml
  34. 15 15
      keygen/Cargo.toml
  35. 41 41
      ledger-tool/Cargo.toml
  36. 62 62
      ledger/Cargo.toml
  37. 34 34
      local-cluster/Cargo.toml
  38. 11 11
      log-analyzer/Cargo.toml
  39. 9 9
      logger/Cargo.toml
  40. 8 8
      measure/Cargo.toml
  41. 6 6
      memory-management/Cargo.toml
  42. 13 13
      merkle-root-bench/Cargo.toml
  43. 10 10
      merkle-tree/Cargo.toml
  44. 15 15
      metrics/Cargo.toml
  45. 10 10
      net-shaper/Cargo.toml
  46. 19 19
      net-utils/Cargo.toml
  47. 10 10
      notifier/Cargo.toml
  48. 27 27
      perf/Cargo.toml
  49. 15 15
      poh-bench/Cargo.toml
  50. 22 22
      poh/Cargo.toml
  51. 24 24
      program-runtime/Cargo.toml
  52. 27 26
      program-test/Cargo.toml
  53. 11 11
      programs/address-lookup-table-tests/Cargo.toml
  54. 19 19
      programs/address-lookup-table/Cargo.toml
  55. 11 11
      programs/bpf-loader-tests/Cargo.toml
  56. 17 18
      programs/bpf_loader/Cargo.toml
  57. 7 4
      programs/bpf_loader/gen-syscall-list/Cargo.toml
  58. 8 8
      programs/compute-budget/Cargo.toml
  59. 13 13
      programs/config/Cargo.toml
  60. 11 11
      programs/ed25519-tests/Cargo.toml
  61. 2 2
      programs/sbf/Cargo.lock
  62. 72 20
      programs/sbf/Cargo.toml
  63. 9 9
      programs/sbf/rust/128bit/Cargo.toml
  64. 8 8
      programs/sbf/rust/128bit_dep/Cargo.toml
  65. 8 8
      programs/sbf/rust/alloc/Cargo.toml
  66. 10 10
      programs/sbf/rust/alt_bn128/Cargo.toml
  67. 8 8
      programs/sbf/rust/call_depth/Cargo.toml
  68. 8 8
      programs/sbf/rust/caller_access/Cargo.toml
  69. 9 9
      programs/sbf/rust/curve25519/Cargo.toml
  70. 8 8
      programs/sbf/rust/custom_heap/Cargo.toml
  71. 10 10
      programs/sbf/rust/dep_crate/Cargo.toml
  72. 8 8
      programs/sbf/rust/deprecated_loader/Cargo.toml
  73. 8 8
      programs/sbf/rust/dup_accounts/Cargo.toml
  74. 11 11
      programs/sbf/rust/error_handling/Cargo.toml
  75. 8 8
      programs/sbf/rust/external_spend/Cargo.toml
  76. 8 8
      programs/sbf/rust/finalize/Cargo.toml
  77. 8 8
      programs/sbf/rust/get_minimum_delegation/Cargo.toml
  78. 8 8
      programs/sbf/rust/inner_instruction_alignment_check/Cargo.toml
  79. 8 8
      programs/sbf/rust/instruction_introspection/Cargo.toml
  80. 9 9
      programs/sbf/rust/invoke/Cargo.toml
  81. 8 8
      programs/sbf/rust/invoke_and_error/Cargo.toml
  82. 8 8
      programs/sbf/rust/invoke_and_ok/Cargo.toml
  83. 8 8
      programs/sbf/rust/invoke_and_return/Cargo.toml
  84. 8 8
      programs/sbf/rust/invoked/Cargo.toml
  85. 8 8
      programs/sbf/rust/iter/Cargo.toml
  86. 8 8
      programs/sbf/rust/log_data/Cargo.toml
  87. 9 9
      programs/sbf/rust/many_args/Cargo.toml
  88. 8 8
      programs/sbf/rust/many_args_dep/Cargo.toml
  89. 11 11
      programs/sbf/rust/mem/Cargo.toml
  90. 9 9
      programs/sbf/rust/membuiltins/Cargo.toml
  91. 8 8
      programs/sbf/rust/noop/Cargo.toml
  92. 8 8
      programs/sbf/rust/panic/Cargo.toml
  93. 9 9
      programs/sbf/rust/param_passing/Cargo.toml
  94. 7 7
      programs/sbf/rust/param_passing_dep/Cargo.toml
  95. 10 10
      programs/sbf/rust/rand/Cargo.toml
  96. 8 8
      programs/sbf/rust/realloc/Cargo.toml
  97. 9 9
      programs/sbf/rust/realloc_invoke/Cargo.toml
  98. 8 8
      programs/sbf/rust/ro_account_modify/Cargo.toml
  99. 8 8
      programs/sbf/rust/ro_modify/Cargo.toml
  100. 11 11
      programs/sbf/rust/sanity/Cargo.toml

+ 284 - 0
Cargo.toml

@@ -109,6 +109,290 @@ exclude = [
 # This prevents a Travis CI error when building for Windows.
 resolver = "2"
 
+[workspace.package]
+version = "1.15.0"
+authors = ["Solana Maintainers <maintainers@solana.foundation>"]
+repository = "https://github.com/solana-labs/solana"
+homepage = "https://solana.com/"
+license = "Apache-2.0"
+edition = "2021"
+
+[workspace.dependencies]
+aes-gcm-siv = "0.10.3"
+ahash = "0.7.6"
+anyhow = "1.0.58"
+ark-bn254 = "0.3.0"
+ark-ec = "0.3.0"
+ark-ff = "0.3.0"
+array-bytes = "=1.4.1"
+arrayref = "0.3.6"
+assert_cmd = "2.0"
+assert_matches = "1.5.0"
+async-mutex = "1.4.0"
+async-trait = "0.1.57"
+atty = "0.2.11"
+backoff = "0.4.0"
+base64 = "0.13.0"
+bincode = "1.3.3"
+bitflags = "1.3.1"
+blake3 = "1.3.1"
+block-buffer = "0.9.0"
+borsh = "0.9.3"
+borsh-derive = "0.9.1"
+bs58 = "0.4.0"
+bv = "0.11.1"
+byte-unit = "4.0.14"
+bytecount = "0.6.3"
+bytemuck = "1.11.0"
+byteorder = "1.4.3"
+bytes = "1.2"
+bzip2 = "0.4.4"
+caps = "0.5.4"
+cargo_metadata = "0.15.0"
+cc = "1.0.78"
+chrono = { version = "0.4.23", default-features = false }
+chrono-humanize = "0.2.1"
+cipher = "0.4"
+clap = "2.33.1"
+console = "0.15.0"
+console_error_panic_hook = "0.1.7"
+console_log = "0.2.0"
+const_format = "0.2.26"
+core_affinity = "0.5.10"
+criterion-stats = "0.3.0"
+crossbeam-channel = "0.5.6"
+csv = "1.1.6"
+ctrlc = "3.2.3"
+curve25519-dalek = "3.2.1"
+dashmap = "4.0.2"
+derivation-path = { version = "0.2.0", default-features = false }
+dialoguer = "0.10.2"
+digest = "0.10.1"
+dir-diff = "0.3.2"
+dirs-next = "2.0.0"
+dlopen = "0.1.8"
+dlopen_derive = "0.1.4"
+eager = "0.1.0"
+ed25519-dalek = "=1.0.1"
+ed25519-dalek-bip32 = "0.2.0"
+either = "1.7.0"
+enum_dispatch = "0.3.8"
+enum-iterator = "1.2.0"
+env_logger = "0.9.3"
+etcd-client = "0.8.1"
+fast-math = "0.1"
+fd-lock = "3.0.6"
+flate2 = "1.0.24"
+fnv = "1.0.7"
+fs_extra = "1.2.0"
+futures = "0.3.24"
+futures-util = "0.3.25"
+gag = "1.0.0"
+generic-array = { version = "0.14.6", default-features = false }
+gethostname = "0.2.3"
+getrandom = "0.1.14"
+goauth = "0.13.1"
+hashbrown = "0.12"
+hex = "0.4.3"
+hidapi = { version = "1.4.1", default-features = false }
+histogram = "0.6.9"
+hmac = "0.12.1"
+http = "0.2.8"
+humantime = "2.0.1"
+hyper = "0.14.20"
+hyper-proxy = "0.9.1"
+im = "15.1.0"
+index_list = "0.2.7"
+indexmap = "1.9.1"
+indicatif = "0.17.1"
+Inflector = "0.11.4"
+itertools = "0.10.5"
+jemallocator = { package = "tikv-jemallocator", version = "0.4.1", features = ["unprefixed_malloc_on_supported_platforms"] }
+js-sys = "0.3.59"
+json5 = "0.4.1"
+jsonrpc-core = "18.0.0"
+jsonrpc-core-client = "18.0.0"
+jsonrpc-derive = "18.0.0"
+jsonrpc-http-server = "18.0.0"
+jsonrpc-ipc-server = "18.0.0"
+jsonrpc-pubsub = "18.0.0"
+jsonrpc-server-utils = "18.0.0"
+lazy_static = "1.4.0"
+libc = "0.2.131"
+libloading = "0.7.3"
+libsecp256k1 = "0.6.0"
+log = "0.4.17"
+lru = "0.7.7"
+lz4 = "1.24.0"
+matches = "0.1.9"
+memmap2 = "0.5.8"
+memoffset = "0.6"
+merlin = "3"
+min-max-heap = "1.3.0"
+modular-bitfield = "0.11.2"
+nix = "0.25.0"
+num-bigint = "0.4.3"
+num_cpus = "1.13.1"
+num_enum = "0.5.7"
+num-derive = "0.3"
+num-traits = "0.2"
+once_cell = "1.13.0"
+openssl = "0.10"
+ouroboros = "0.15.0"
+parking_lot = "0.12"
+pbkdf2 = { version = "0.11.0", default-features = false }
+pem = "1.1.1"
+percentage = "0.1.0"
+pickledb = { version = "0.5.1", default-features = false }
+pkcs8 = "0.8.0"
+predicates = "2.1"
+pretty-hex = "0.3.0"
+proc-macro2 = "1.0.19"
+proptest = "1.0"
+prost = "0.11.0"
+prost-types = "0.11.1"
+protobuf-src = "1.0.5"
+qstring = "0.7.2"
+quinn = "0.9.3"
+quinn-proto = "0.9.2"
+quinn-udp = "0.3.2"
+quote = "1.0"
+rand = "0.7.0"
+rand_chacha = "0.2.2"
+rand_core = "0.6.3"
+raptorq = "1.7.0"
+rayon = "1.5.3"
+rcgen = "0.10.0"
+reed-solomon-erasure = "6.0.0"
+regex = "1.6.0"
+reqwest = { version = "0.11.12", default-features = false }
+rpassword = "7.0"
+rustc_version = "0.4"
+rustls = { version = "0.20.6", default-features = false }
+rustversion = "1.0.9"
+scopeguard = "1.1.0"
+semver = "1.0.16"
+serde = "1.0.144"
+serde_bytes = "0.11.7"
+serde_derive = "1.0.103"
+serde_json = "1.0.83"
+serde_yaml = "0.9.13"
+serial_test = "0.9.0"
+sha2 = "0.10.5"
+sha3 = "0.10.4"
+signal-hook = "0.3.14"
+smpl_jwt = "0.7.1"
+socket2 = "0.4.7"
+soketto = "0.7"
+solana_rbpf = "=0.2.38"
+solana-account-decoder = { path = "account-decoder", version = "=1.15.0" }
+solana-address-lookup-table-program = { path = "programs/address-lookup-table", version = "=1.15.0" }
+solana-banks-client = { path = "banks-client", version = "=1.15.0" }
+solana-banks-interface = { path = "banks-interface", version = "=1.15.0" }
+solana-banks-server = { path = "banks-server", version = "=1.15.0" }
+solana-bench-tps = { path = "bench-tps", version = "=1.15.0" }
+solana-bloom = { path = "bloom", version = "=1.15.0" }
+solana-bpf-loader-program = { path = "programs/bpf_loader", version = "=1.15.0" }
+solana-bucket-map = { path = "bucket_map", version = "=1.15.0" }
+solana-clap-utils = { path = "clap-utils", version = "=1.15.0" }
+solana-clap-v3-utils = { path = "clap-v3-utils", version = "=1.15.0" }
+solana-cli = { path = "cli", version = "=1.15.0" }
+solana-cli-config = { path = "cli-config", version = "=1.15.0" }
+solana-cli-output = { path = "cli-output", version = "=1.15.0" }
+solana-client = { path = "client", version = "=1.15.0" }
+solana-compute-budget-program = { path = "programs/compute-budget", version = "=1.15.0" }
+solana-config-program = { path = "programs/config", version = "=1.15.0" }
+solana-core = { path = "core", version = "=1.15.0" }
+solana-download-utils = { path = "download-utils", version = "=1.15.0" }
+solana-entry = { path = "entry", version = "=1.15.0" }
+solana-faucet = { path = "faucet", version = "=1.15.0" }
+solana-frozen-abi = { path = "frozen-abi", version = "=1.15.0" }
+solana-frozen-abi-macro = { path = "frozen-abi/macro", version = "=1.15.0" }
+solana-genesis = { path = "genesis", version = "=1.15.0" }
+solana-genesis-utils = { path = "genesis-utils", version = "=1.15.0" }
+solana-geyser-plugin-interface = { path = "geyser-plugin-interface", version = "=1.15.0" }
+solana-geyser-plugin-manager = { path = "geyser-plugin-manager", version = "=1.15.0" }
+solana-gossip = { path = "gossip", version = "=1.15.0" }
+solana-ledger = { path = "ledger", version = "=1.15.0" }
+solana-local-cluster = { path = "local-cluster", version = "=1.15.0" }
+solana-logger = { path = "logger", version = "=1.15.0" }
+solana-measure = { path = "measure", version = "=1.15.0" }
+solana-merkle-tree = { path = "merkle-tree", version = "=1.15.0" }
+solana-metrics = { path = "metrics", version = "=1.15.0" }
+solana-net-utils = { path = "net-utils", version = "=1.15.0" }
+solana-notifier = { path = "notifier", version = "=1.15.0" }
+solana-perf = { path = "perf", version = "=1.15.0" }
+solana-poh = { path = "poh", version = "=1.15.0" }
+solana-program = { path = "sdk/program", version = "=1.15.0" }
+solana-program-runtime = { path = "program-runtime", version = "=1.15.0" }
+solana-program-test = { path = "program-test", version = "=1.15.0" }
+solana-pubsub-client = { path = "pubsub-client", version = "=1.15.0" }
+solana-quic-client = { path = "quic-client", version = "=1.15.0" }
+solana-rayon-threadlimit = { path = "rayon-threadlimit", version = "=1.15.0" }
+solana-remote-wallet = { path = "remote-wallet", version = "=1.15.0", default-features = false }
+solana-rpc = { path = "rpc", version = "=1.15.0" }
+solana-rpc-client = { path = "rpc-client", version = "=1.15.0", default-features = false }
+solana-rpc-client-api = { path = "rpc-client-api", version = "=1.15.0" }
+solana-rpc-client-nonce-utils = { path = "rpc-client-nonce-utils", version = "=1.15.0" }
+solana-runtime = { path = "runtime", version = "=1.15.0" }
+solana-sdk = { path = "sdk", version = "=1.15.0" }
+solana-sdk-macro = { path = "sdk/macro", version = "=1.15.0" }
+solana-send-transaction-service = { path = "send-transaction-service", version = "=1.15.0" }
+solana-stake-program = { path = "programs/stake", version = "=1.15.0" }
+solana-storage-bigtable = { path = "storage-bigtable", version = "=1.15.0" }
+solana-storage-proto = { path = "storage-proto", version = "=1.15.0" }
+solana-streamer = { path = "streamer", version = "=1.15.0" }
+solana-sys-tuner = { path = "sys-tuner", version = "=1.15.0" }
+solana-test-validator = { path = "test-validator", version = "=1.15.0" }
+solana-thin-client = { path = "thin-client", version = "=1.15.0" }
+solana-tpu-client = { path = "tpu-client", version = "=1.15.0", default-features = false }
+solana-transaction-status = { path = "transaction-status", version = "=1.15.0" }
+solana-udp-client = { path = "udp-client", version = "=1.15.0" }
+solana-version = { path = "version", version = "=1.15.0" }
+solana-vote-program = { path = "programs/vote", version = "=1.15.0" }
+solana-zk-token-proof-program = { path = "programs/zk-token-proof", version = "=1.15.0" }
+solana-zk-token-sdk = { path = "zk-token-sdk", version = "=1.15.0" }
+spl-associated-token-account = "=1.1.2"
+spl-instruction-padding = "0.1"
+spl-memo = "=3.0.1"
+spl-token = "=3.5.0"
+spl-token-2022 = "=0.5.0"
+static_assertions = "1.1.0"
+stream-cancel = "0.8.1"
+strum = "0.24"
+strum_macros = "0.24"
+subtle = "2.4.1"
+symlink = "0.1.0"
+syn = "1.0"
+sys-info = "0.9.1"
+sysctl = "0.4.4"
+systemstat = "0.2.0"
+tar = "0.4.38"
+tarpc = "0.29.0"
+tempfile = "3.3.0"
+test-case = "2.2.2"
+thiserror = "1.0.31"
+tiny-bip39 = "0.8.2"
+tokio = "~1.14.1"
+tokio-serde = "0.8"
+tokio-stream = "0.1.9"
+tokio-tungstenite = "0.17.2"
+tokio-util = "0.6"
+tonic = "0.8.2"
+tonic-build = "0.8.0"
+trees = "0.4.2"
+tungstenite = "0.17.2"
+unix_socket2 = "0.5.4"
+uriparse = "0.6.4"
+url = "2.2.2"
+users = "0.10.0"
+wasm-bindgen = "0.2"
+winapi = "0.3.8"
+winreg = "0.10"
+x509-parser = "0.14.0"
+zeroize = { version = "1.3", default-features = false }
+zstd = "0.11.2"
+
 # for details, see https://github.com/solana-labs/crossbeam/commit/fd279d707025f0e60951e429bf778b4813d1b6bf
 [patch.crates-io]
 crossbeam-epoch = { git = "https://github.com/solana-labs/crossbeam", rev = "fd279d707025f0e60951e429bf778b4813d1b6bf" }

+ 22 - 22
account-decoder/Cargo.toml

@@ -1,31 +1,31 @@
 [package]
 name = "solana-account-decoder"
-version = "1.15.0"
 description = "Solana account decoder"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-account-decoder"
-license = "Apache-2.0"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-Inflector = "0.11.4"
-base64 = "0.13.0"
-bincode = "1.3.3"
-bs58 = "0.4.0"
-bv = "0.11.1"
-lazy_static = "1.4.0"
-serde = "1.0.144"
-serde_derive = "1.0.103"
-serde_json = "1.0.83"
-solana-address-lookup-table-program = { path = "../programs/address-lookup-table", version = "=1.15.0" }
-solana-config-program = { path = "../programs/config", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-spl-token = { version = "=3.5.0", features = ["no-entrypoint"] }
-spl-token-2022 = { version = "=0.5.0", features = ["no-entrypoint"] }
-thiserror = "1.0"
-zstd = "0.11.2"
+Inflector = { workspace = true }
+base64 = { workspace = true }
+bincode = { workspace = true }
+bs58 = { workspace = true }
+bv = { workspace = true }
+lazy_static = { workspace = true }
+serde = { workspace = true }
+serde_derive = { workspace = true }
+serde_json = { workspace = true }
+solana-address-lookup-table-program = { workspace = true }
+solana-config-program = { workspace = true }
+solana-sdk = { workspace = true }
+spl-token = { workspace = true, features = ["no-entrypoint"] }
+spl-token-2022 = { workspace = true, features = ["no-entrypoint"] }
+thiserror = { workspace = true }
+zstd = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 14 - 14
accounts-bench/Cargo.toml

@@ -1,22 +1,22 @@
 [package]
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-edition = "2021"
 name = "solana-accounts-bench"
-version = "1.15.0"
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 publish = false
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-clap = "2.33.1"
-log = "0.4.17"
-rayon = "1.5.3"
-solana-logger = { path = "../logger", version = "=1.15.0" }
-solana-measure = { path = "../measure", version = "=1.15.0" }
-solana-runtime = { path = "../runtime", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-version = { path = "../version", version = "=1.15.0" }
+clap = { workspace = true }
+log = { workspace = true }
+rayon = { workspace = true }
+solana-logger = { workspace = true }
+solana-measure = { workspace = true }
+solana-runtime = { workspace = true }
+solana-sdk = { workspace = true }
+solana-version = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 28 - 28
accounts-cluster-bench/Cargo.toml

@@ -1,38 +1,38 @@
 [package]
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-edition = "2021"
 name = "solana-accounts-cluster-bench"
-version = "1.15.0"
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 publish = false
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-clap = "2.33.1"
-log = "0.4.17"
-rand = "0.7.0"
-rayon = "1.5.3"
-solana-account-decoder = { path = "../account-decoder", version = "=1.15.0" }
-solana-clap-utils = { path = "../clap-utils", version = "=1.15.0" }
-solana-client = { path = "../client", version = "=1.15.0" }
-solana-faucet = { path = "../faucet", version = "=1.15.0" }
-solana-gossip = { path = "../gossip", version = "=1.15.0" }
-solana-logger = { path = "../logger", version = "=1.15.0" }
-solana-measure = { path = "../measure", version = "=1.15.0" }
-solana-net-utils = { path = "../net-utils", version = "=1.15.0" }
-solana-rpc-client = { path = "../rpc-client", version = "=1.15.0" }
-solana-runtime = { path = "../runtime", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-streamer = { path = "../streamer", version = "=1.15.0" }
-solana-transaction-status = { path = "../transaction-status", version = "=1.15.0" }
-solana-version = { path = "../version", version = "=1.15.0" }
-spl-token = { version = "=3.5.0", features = ["no-entrypoint"] }
+clap = { workspace = true }
+log = { workspace = true }
+rand = { workspace = true }
+rayon = { workspace = true }
+solana-account-decoder = { workspace = true }
+solana-clap-utils = { workspace = true }
+solana-client = { workspace = true }
+solana-faucet = { workspace = true }
+solana-gossip = { workspace = true }
+solana-logger = { workspace = true }
+solana-measure = { workspace = true }
+solana-net-utils = { workspace = true }
+solana-rpc-client = { workspace = true, features = ["default"] }
+solana-runtime = { workspace = true }
+solana-sdk = { workspace = true }
+solana-streamer = { workspace = true }
+solana-transaction-status = { workspace = true }
+solana-version = { workspace = true }
+spl-token = { workspace = true, features = ["no-entrypoint"] }
 
 [dev-dependencies]
-solana-core = { path = "../core", version = "=1.15.0" }
-solana-local-cluster = { path = "../local-cluster", version = "=1.15.0" }
-solana-test-validator = { path = "../test-validator", version = "=1.15.0" }
+solana-core = { workspace = true }
+solana-local-cluster = { workspace = true }
+solana-test-validator = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 23 - 23
banking-bench/Cargo.toml

@@ -1,32 +1,32 @@
 [package]
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-edition = "2021"
 name = "solana-banking-bench"
-version = "1.15.0"
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 publish = false
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
 clap = { version = "3.1.8", features = ["derive"] }
-crossbeam-channel = "0.5"
-log = "0.4.17"
-rand = "0.7.0"
-rayon = "1.5.3"
-solana-client = { path = "../client", version = "=1.15.0" }
-solana-core = { path = "../core", version = "=1.15.0" }
-solana-gossip = { path = "../gossip", version = "=1.15.0" }
-solana-ledger = { path = "../ledger", version = "=1.15.0" }
-solana-logger = { path = "../logger", version = "=1.15.0" }
-solana-measure = { path = "../measure", version = "=1.15.0" }
-solana-perf = { path = "../perf", version = "=1.15.0" }
-solana-poh = { path = "../poh", version = "=1.15.0" }
-solana-runtime = { path = "../runtime", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-streamer = { path = "../streamer", version = "=1.15.0" }
-solana-tpu-client = { path = "../tpu-client", version = "=1.15.0", default-features = false }
-solana-version = { path = "../version", version = "=1.15.0" }
+crossbeam-channel = { workspace = true }
+log = { workspace = true }
+rand = { workspace = true }
+rayon = { workspace = true }
+solana-client = { workspace = true }
+solana-core = { workspace = true }
+solana-gossip = { workspace = true }
+solana-ledger = { workspace = true }
+solana-logger = { workspace = true }
+solana-measure = { workspace = true }
+solana-perf = { workspace = true }
+solana-poh = { workspace = true }
+solana-runtime = { workspace = true }
+solana-sdk = { workspace = true }
+solana-streamer = { workspace = true }
+solana-tpu-client = { workspace = true }
+solana-version = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 17 - 18
banks-client/Cargo.toml

@@ -1,28 +1,27 @@
 [package]
 name = "solana-banks-client"
-version = "1.15.0"
-description = "Solana banks client"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-banks-client"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-borsh = "0.9.3"
-futures = "0.3"
-solana-banks-interface = { path = "../banks-interface", version = "=1.15.0" }
-solana-program = { path = "../sdk/program", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-tarpc = { version = "0.29.0", features = ["full"] }
-thiserror = "1.0"
-tokio = { version = "~1.14.1", features = ["full"] }
-tokio-serde = { version = "0.8", features = ["bincode"] }
+borsh = { workspace = true }
+futures = { workspace = true }
+solana-banks-interface = { workspace = true }
+solana-program = { workspace = true }
+solana-sdk = { workspace = true }
+tarpc = { workspace = true, features = ["full"] }
+thiserror = { workspace = true }
+tokio = { workspace = true, features = ["full"] }
+tokio-serde = { workspace = true, features = ["bincode"] }
 
 [dev-dependencies]
-solana-banks-server = { path = "../banks-server", version = "=1.15.0" }
-solana-runtime = { path = "../runtime", version = "=1.15.0" }
+solana-banks-server = { workspace = true }
+solana-runtime = { workspace = true }
 
 [lib]
 crate-type = ["lib"]

+ 9 - 9
banks-interface/Cargo.toml

@@ -1,18 +1,18 @@
 [package]
 name = "solana-banks-interface"
-version = "1.15.0"
 description = "Solana banks RPC interface"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-banks-interface"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-serde = { version = "1.0.144", features = ["derive"] }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-tarpc = { version = "0.29.0", features = ["full"] }
+serde = { workspace = true, features = ["derive"] }
+solana-sdk = { workspace = true }
+tarpc = { workspace = true, features = ["full"] }
 
 [lib]
 crate-type = ["lib"]

+ 18 - 18
banks-server/Cargo.toml

@@ -1,27 +1,27 @@
 [package]
 name = "solana-banks-server"
-version = "1.15.0"
 description = "Solana banks server"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-banks-server"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-bincode = "1.3.3"
-crossbeam-channel = "0.5"
-futures = "0.3"
-solana-banks-interface = { path = "../banks-interface", version = "=1.15.0" }
-solana-client = { path = "../client", version = "=1.15.0" }
-solana-runtime = { path = "../runtime", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-send-transaction-service = { path = "../send-transaction-service", version = "=1.15.0" }
-tarpc = { version = "0.29.0", features = ["full"] }
-tokio = { version = "1", features = ["full"] }
-tokio-serde = { version = "0.8", features = ["bincode"] }
-tokio-stream = "0.1"
+bincode = { workspace = true }
+crossbeam-channel = { workspace = true }
+futures = { workspace = true }
+solana-banks-interface = { workspace = true }
+solana-client = { workspace = true }
+solana-runtime = { workspace = true }
+solana-sdk = { workspace = true }
+solana-send-transaction-service = { workspace = true }
+tarpc = { workspace = true, features = ["full"] }
+tokio = { workspace = true, features = ["full"] }
+tokio-serde = { workspace = true, features = ["bincode"] }
+tokio-stream = { workspace = true }
 
 [lib]
 crate-type = ["lib"]

+ 10 - 10
bench-streamer/Cargo.toml

@@ -1,19 +1,19 @@
 [package]
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-edition = "2021"
 name = "solana-bench-streamer"
-version = "1.15.0"
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 publish = false
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
 clap = { version = "3.1.5", features = ["cargo"] }
-crossbeam-channel = "0.5"
-solana-net-utils = { path = "../net-utils", version = "=1.15.0" }
-solana-streamer = { path = "../streamer", version = "=1.15.0" }
-solana-version = { path = "../version", version = "=1.15.0" }
+crossbeam-channel = { workspace = true }
+solana-net-utils = { workspace = true }
+solana-streamer = { workspace = true }
+solana-version = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 39 - 39
bench-tps/Cargo.toml

@@ -1,49 +1,49 @@
 [package]
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-edition = "2021"
 name = "solana-bench-tps"
-version = "1.15.0"
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 publish = false
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-clap = "2.33.1"
-crossbeam-channel = "0.5"
-log = "0.4.17"
-rand = "0.7.0"
-rayon = "1.5.3"
-serde_json = "1.0.83"
-serde_yaml = "0.9.13"
-solana-clap-utils = { path = "../clap-utils", version = "=1.15.0" }
-solana-cli-config = { path = "../cli-config", version = "=1.15.0" }
-solana-client = { path = "../client", version = "=1.15.0" }
-solana-core = { path = "../core", version = "=1.15.0" }
-solana-faucet = { path = "../faucet", version = "=1.15.0" }
-solana-genesis = { path = "../genesis", version = "=1.15.0" }
-solana-gossip = { path = "../gossip", version = "=1.15.0" }
-solana-logger = { path = "../logger", version = "=1.15.0" }
-solana-measure = { path = "../measure", version = "=1.15.0" }
-solana-metrics = { path = "../metrics", version = "=1.15.0" }
-solana-net-utils = { path = "../net-utils", version = "=1.15.0" }
-solana-rpc = { path = "../rpc", version = "=1.15.0" }
-solana-rpc-client = { path = "../rpc-client", version = "=1.15.0", default-features = false }
-solana-rpc-client-api = { path = "../rpc-client-api", version = "=1.15.0" }
-solana-rpc-client-nonce-utils = { path = "../rpc-client-nonce-utils", version = "=1.15.0" }
-solana-runtime = { path = "../runtime", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-streamer = { path = "../streamer", version = "=1.15.0" }
-solana-thin-client = { path = "../thin-client", version = "=1.15.0" }
-solana-tpu-client = { path = "../tpu-client", version = "=1.15.0", default-features = false }
-solana-version = { path = "../version", version = "=1.15.0" }
-spl-instruction-padding = "0.1"
-thiserror = "1.0"
+clap = { workspace = true }
+crossbeam-channel = { workspace = true }
+log = { workspace = true }
+rand = { workspace = true }
+rayon = { workspace = true }
+serde_json = { workspace = true }
+serde_yaml = { workspace = true }
+solana-clap-utils = { workspace = true }
+solana-cli-config = { workspace = true }
+solana-client = { workspace = true }
+solana-core = { workspace = true }
+solana-faucet = { workspace = true }
+solana-genesis = { workspace = true }
+solana-gossip = { workspace = true }
+solana-logger = { workspace = true }
+solana-measure = { workspace = true }
+solana-metrics = { workspace = true }
+solana-net-utils = { workspace = true }
+solana-rpc = { workspace = true }
+solana-rpc-client = { workspace = true }
+solana-rpc-client-api = { workspace = true }
+solana-rpc-client-nonce-utils = { workspace = true }
+solana-runtime = { workspace = true }
+solana-sdk = { workspace = true }
+solana-streamer = { workspace = true }
+solana-thin-client = { workspace = true }
+solana-tpu-client = { workspace = true }
+solana-version = { workspace = true }
+spl-instruction-padding = { workspace = true }
+thiserror = { workspace = true }
 
 [dev-dependencies]
-serial_test = "0.9.0"
-solana-local-cluster = { path = "../local-cluster", version = "=1.15.0" }
-solana-test-validator = { path = "../test-validator", version = "=1.15.0" }
+serial_test = { workspace = true }
+solana-local-cluster = { workspace = true }
+solana-test-validator = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 17 - 17
bloom/Cargo.toml

@@ -1,25 +1,25 @@
 [package]
 name = "solana-bloom"
-version = "1.15.0"
 description = "Solana bloom filter"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-bloom"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-bv = { version = "0.11.1", features = ["serde"] }
-fnv = "1.0.7"
-log = "0.4.17"
-rand = "0.7.0"
-rayon = "1.5.3"
-serde = { version = "1.0.144", features = ["rc"] }
-serde_derive = "1.0.103"
-solana-frozen-abi = { path = "../frozen-abi", version = "=1.15.0" }
-solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
+bv = { workspace = true, features = ["serde"] }
+fnv = { workspace = true }
+log = { workspace = true }
+rand = { workspace = true }
+rayon = { workspace = true }
+serde = { workspace = true, features = ["rc"] }
+serde_derive = { workspace = true }
+solana-frozen-abi = { workspace = true }
+solana-frozen-abi-macro = { workspace = true }
+solana-sdk = { workspace = true }
 
 [lib]
 crate-type = ["lib"]
@@ -29,4 +29,4 @@ name = "solana_bloom"
 targets = ["x86_64-unknown-linux-gnu"]
 
 [build-dependencies]
-rustc_version = "0.4"
+rustc_version = { workspace = true }

+ 16 - 16
bucket_map/Cargo.toml

@@ -1,28 +1,28 @@
 [package]
 name = "solana-bucket-map"
-version = "1.15.0"
 description = "solana-bucket-map"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-bucket-map"
 readme = "../README.md"
-repository = "https://github.com/solana-labs/solana"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-license = "Apache-2.0"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-log = { version = "0.4.17" }
-memmap2 = "0.5.8"
-modular-bitfield = "0.11.2"
-rand = "0.7.0"
-solana-measure = { path = "../measure", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-tempfile = "3.3.0"
+log = { workspace = true }
+memmap2 = { workspace = true }
+modular-bitfield = { workspace = true }
+rand = { workspace = true }
+solana-measure = { workspace = true }
+solana-sdk = { workspace = true }
+tempfile = { workspace = true }
 
 [dev-dependencies]
-fs_extra = "1.2.0"
-rayon = "1.5.3"
-solana-logger = { path = "../logger", version = "=1.15.0" }
+fs_extra = { workspace = true }
+rayon = { workspace = true }
+solana-logger = { workspace = true }
 
 [lib]
 crate-type = ["lib"]

+ 1 - 1
ci/check-channel-version.sh

@@ -8,7 +8,7 @@ if [[ -z $CI_TAG ]]; then
     if [[ -n $CHANNEL_LATEST_TAG ]]; then
       source scripts/read-cargo-variable.sh
 
-      version=$(readCargoVariable version "version/Cargo.toml")
+      version=$(readCargoVariable version Cargo.toml)
       echo "latest channel tag: $CHANNEL_LATEST_TAG"
       echo "current version: v$version"
 

+ 16 - 16
clap-utils/Cargo.toml

@@ -1,28 +1,28 @@
 [package]
 name = "solana-clap-utils"
-version = "1.15.0"
 description = "Solana utilities for the clap"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-clap-utils"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-chrono = "0.4"
+chrono = { workspace = true, features = ["default"] }
 clap = "2.33.0"
-rpassword = "7.0"
-solana-perf = { path = "../perf", version = "=1.15.0" }
-solana-remote-wallet = { path = "../remote-wallet", version = "=1.15.0", default-features = false }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-thiserror = "1.0.31"
-tiny-bip39 = "0.8.2"
-uriparse = "0.6.4"
-url = "2.2.2"
+rpassword = { workspace = true }
+solana-perf = { workspace = true }
+solana-remote-wallet = { workspace = true }
+solana-sdk = { workspace = true }
+thiserror = { workspace = true }
+tiny-bip39 = { workspace = true }
+uriparse = { workspace = true }
+url = { workspace = true }
 
 [dev-dependencies]
-tempfile = "3.3.0"
+tempfile = { workspace = true }
 
 [lib]
 name = "solana_clap_utils"

+ 16 - 16
clap-v3-utils/Cargo.toml

@@ -1,28 +1,28 @@
 [package]
 name = "solana-clap-v3-utils"
-version = "1.15.0"
 description = "Solana utilities for the clap v3"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-clap-utils"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-chrono = "0.4"
+chrono = { workspace = true, features = ["default"] }
 clap = { version = "3.1.5", features = ["cargo"] }
-rpassword = "7.0"
-solana-perf = { path = "../perf", version = "=1.15.0" }
-solana-remote-wallet = { path = "../remote-wallet", version = "=1.15.0", default-features = false }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-thiserror = "1.0.31"
-tiny-bip39 = "0.8.2"
-uriparse = "0.6.4"
-url = "2.2.2"
+rpassword = { workspace = true }
+solana-perf = { workspace = true }
+solana-remote-wallet = { workspace = true }
+solana-sdk = { workspace = true }
+thiserror = { workspace = true }
+tiny-bip39 = { workspace = true }
+uriparse = { workspace = true }
+url = { workspace = true }
 
 [dev-dependencies]
-tempfile = "3.3.0"
+tempfile = { workspace = true }
 
 [lib]
 name = "solana_clap_v3_utils"

+ 15 - 15
cli-config/Cargo.toml

@@ -1,26 +1,26 @@
 [package]
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-edition = "2021"
 name = "solana-cli-config"
 description = "Blockchain, Rebuilt for Scale"
-version = "1.15.0"
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-cli-config"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-dirs-next = "2.0.0"
-lazy_static = "1.4.0"
-serde = "1.0.144"
-serde_derive = "1.0.103"
-serde_yaml = "0.9.13"
-solana-clap-utils = { path = "../clap-utils", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-url = "2.2.2"
+dirs-next = { workspace = true }
+lazy_static = { workspace = true }
+serde = { workspace = true }
+serde_derive = { workspace = true }
+serde_yaml = { workspace = true }
+solana-clap-utils = { workspace = true }
+solana-sdk = { workspace = true }
+url = { workspace = true }
 
 [dev-dependencies]
-anyhow = "1.0.58"
+anyhow = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 25 - 25
cli-output/Cargo.toml

@@ -1,37 +1,37 @@
 [package]
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-edition = "2021"
 name = "solana-cli-output"
 description = "Blockchain, Rebuilt for Scale"
-version = "1.15.0"
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-cli-output"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-Inflector = "0.11.4"
-base64 = "0.13.0"
-chrono = { version = "0.4.22", features = ["serde"] }
+Inflector = { workspace = true }
+base64 = { workspace = true }
+chrono = { workspace = true, features = ["default", "serde"] }
 clap = "2.33.0"
-console = "0.15.0"
-humantime = "2.0.1"
-indicatif = "0.17.1"
-pretty-hex = "0.3.0"
-semver = "1.0.16"
-serde = "1.0.144"
-serde_json = "1.0.83"
-solana-account-decoder = { path = "../account-decoder", version = "=1.15.0" }
-solana-clap-utils = { path = "../clap-utils", version = "=1.15.0" }
-solana-cli-config = { path = "../cli-config", version = "=1.15.0" }
-solana-rpc-client-api = { path = "../rpc-client-api", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-transaction-status = { path = "../transaction-status", version = "=1.15.0" }
-solana-vote-program = { path = "../programs/vote", version = "=1.15.0" }
-spl-memo = { version = "=3.0.1", features = ["no-entrypoint"] }
+console = { workspace = true }
+humantime = { workspace = true }
+indicatif = { workspace = true }
+pretty-hex = { workspace = true }
+semver = { workspace = true }
+serde = { workspace = true }
+serde_json = { workspace = true }
+solana-account-decoder = { workspace = true }
+solana-clap-utils = { workspace = true }
+solana-cli-config = { workspace = true }
+solana-rpc-client-api = { workspace = true }
+solana-sdk = { workspace = true }
+solana-transaction-status = { workspace = true }
+solana-vote-program = { workspace = true }
+spl-memo = { workspace = true, features = ["no-entrypoint"] }
 
 [dev-dependencies]
-ed25519-dalek = "=1.0.1"
+ed25519-dalek = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 51 - 58
cli/Cargo.toml

@@ -1,69 +1,62 @@
 [package]
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-edition = "2021"
 name = "solana-cli"
 description = "Blockchain, Rebuilt for Scale"
-version = "1.15.0"
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-cli"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-bincode = "1.3.3"
-bs58 = "0.4.0"
-clap = "2.33.1"
-console = "0.15.0"
-const_format = "0.2.26"
-criterion-stats = "0.3.0"
-crossbeam-channel = "0.5"
-ctrlc = { version = "3.2.3", features = ["termination"] }
-humantime = "2.0.1"
-log = "0.4.17"
-num-traits = "0.2"
-pretty-hex = "0.3.0"
-reqwest = { version = "0.11.12", default-features = false, features = [
-	"blocking",
-	"brotli",
-	"deflate",
-	"gzip",
-	"rustls-tls",
-	"json"
-] }
-semver = "1.0.16"
-serde = "1.0.144"
-serde_derive = "1.0.103"
-serde_json = "1.0.83"
-solana-account-decoder = { path = "../account-decoder", version = "=1.15.0" }
-solana-address-lookup-table-program = { path = "../programs/address-lookup-table", version = "=1.15.0" }
-solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "=1.15.0" }
-solana-clap-utils = { path = "../clap-utils", version = "=1.15.0" }
-solana-cli-config = { path = "../cli-config", version = "=1.15.0" }
-solana-cli-output = { path = "../cli-output", version = "=1.15.0" }
-solana-client = { path = "../client", version = "=1.15.0" }
-solana-config-program = { path = "../programs/config", version = "=1.15.0" }
-solana-faucet = { path = "../faucet", version = "=1.15.0" }
-solana-logger = { path = "../logger", version = "=1.15.0" }
-solana-program-runtime = { path = "../program-runtime", version = "=1.15.0" }
-solana-pubsub-client = { path = "../pubsub-client", version = "=1.15.0" }
-solana-remote-wallet = { path = "../remote-wallet", version = "=1.15.0" }
-solana-rpc-client = { path = "../rpc-client", version = "=1.15.0" }
-solana-rpc-client-api = { path = "../rpc-client-api", version = "=1.15.0" }
-solana-rpc-client-nonce-utils = { path = "../rpc-client-nonce-utils", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-tpu-client = { path = "../tpu-client", version = "=1.15.0" }
-solana-transaction-status = { path = "../transaction-status", version = "=1.15.0" }
-solana-version = { path = "../version", version = "=1.15.0" }
-solana-vote-program = { path = "../programs/vote", version = "=1.15.0" }
-solana_rbpf = "=0.2.38"
-spl-memo = { version = "=3.0.1", features = ["no-entrypoint"] }
-thiserror = "1.0.31"
-tiny-bip39 = "0.8.2"
+bincode = { workspace = true }
+bs58 = { workspace = true }
+clap = { workspace = true }
+console = { workspace = true }
+const_format = { workspace = true }
+criterion-stats = { workspace = true }
+crossbeam-channel = { workspace = true }
+ctrlc = { workspace = true, features = ["termination"] }
+humantime = { workspace = true }
+log = { workspace = true }
+num-traits = { workspace = true }
+pretty-hex = { workspace = true }
+reqwest = { workspace = true, features = ["blocking", "brotli", "deflate", "gzip", "rustls-tls", "json"] }
+semver = { workspace = true }
+serde = { workspace = true }
+serde_derive = { workspace = true }
+serde_json = { workspace = true }
+solana-account-decoder = { workspace = true }
+solana-address-lookup-table-program = { workspace = true }
+solana-bpf-loader-program = { workspace = true }
+solana-clap-utils = { workspace = true }
+solana-cli-config = { workspace = true }
+solana-cli-output = { workspace = true }
+solana-client = { workspace = true }
+solana-config-program = { workspace = true }
+solana-faucet = { workspace = true }
+solana-logger = { workspace = true }
+solana-program-runtime = { workspace = true }
+solana-pubsub-client = { workspace = true }
+solana-remote-wallet = { workspace = true, features = ["default"] }
+solana-rpc-client = { workspace = true, features = ["default"] }
+solana-rpc-client-api = { workspace = true }
+solana-rpc-client-nonce-utils = { workspace = true }
+solana-sdk = { workspace = true }
+solana-tpu-client = { workspace = true, features = ["default"] }
+solana-transaction-status = { workspace = true }
+solana-version = { workspace = true }
+solana-vote-program = { workspace = true }
+solana_rbpf = { workspace = true }
+spl-memo = { workspace = true, features = ["no-entrypoint"] }
+thiserror = { workspace = true }
+tiny-bip39 = { workspace = true }
 
 [dev-dependencies]
-solana-streamer = { path = "../streamer", version = "=1.15.0" }
-solana-test-validator = { path = "../test-validator", version = "=1.15.0" }
-tempfile = "3.3.0"
+solana-streamer = { workspace = true }
+solana-test-validator = { workspace = true }
+tempfile = { workspace = true }
 
 [[bin]]
 name = "solana"

+ 28 - 28
client-test/Cargo.toml

@@ -1,40 +1,40 @@
 [package]
 name = "solana-client-test"
-version = "1.15.0"
 description = "Solana RPC Test"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-client-test"
-edition = "2021"
 publish = false
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-futures-util = "0.3.25"
-serde_json = "1.0.83"
-solana-ledger = { path = "../ledger", version = "=1.15.0" }
-solana-measure = { path = "../measure", version = "=1.15.0" }
-solana-merkle-tree = { path = "../merkle-tree", version = "=1.15.0" }
-solana-metrics = { path = "../metrics", version = "=1.15.0" }
-solana-perf = { path = "../perf", version = "=1.15.0" }
-solana-pubsub-client = { path = "../pubsub-client", version = "=1.15.0" }
-solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.15.0" }
-solana-rpc = { path = "../rpc", version = "=1.15.0" }
-solana-rpc-client = { path = "../rpc-client", version = "=1.15.0", default-features = false }
-solana-rpc-client-api = { path = "../rpc-client-api", version = "=1.15.0" }
-solana-runtime = { path = "../runtime", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-streamer = { path = "../streamer", version = "=1.15.0" }
-solana-test-validator = { path = "../test-validator", version = "=1.15.0" }
-solana-transaction-status = { path = "../transaction-status", version = "=1.15.0" }
-solana-version = { path = "../version", version = "=1.15.0" }
-systemstat = "0.2.0"
-tokio = { version = "~1.14.1", features = ["full"] }
-tungstenite = { version = "0.17.2", features = ["rustls-tls-webpki-roots"] }
+futures-util = { workspace = true }
+serde_json = { workspace = true }
+solana-ledger = { workspace = true }
+solana-measure = { workspace = true }
+solana-merkle-tree = { workspace = true }
+solana-metrics = { workspace = true }
+solana-perf = { workspace = true }
+solana-pubsub-client = { workspace = true }
+solana-rayon-threadlimit = { workspace = true }
+solana-rpc = { workspace = true }
+solana-rpc-client = { workspace = true }
+solana-rpc-client-api = { workspace = true }
+solana-runtime = { workspace = true }
+solana-sdk = { workspace = true }
+solana-streamer = { workspace = true }
+solana-test-validator = { workspace = true }
+solana-transaction-status = { workspace = true }
+solana-version = { workspace = true }
+systemstat = { workspace = true }
+tokio = { workspace = true, features = ["full"] }
+tungstenite = { workspace = true, features = ["rustls-tls-webpki-roots"] }
 
 [dev-dependencies]
-solana-logger = { path = "../logger", version = "=1.15.0" }
+solana-logger = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 35 - 35
client/Cargo.toml

@@ -1,46 +1,46 @@
 [package]
 name = "solana-client"
-version = "1.15.0"
 description = "Solana Client"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-client"
-license = "Apache-2.0"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-async-trait = "0.1.57"
-bincode = "1.3.3"
-enum_dispatch = "0.3.8"
-futures = "0.3"
-futures-util = "0.3.25"
-indexmap = "1.9.1"
-indicatif = { version = "0.17.1" }
-log = "0.4.17"
-quinn = "0.9.3"
-rand = "0.7.0"
-rayon = "1.5.3"
-solana-measure = { path = "../measure", version = "=1.15.0" }
-solana-metrics = { path = "../metrics", version = "=1.15.0" }
-solana-net-utils = { path = "../net-utils", version = "=1.15.0" }
-solana-pubsub-client = { path = "../pubsub-client", version = "=1.15.0" }
-solana-quic-client = { path = "../quic-client", version = "=1.15.0" }
-solana-rpc-client = { path = "../rpc-client", version = "=1.15.0" }
-solana-rpc-client-api = { path = "../rpc-client-api", version = "=1.15.0" }
-solana-rpc-client-nonce-utils = { path = "../rpc-client-nonce-utils", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-streamer = { path = "../streamer", version = "=1.15.0" }
-solana-thin-client = { path = "../thin-client", version = "=1.15.0" }
-solana-tpu-client = { path = "../tpu-client", version = "=1.15.0" }
-solana-udp-client = { path = "../udp-client", version = "=1.15.0" }
-thiserror = "1.0"
-tokio = { version = "1", features = ["full"] }
+async-trait = { workspace = true }
+bincode = { workspace = true }
+enum_dispatch = { workspace = true }
+futures = { workspace = true }
+futures-util = { workspace = true }
+indexmap = { workspace = true }
+indicatif = { workspace = true }
+log = { workspace = true }
+quinn = { workspace = true }
+rand = { workspace = true }
+rayon = { workspace = true }
+solana-measure = { workspace = true }
+solana-metrics = { workspace = true }
+solana-net-utils = { workspace = true }
+solana-pubsub-client = { workspace = true }
+solana-quic-client = { workspace = true }
+solana-rpc-client = { workspace = true, features = ["default"] }
+solana-rpc-client-api = { workspace = true }
+solana-rpc-client-nonce-utils = { workspace = true }
+solana-sdk = { workspace = true }
+solana-streamer = { workspace = true }
+solana-thin-client = { workspace = true }
+solana-tpu-client = { workspace = true, features = ["default"] }
+solana-udp-client = { workspace = true }
+thiserror = { workspace = true }
+tokio = { workspace = true, features = ["full"] }
 
 [dev-dependencies]
-crossbeam-channel = "0.5"
-rand_chacha = "0.2.2"
-solana-logger = { path = "../logger", version = "=1.15.0" }
+crossbeam-channel = { workspace = true }
+rand_chacha = { workspace = true }
+solana-logger = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 71 - 71
core/Cargo.toml

@@ -1,90 +1,90 @@
 [package]
 name = "solana-core"
 description = "Blockchain, Rebuilt for Scale"
-version = "1.15.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-core"
 readme = "../README.md"
-repository = "https://github.com/solana-labs/solana"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-license = "Apache-2.0"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [badges]
 codecov = { repository = "solana-labs/solana", branch = "master", service = "github" }
 
 [dependencies]
-ahash = "0.7.6"
-base64 = "0.13.0"
-bincode = "1.3.3"
-bs58 = "0.4.0"
-chrono = { version = "0.4.22", features = ["serde"] }
-crossbeam-channel = "0.5"
-dashmap = { version = "4.0.2", features = ["rayon", "raw-api"] }
-eager = "0.1.0"
-etcd-client = { version = "0.8.1", features = ["tls"] }
-fs_extra = "1.2.0"
-histogram = "0.6.9"
-itertools = "0.10.5"
-lazy_static = "1.4.0"
-log = "0.4.17"
-lru = "0.7.7"
-min-max-heap = "1.3.0"
-num_enum = "0.5.7"
-rand = "0.7.0"
-rand_chacha = "0.2.2"
-rayon = "1.5.3"
-serde = "1.0.144"
-serde_derive = "1.0.103"
-solana-address-lookup-table-program = { path = "../programs/address-lookup-table", version = "=1.15.0" }
-solana-bloom = { path = "../bloom", version = "=1.15.0" }
-solana-client = { path = "../client", version = "=1.15.0" }
-solana-entry = { path = "../entry", version = "=1.15.0" }
-solana-frozen-abi = { path = "../frozen-abi", version = "=1.15.0" }
-solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.15.0" }
-solana-geyser-plugin-manager = { path = "../geyser-plugin-manager", version = "=1.15.0" }
-solana-gossip = { path = "../gossip", version = "=1.15.0" }
-solana-ledger = { path = "../ledger", version = "=1.15.0" }
-solana-measure = { path = "../measure", version = "=1.15.0" }
-solana-metrics = { path = "../metrics", version = "=1.15.0" }
-solana-net-utils = { path = "../net-utils", version = "=1.15.0" }
-solana-perf = { path = "../perf", version = "=1.15.0" }
-solana-poh = { path = "../poh", version = "=1.15.0" }
-solana-program-runtime = { path = "../program-runtime", version = "=1.15.0" }
-solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.15.0" }
-solana-rpc = { path = "../rpc", version = "=1.15.0" }
-solana-rpc-client-api = { path = "../rpc-client-api", version = "=1.15.0" }
-solana-runtime = { path = "../runtime", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-send-transaction-service = { path = "../send-transaction-service", version = "=1.15.0" }
-solana-streamer = { path = "../streamer", version = "=1.15.0" }
-solana-tpu-client = { path = "../tpu-client", version = "=1.15.0", default-features = false }
-solana-transaction-status = { path = "../transaction-status", version = "=1.15.0" }
-solana-version = { path = "../version", version = "=1.15.0" }
-solana-vote-program = { path = "../programs/vote", version = "=1.15.0" }
-sys-info = "0.9.1"
-tempfile = "3.3.0"
-thiserror = "1.0"
-tokio = { version = "~1.14.1", features = ["full"] }
-trees = "0.4.2"
+ahash = { workspace = true }
+base64 = { workspace = true }
+bincode = { workspace = true }
+bs58 = { workspace = true }
+chrono = { workspace = true, features = ["default", "serde"] }
+crossbeam-channel = { workspace = true }
+dashmap = { workspace = true, features = ["rayon", "raw-api"] }
+eager = { workspace = true }
+etcd-client = { workspace = true, features = ["tls"] }
+fs_extra = { workspace = true }
+histogram = { workspace = true }
+itertools = { workspace = true }
+lazy_static = { workspace = true }
+log = { workspace = true }
+lru = { workspace = true }
+min-max-heap = { workspace = true }
+num_enum = { workspace = true }
+rand = { workspace = true }
+rand_chacha = { workspace = true }
+rayon = { workspace = true }
+serde = { workspace = true }
+serde_derive = { workspace = true }
+solana-address-lookup-table-program = { workspace = true }
+solana-bloom = { workspace = true }
+solana-client = { workspace = true }
+solana-entry = { workspace = true }
+solana-frozen-abi = { workspace = true }
+solana-frozen-abi-macro = { workspace = true }
+solana-geyser-plugin-manager = { workspace = true }
+solana-gossip = { workspace = true }
+solana-ledger = { workspace = true }
+solana-measure = { workspace = true }
+solana-metrics = { workspace = true }
+solana-net-utils = { workspace = true }
+solana-perf = { workspace = true }
+solana-poh = { workspace = true }
+solana-program-runtime = { workspace = true }
+solana-rayon-threadlimit = { workspace = true }
+solana-rpc = { workspace = true }
+solana-rpc-client-api = { workspace = true }
+solana-runtime = { workspace = true }
+solana-sdk = { workspace = true }
+solana-send-transaction-service = { workspace = true }
+solana-streamer = { workspace = true }
+solana-tpu-client = { workspace = true }
+solana-transaction-status = { workspace = true }
+solana-version = { workspace = true }
+solana-vote-program = { workspace = true }
+sys-info = { workspace = true }
+tempfile = { workspace = true }
+thiserror = { workspace = true }
+tokio = { workspace = true, features = ["full"] }
+trees = { workspace = true }
 
 [dev-dependencies]
-matches = "0.1.9"
-raptorq = "1.7.0"
-serde_json = "1.0.83"
-serial_test = "0.9.0"
-solana-logger = { path = "../logger", version = "=1.15.0" }
-solana-program-runtime = { path = "../program-runtime", version = "=1.15.0" }
-solana-stake-program = { path = "../programs/stake", version = "=1.15.0" }
-static_assertions = "1.1.0"
-systemstat = "0.2.0"
-test-case = "2.2.2"
+matches = { workspace = true }
+raptorq = { workspace = true }
+serde_json = { workspace = true }
+serial_test = { workspace = true }
+solana-logger = { workspace = true }
+solana-program-runtime = { workspace = true }
+solana-stake-program = { workspace = true }
+static_assertions = { workspace = true }
+systemstat = { workspace = true }
+test-case = { workspace = true }
 
 [target."cfg(unix)".dependencies]
-sysctl = "0.4.4"
+sysctl = { workspace = true }
 
 [build-dependencies]
-rustc_version = "0.4"
+rustc_version = { workspace = true }
 
 [[bench]]
 name = "banking_stage"

+ 31 - 31
dos/Cargo.toml

@@ -1,42 +1,42 @@
 [package]
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-edition = "2021"
 name = "solana-dos"
-version = "1.15.0"
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
-publish = false
 description = "Tool to send various requests to cluster in order to evaluate the effect on performance"
+publish = false
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-bincode = "1.3.3"
+bincode = { workspace = true }
 clap = { version = "3.1.5", features = ["derive", "cargo"] }
-crossbeam-channel = "0.5.6"
-itertools = "0.10.5"
-log = "0.4.17"
-rand = "0.7.0"
-serde = "1.0.144"
-solana-bench-tps = { path = "../bench-tps", version = "=1.15.0" }
-solana-client = { path = "../client", version = "=1.15.0" }
-solana-core = { path = "../core", version = "=1.15.0" }
-solana-faucet = { path = "../faucet", version = "=1.15.0" }
-solana-gossip = { path = "../gossip", version = "=1.15.0" }
-solana-logger = { path = "../logger", version = "=1.15.0" }
-solana-measure = { path = "../measure", version = "=1.15.0" }
-solana-net-utils = { path = "../net-utils", version = "=1.15.0" }
-solana-perf = { path = "../perf", version = "=1.15.0" }
-solana-rpc = { path = "../rpc", version = "=1.15.0" }
-solana-rpc-client = { path = "../rpc-client", version = "=1.15.0", default-features = false }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-streamer = { path = "../streamer", version = "=1.15.0" }
-solana-tpu-client = { path = "../tpu-client", version = "=1.15.0", default-features = false }
-solana-version = { path = "../version", version = "=1.15.0" }
+crossbeam-channel = { workspace = true }
+itertools = { workspace = true }
+log = { workspace = true }
+rand = { workspace = true }
+serde = { workspace = true }
+solana-bench-tps = { workspace = true }
+solana-client = { workspace = true }
+solana-core = { workspace = true }
+solana-faucet = { workspace = true }
+solana-gossip = { workspace = true }
+solana-logger = { workspace = true }
+solana-measure = { workspace = true }
+solana-net-utils = { workspace = true }
+solana-perf = { workspace = true }
+solana-rpc = { workspace = true }
+solana-rpc-client = { workspace = true }
+solana-sdk = { workspace = true }
+solana-streamer = { workspace = true }
+solana-tpu-client = { workspace = true }
+solana-version = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
 [dev-dependencies]
-serial_test = "0.9.0"
-solana-local-cluster = { path = "../local-cluster", version = "=1.15.0" }
-solana-thin-client = { path = "../thin-client", version = "=1.15.0" }
+serial_test = { workspace = true }
+solana-local-cluster = { workspace = true }
+solana-thin-client = { workspace = true }

+ 12 - 12
download-utils/Cargo.toml

@@ -1,21 +1,21 @@
 [package]
 name = "solana-download-utils"
-version = "1.15.0"
 description = "Solana Download Utils"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-download-utils"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-console = "0.15.0"
-indicatif = "0.17.1"
-log = "0.4.17"
-reqwest = { version = "0.11.12", default-features = false, features = ["blocking", "brotli", "deflate", "gzip", "rustls-tls", "json"] }
-solana-runtime = { path = "../runtime", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
+console = { workspace = true }
+indicatif = { workspace = true }
+log = { workspace = true }
+reqwest = { workspace = true, features = ["blocking", "brotli", "deflate", "gzip", "rustls-tls", "json"] }
+solana-runtime = { workspace = true }
+solana-sdk = { workspace = true }
 
 [lib]
 crate-type = ["lib"]

+ 23 - 23
entry/Cargo.toml

@@ -1,34 +1,34 @@
 [package]
 name = "solana-entry"
-version = "1.15.0"
 description = "Solana Entry"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-poh"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-bincode = "1.3.3"
-crossbeam-channel = "0.5"
-dlopen = "0.1.8"
-dlopen_derive = "0.1.4"
-lazy_static = "1.4.0"
-log = "0.4.17"
-rand = "0.7.0"
-rayon = "1.5.3"
-serde = "1.0.144"
-solana-measure = { path = "../measure", version = "=1.15.0" }
-solana-merkle-tree = { path = "../merkle-tree", version = "=1.15.0" }
-solana-metrics = { path = "../metrics", version = "=1.15.0" }
-solana-perf = { path = "../perf", version = "=1.15.0" }
-solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
+bincode = { workspace = true }
+crossbeam-channel = { workspace = true }
+dlopen = { workspace = true }
+dlopen_derive = { workspace = true }
+lazy_static = { workspace = true }
+log = { workspace = true }
+rand = { workspace = true }
+rayon = { workspace = true }
+serde = { workspace = true }
+solana-measure = { workspace = true }
+solana-merkle-tree = { workspace = true }
+solana-metrics = { workspace = true }
+solana-perf = { workspace = true }
+solana-rayon-threadlimit = { workspace = true }
+solana-sdk = { workspace = true }
 
 [dev-dependencies]
-matches = "0.1.9"
-solana-logger = { path = "../logger", version = "=1.15.0" }
+matches = { workspace = true }
+solana-logger = { workspace = true }
 
 [lib]
 crate-type = ["lib"]

+ 22 - 22
faucet/Cargo.toml

@@ -1,31 +1,31 @@
 [package]
 name = "solana-faucet"
-version = "1.15.0"
 description = "Solana Faucet"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-faucet"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-bincode = "1.3.3"
-byteorder = "1.4.3"
-clap = "2.33"
-crossbeam-channel = "0.5"
-log = "0.4.17"
-serde = "1.0.144"
-serde_derive = "1.0.103"
-solana-clap-utils = { path = "../clap-utils", version = "=1.15.0" }
-solana-cli-config = { path = "../cli-config", version = "=1.15.0" }
-solana-logger = { path = "../logger", version = "=1.15.0" }
-solana-metrics = { path = "../metrics", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-version = { path = "../version", version = "=1.15.0" }
-spl-memo = { version = "=3.0.1", features = ["no-entrypoint"] }
-thiserror = "1.0"
-tokio = { version = "1", features = ["full"] }
+bincode = { workspace = true }
+byteorder = { workspace = true }
+clap = { workspace = true }
+crossbeam-channel = { workspace = true }
+log = { workspace = true }
+serde = { workspace = true }
+serde_derive = { workspace = true }
+solana-clap-utils = { workspace = true }
+solana-cli-config = { workspace = true }
+solana-logger = { workspace = true }
+solana-metrics = { workspace = true }
+solana-sdk = { workspace = true }
+solana-version = { workspace = true }
+spl-memo = { workspace = true, features = ["no-entrypoint"] }
+thiserror = { workspace = true }
+tokio = { workspace = true, features = ["full"] }
 
 [lib]
 crate-type = ["lib"]

+ 34 - 37
frozen-abi/Cargo.toml

@@ -1,49 +1,46 @@
 [package]
 name = "solana-frozen-abi"
-version = "1.15.0"
 description = "Solana Frozen ABI"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-frozen-abi"
-license = "Apache-2.0"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-bs58 = "0.4.0"
-bv = { version = "0.11.1", features = ["serde"] }
-lazy_static = "1.4.0"
-log = { version = "0.4.17", features = ["std"] }
-once_cell = "1.13.0"
-serde = { version = "1.0", features = ["derive", "rc"] }
-serde_bytes = "0.11"
-serde_derive = "1.0"
-serde_json = "1.0"
-sha2 = "0.10.5"
-solana-frozen-abi-macro = { path = "macro", version = "=1.15.0" }
-thiserror = "1.0"
+bs58 = { workspace = true }
+bv = { workspace = true, features = ["serde"] }
+lazy_static = { workspace = true }
+log = { workspace = true, features = ["std"] }
+once_cell = { workspace = true }
+serde = { workspace = true, features = ["derive", "rc"] }
+serde_bytes = { workspace = true }
+serde_derive = { workspace = true }
+serde_json = { workspace = true }
+sha2 = { workspace = true }
+solana-frozen-abi-macro = { workspace = true }
+thiserror = { workspace = true }
 
 [target.'cfg(not(target_os = "solana"))'.dependencies]
-ahash = { version = "0.7.6", features = ["default", "std"] }
-blake3 = { version = "1.3.1", features = ["digest", "traits-preview"] }
-block-buffer = { version = "0.9.0", features = ["block-padding"] }
-byteorder = { version = "1.4.3", features = ["default", "i128", "std"] }
-cc = { version = "1.0.78", features = ["jobserver", "parallel"] }
-either = { version = "1.8.0", features = ["use_std"] }
-generic-array = { version = "0.14.6", default-features = false, features = [
-	"serde",
-	"more_lengths"
-] }
-getrandom = { version = "0.1", features = ["dummy"] }
-hashbrown = { version = "0.12", features = ["raw"] }
-im = { version = "15.1.0", features = ["rayon", "serde"] }
-memmap2 = "0.5.8"
-once_cell = { version = "1.13", features = ["alloc", "default", "race", "std"] }
-rand_core = { version = "0.6.3", features = ["alloc", "getrandom", "std"] }
-subtle = { version = "2.4.1", features = ["default", "i128", "std"] }
+ahash = { workspace = true }
+blake3 = { workspace = true, features = ["digest", "traits-preview"] }
+block-buffer = { workspace = true, features = ["block-padding"] }
+byteorder = { workspace = true, features = ["i128"] }
+cc = { workspace = true, features = ["jobserver", "parallel"] }
+either = { workspace = true, features = ["use_std"] }
+generic-array = { workspace = true, features = ["serde", "more_lengths"] }
+getrandom = { workspace = true, features = ["dummy"] }
+hashbrown = { workspace = true, features = ["raw"] }
+im = { workspace = true, features = ["rayon", "serde"] }
+memmap2 = { workspace = true }
+once_cell = { workspace = true, features = ["alloc", "race"] }
+rand_core = { workspace = true, features = ["std"] }
+subtle = { workspace = true }
 
 [target.'cfg(not(target_os = "solana"))'.dev-dependencies]
-solana-logger = { path = "../logger", version = "=1.15.0" }
+solana-logger = { workspace = true }
 
 [build-dependencies]
-rustc_version = "0.4"
+rustc_version = { workspace = true }

+ 10 - 10
frozen-abi/macro/Cargo.toml

@@ -1,21 +1,21 @@
 [package]
 name = "solana-frozen-abi-macro"
-version = "1.15.0"
 description = "Solana Frozen ABI Macro"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-frozen-abi-macro"
-license = "Apache-2.0"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [lib]
 proc-macro = true
 
 [dependencies]
-proc-macro2 = "1.0"
-quote = "1.0"
-syn = { version = "1.0", features = ["full", "extra-traits", "visit-mut"] }
+proc-macro2 = { workspace = true }
+quote = { workspace = true }
+syn = { workspace = true, features = ["full", "extra-traits", "visit-mut"] }
 
 [build-dependencies]
-rustc_version = "0.4"
+rustc_version = { workspace = true }

+ 9 - 9
genesis-utils/Cargo.toml

@@ -1,18 +1,18 @@
 [package]
 name = "solana-genesis-utils"
-version = "1.15.0"
 description = "Solana Genesis Utils"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-download-utils"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-download-utils = { path = "../download-utils", version = "=1.15.0" }
-solana-runtime = { path = "../runtime", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
+solana-download-utils = { workspace = true }
+solana-runtime = { workspace = true }
+solana-sdk = { workspace = true }
 
 [lib]
 crate-type = ["lib"]

+ 22 - 22
genesis/Cargo.toml

@@ -1,31 +1,31 @@
 [package]
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-edition = "2021"
 name = "solana-genesis"
 description = "Blockchain, Rebuilt for Scale"
-version = "1.15.0"
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-genesis"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-base64 = "0.13.0"
-clap = "2.33.1"
-serde = "1.0.144"
-serde_json = "1.0.83"
-serde_yaml = "0.9.13"
-solana-clap-utils = { path = "../clap-utils", version = "=1.15.0" }
-solana-cli-config = { path = "../cli-config", version = "=1.15.0" }
-solana-entry = { path = "../entry", version = "=1.15.0" }
-solana-ledger = { path = "../ledger", version = "=1.15.0" }
-solana-logger = { path = "../logger", version = "=1.15.0" }
-solana-runtime = { path = "../runtime", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-stake-program = { path = "../programs/stake", version = "=1.15.0" }
-solana-version = { path = "../version", version = "=1.15.0" }
-solana-vote-program = { path = "../programs/vote", version = "=1.15.0" }
-tempfile = "3.3.0"
+base64 = { workspace = true }
+clap = { workspace = true }
+serde = { workspace = true }
+serde_json = { workspace = true }
+serde_yaml = { workspace = true }
+solana-clap-utils = { workspace = true }
+solana-cli-config = { workspace = true }
+solana-entry = { workspace = true }
+solana-ledger = { workspace = true }
+solana-logger = { workspace = true }
+solana-runtime = { workspace = true }
+solana-sdk = { workspace = true }
+solana-stake-program = { workspace = true }
+solana-version = { workspace = true }
+solana-vote-program = { workspace = true }
+tempfile = { workspace = true }
 
 [[bin]]
 name = "solana-genesis"

+ 10 - 10
geyser-plugin-interface/Cargo.toml

@@ -1,19 +1,19 @@
 [package]
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-edition = "2021"
 name = "solana-geyser-plugin-interface"
 description = "The Solana Geyser plugin interface."
-version = "1.15.0"
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-geyser-plugin-interface"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-log = "0.4.17"
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-transaction-status = { path = "../transaction-status", version = "=1.15.0" }
-thiserror = "1.0.31"
+log = { workspace = true }
+solana-sdk = { workspace = true }
+solana-transaction-status = { workspace = true }
+thiserror = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 20 - 20
geyser-plugin-manager/Cargo.toml

@@ -1,29 +1,29 @@
 [package]
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-edition = "2021"
 name = "solana-geyser-plugin-manager"
 description = "The Solana Geyser plugin manager."
-version = "1.15.0"
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-geyser-plugin-manager"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-bs58 = "0.4.0"
-crossbeam-channel = "0.5"
-json5 = "0.4.1"
-libloading = "0.7.3"
-log = "0.4.17"
-serde_json = "1.0.83"
-solana-geyser-plugin-interface = { path = "../geyser-plugin-interface", version = "=1.15.0" }
-solana-measure = { path = "../measure", version = "=1.15.0" }
-solana-metrics = { path = "../metrics", version = "=1.15.0" }
-solana-rpc = { path = "../rpc", version = "=1.15.0" }
-solana-runtime = { path = "../runtime", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-transaction-status = { path = "../transaction-status", version = "=1.15.0" }
-thiserror = "1.0.31"
+bs58 = { workspace = true }
+crossbeam-channel = { workspace = true }
+json5 = { workspace = true }
+libloading = { workspace = true }
+log = { workspace = true }
+serde_json = { workspace = true }
+solana-geyser-plugin-interface = { workspace = true }
+solana-measure = { workspace = true }
+solana-metrics = { workspace = true }
+solana-rpc = { workspace = true }
+solana-runtime = { workspace = true }
+solana-sdk = { workspace = true }
+solana-transaction-status = { workspace = true }
+thiserror = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 48 - 48
gossip/Cargo.toml

@@ -1,61 +1,61 @@
 [package]
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-edition = "2021"
 name = "solana-gossip"
 description = "Blockchain, Rebuilt for Scale"
-version = "1.15.0"
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-gossip"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-bincode = "1.3.3"
-bv = { version = "0.11.1", features = ["serde"] }
-clap = "2.33.1"
-crossbeam-channel = "0.5"
-flate2 = "1.0"
-indexmap = { version = "1.9", features = ["rayon"] }
-itertools = "0.10.5"
-log = "0.4.17"
-lru = "0.7.7"
-matches = "0.1.9"
-num-traits = "0.2"
-rand = "0.7.0"
-rand_chacha = "0.2.2"
-rayon = "1.5.3"
-serde = "1.0.144"
-serde_bytes = "0.11"
-serde_derive = "1.0.103"
-solana-bloom = { path = "../bloom", version = "=1.15.0" }
-solana-clap-utils = { path = "../clap-utils", version = "=1.15.0" }
-solana-client = { path = "../client", version = "=1.15.0" }
-solana-entry = { path = "../entry", version = "=1.15.0" }
-solana-frozen-abi = { path = "../frozen-abi", version = "=1.15.0" }
-solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.15.0" }
-solana-ledger = { path = "../ledger", version = "=1.15.0" }
-solana-logger = { path = "../logger", version = "=1.15.0" }
-solana-measure = { path = "../measure", version = "=1.15.0" }
-solana-metrics = { path = "../metrics", version = "=1.15.0" }
-solana-net-utils = { path = "../net-utils", version = "=1.15.0" }
-solana-perf = { path = "../perf", version = "=1.15.0" }
-solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.15.0" }
-solana-runtime = { path = "../runtime", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-streamer = { path = "../streamer", version = "=1.15.0" }
-solana-thin-client = { path = "../thin-client", version = "=1.15.0" }
-solana-tpu-client = { path = "../tpu-client", version = "=1.15.0", default-features = false }
-solana-version = { path = "../version", version = "=1.15.0" }
-solana-vote-program = { path = "../programs/vote", version = "=1.15.0" }
-thiserror = "1.0"
+bincode = { workspace = true }
+bv = { workspace = true, features = ["serde"] }
+clap = { workspace = true }
+crossbeam-channel = { workspace = true }
+flate2 = { workspace = true }
+indexmap = { workspace = true, features = ["rayon"] }
+itertools = { workspace = true }
+log = { workspace = true }
+lru = { workspace = true }
+matches = { workspace = true }
+num-traits = { workspace = true }
+rand = { workspace = true }
+rand_chacha = { workspace = true }
+rayon = { workspace = true }
+serde = { workspace = true }
+serde_bytes = { workspace = true }
+serde_derive = { workspace = true }
+solana-bloom = { workspace = true }
+solana-clap-utils = { workspace = true }
+solana-client = { workspace = true }
+solana-entry = { workspace = true }
+solana-frozen-abi = { workspace = true }
+solana-frozen-abi-macro = { workspace = true }
+solana-ledger = { workspace = true }
+solana-logger = { workspace = true }
+solana-measure = { workspace = true }
+solana-metrics = { workspace = true }
+solana-net-utils = { workspace = true }
+solana-perf = { workspace = true }
+solana-rayon-threadlimit = { workspace = true }
+solana-runtime = { workspace = true }
+solana-sdk = { workspace = true }
+solana-streamer = { workspace = true }
+solana-thin-client = { workspace = true }
+solana-tpu-client = { workspace = true }
+solana-version = { workspace = true }
+solana-vote-program = { workspace = true }
+thiserror = { workspace = true }
 
 [dev-dependencies]
-num_cpus = "1.13.1"
-regex = "1"
-serial_test = "0.9.0"
+num_cpus = { workspace = true }
+regex = { workspace = true }
+serial_test = { workspace = true }
 
 [build-dependencies]
-rustc_version = "0.4"
+rustc_version = { workspace = true }
 
 [[bench]]
 name = "crds"

+ 34 - 34
install/Cargo.toml

@@ -1,45 +1,45 @@
 [package]
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-edition = "2021"
 name = "solana-install"
 description = "The solana cluster software installer"
-version = "1.15.0"
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-install"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-atty = "0.2.11"
-bincode = "1.3.3"
-bzip2 = "0.4.4"
-chrono = { version = "0.4.22", features = ["serde"] }
-clap = { version = "2.33.1" }
-console = "0.15.0"
-crossbeam-channel = "0.5"
-ctrlc = { version = "3.2.3", features = ["termination"] }
-dirs-next = "2.0.0"
-indicatif = "0.17.1"
-lazy_static = "1.4.0"
-nix = "0.25.0"
-reqwest = { version = "0.11.12", default-features = false, features = ["blocking", "brotli", "deflate", "gzip", "rustls-tls", "json"] }
-scopeguard = "1.1.0"
-semver = "1.0.16"
-serde = { version = "1.0.144", features = ["derive"] }
-serde_yaml = "0.9.13"
-solana-clap-utils = { path = "../clap-utils", version = "=1.15.0" }
-solana-config-program = { path = "../programs/config", version = "=1.15.0" }
-solana-logger = { path = "../logger", version = "=1.15.0" }
-solana-rpc-client = { path = "../rpc-client", version = "=1.15.0", default-features = false }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-version = { path = "../version", version = "=1.15.0" }
-tar = "0.4.38"
-tempfile = "3.3.0"
-url = "2.2.2"
+atty = { workspace = true }
+bincode = { workspace = true }
+bzip2 = { workspace = true }
+chrono = { workspace = true, features = ["default", "serde"] }
+clap = { workspace = true }
+console = { workspace = true }
+crossbeam-channel = { workspace = true }
+ctrlc = { workspace = true, features = ["termination"] }
+dirs-next = { workspace = true }
+indicatif = { workspace = true }
+lazy_static = { workspace = true }
+nix = { workspace = true }
+reqwest = { workspace = true, features = ["blocking", "brotli", "deflate", "gzip", "rustls-tls", "json"] }
+scopeguard = { workspace = true }
+semver = { workspace = true }
+serde = { workspace = true, features = ["derive"] }
+serde_yaml = { workspace = true }
+solana-clap-utils = { workspace = true }
+solana-config-program = { workspace = true }
+solana-logger = { workspace = true }
+solana-rpc-client = { workspace = true }
+solana-sdk = { workspace = true }
+solana-version = { workspace = true }
+tar = { workspace = true }
+tempfile = { workspace = true }
+url = { workspace = true }
 
 [target."cfg(windows)".dependencies]
-winapi = "0.3.8"
-winreg = "0.10"
+winapi = { workspace = true }
+winreg = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 15 - 15
keygen/Cargo.toml

@@ -1,25 +1,25 @@
 [package]
 name = "solana-keygen"
-version = "1.15.0"
 description = "Solana key generation utility"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-keygen"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-bs58 = "0.4.0"
+bs58 = { workspace = true }
 clap = { version = "3.1.5", features = ["cargo"] }
-dirs-next = "2.0.0"
-num_cpus = "1.13.1"
-solana-clap-v3-utils = { path = "../clap-v3-utils", version = "=1.15.0" }
-solana-cli-config = { path = "../cli-config", version = "=1.15.0" }
-solana-remote-wallet = { path = "../remote-wallet", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-version = { path = "../version", version = "=1.15.0" }
-tiny-bip39 = "0.8.2"
+dirs-next = { workspace = true }
+num_cpus = { workspace = true }
+solana-clap-v3-utils = { workspace = true }
+solana-cli-config = { workspace = true }
+solana-remote-wallet = { workspace = true, features = ["default"] }
+solana-sdk = { workspace = true }
+solana-version = { workspace = true }
+tiny-bip39 = { workspace = true }
 
 [[bin]]
 name = "solana-keygen"

+ 41 - 41
ledger-tool/Cargo.toml

@@ -1,56 +1,56 @@
 [package]
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-edition = "2021"
 name = "solana-ledger-tool"
 description = "Blockchain, Rebuilt for Scale"
-version = "1.15.0"
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-ledger-tool"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-bs58 = "0.4.0"
-chrono = "0.4.22"
-clap = "2.33.1"
-crossbeam-channel = "0.5"
-csv = "1.1.6"
-dashmap = "4.0.2"
-futures = "0.3"
-histogram = "0.6.9"
-itertools = "0.10.5"
-log = { version = "0.4.17" }
-num_cpus = "1.13.1"
-regex = "1"
-serde = { version = "1.0", features = ["derive"] }
-serde_json = "1.0.83"
-solana-account-decoder = { path = "../account-decoder", version = "=1.15.0" }
-solana-clap-utils = { path = "../clap-utils", version = "=1.15.0" }
-solana-cli-output = { path = "../cli-output", version = "=1.15.0" }
-solana-core = { path = "../core", version = "=1.15.0" }
-solana-entry = { path = "../entry", version = "=1.15.0" }
-solana-geyser-plugin-manager = { path = "../geyser-plugin-manager", version = "=1.15.0" }
-solana-ledger = { path = "../ledger", version = "=1.15.0" }
-solana-logger = { path = "../logger", version = "=1.15.0" }
-solana-measure = { path = "../measure", version = "=1.15.0" }
-solana-runtime = { path = "../runtime", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-stake-program = { path = "../programs/stake", version = "=1.15.0" }
-solana-storage-bigtable = { path = "../storage-bigtable", version = "=1.15.0" }
-solana-transaction-status = { path = "../transaction-status", version = "=1.15.0" }
-solana-version = { path = "../version", version = "=1.15.0" }
-solana-vote-program = { path = "../programs/vote", version = "=1.15.0" }
-tokio = { version = "1", features = ["full"] }
+bs58 = { workspace = true }
+chrono = { workspace = true, features = ["default"] }
+clap = { workspace = true }
+crossbeam-channel = { workspace = true }
+csv = { workspace = true }
+dashmap = { workspace = true }
+futures = { workspace = true }
+histogram = { workspace = true }
+itertools = { workspace = true }
+log = { workspace = true }
+num_cpus = { workspace = true }
+regex = { workspace = true }
+serde = { workspace = true, features = ["derive"] }
+serde_json = { workspace = true }
+solana-account-decoder = { workspace = true }
+solana-clap-utils = { workspace = true }
+solana-cli-output = { workspace = true }
+solana-core = { workspace = true }
+solana-entry = { workspace = true }
+solana-geyser-plugin-manager = { workspace = true }
+solana-ledger = { workspace = true }
+solana-logger = { workspace = true }
+solana-measure = { workspace = true }
+solana-runtime = { workspace = true }
+solana-sdk = { workspace = true }
+solana-stake-program = { workspace = true }
+solana-storage-bigtable = { workspace = true }
+solana-transaction-status = { workspace = true }
+solana-version = { workspace = true }
+solana-vote-program = { workspace = true }
+tokio = { workspace = true, features = ["full"] }
 
 [target.'cfg(not(target_env = "msvc"))'.dependencies]
-jemallocator = { package = "tikv-jemallocator", version = "0.4.1", features = ["unprefixed_malloc_on_supported_platforms"] }
+jemallocator = { workspace = true }
 
 [dev-dependencies]
-assert_cmd = "2.0"
-bytecount = "0.6.3"
+assert_cmd = { workspace = true }
+bytecount = { workspace = true }
 
 [target."cfg(unix)".dependencies]
-signal-hook = "0.3.14"
+signal-hook = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 62 - 62
ledger/Cargo.toml

@@ -1,65 +1,65 @@
 [package]
 name = "solana-ledger"
-version = "1.15.0"
 description = "Solana ledger"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-ledger"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-assert_matches = "1.5.0"
-bincode = "1.3.3"
-bitflags = "1.3.1"
-byteorder = "1.4.3"
-chrono = { version = "0.4.22", features = ["serde"] }
-chrono-humanize = "0.2.1"
-crossbeam-channel = "0.5"
-dashmap = { version = "4.0.2", features = ["rayon", "raw-api"] }
-fs_extra = "1.2.0"
-futures = "0.3.24"
-itertools = "0.10.5"
-lazy_static = "1.4.0"
-libc = "0.2.131"
-log = { version = "0.4.17" }
-lru = "0.7.7"
-num_cpus = "1.13.1"
-num_enum = "0.5.7"
-prost = "0.11.0"
-rand = "0.7.0"
-rand_chacha = "0.2.2"
-rayon = "1.5.3"
-reed-solomon-erasure = { version = "6.0.0", features = ["simd-accel"] }
-serde = "1.0.144"
-serde_bytes = "0.11.7"
-sha2 = "0.10.5"
-solana-account-decoder = { path = "../account-decoder", version = "=1.15.0" }
-solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "=1.15.0" }
-solana-entry = { path = "../entry", version = "=1.15.0" }
-solana-frozen-abi = { path = "../frozen-abi", version = "=1.15.0" }
-solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.15.0" }
-solana-measure = { path = "../measure", version = "=1.15.0" }
-solana-metrics = { path = "../metrics", version = "=1.15.0" }
-solana-perf = { path = "../perf", version = "=1.15.0" }
-solana-program-runtime = { path = "../program-runtime", version = "=1.15.0" }
-solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.15.0" }
-solana-runtime = { path = "../runtime", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-stake-program = { path = "../programs/stake", version = "=1.15.0" }
-solana-storage-bigtable = { path = "../storage-bigtable", version = "=1.15.0" }
-solana-storage-proto = { path = "../storage-proto", version = "=1.15.0" }
-solana-transaction-status = { path = "../transaction-status", version = "=1.15.0" }
-solana-vote-program = { path = "../programs/vote", version = "=1.15.0" }
-spl-token = { version = "=3.5.0", features = ["no-entrypoint"] }
-spl-token-2022 = { version = "=0.5.0", features = ["no-entrypoint"] }
-static_assertions = "1.1.0"
-tempfile = "3.3.0"
-thiserror = "1.0"
-tokio = { version = "1", features = ["full"] }
-tokio-stream = "0.1"
-trees = "0.4.2"
+assert_matches = { workspace = true }
+bincode = { workspace = true }
+bitflags = { workspace = true }
+byteorder = { workspace = true }
+chrono = { workspace = true, features = ["default", "serde"] }
+chrono-humanize = { workspace = true }
+crossbeam-channel = { workspace = true }
+dashmap = { workspace = true, features = ["rayon", "raw-api"] }
+fs_extra = { workspace = true }
+futures = { workspace = true }
+itertools = { workspace = true }
+lazy_static = { workspace = true }
+libc = { workspace = true }
+log = { workspace = true }
+lru = { workspace = true }
+num_cpus = { workspace = true }
+num_enum = { workspace = true }
+prost = { workspace = true }
+rand = { workspace = true }
+rand_chacha = { workspace = true }
+rayon = { workspace = true }
+reed-solomon-erasure = { workspace = true, features = ["simd-accel"] }
+serde = { workspace = true }
+serde_bytes = { workspace = true }
+sha2 = { workspace = true }
+solana-account-decoder = { workspace = true }
+solana-bpf-loader-program = { workspace = true }
+solana-entry = { workspace = true }
+solana-frozen-abi = { workspace = true }
+solana-frozen-abi-macro = { workspace = true }
+solana-measure = { workspace = true }
+solana-metrics = { workspace = true }
+solana-perf = { workspace = true }
+solana-program-runtime = { workspace = true }
+solana-rayon-threadlimit = { workspace = true }
+solana-runtime = { workspace = true }
+solana-sdk = { workspace = true }
+solana-stake-program = { workspace = true }
+solana-storage-bigtable = { workspace = true }
+solana-storage-proto = { workspace = true }
+solana-transaction-status = { workspace = true }
+solana-vote-program = { workspace = true }
+spl-token = { workspace = true, features = ["no-entrypoint"] }
+spl-token-2022 = { workspace = true, features = ["no-entrypoint"] }
+static_assertions = { workspace = true }
+tempfile = { workspace = true }
+thiserror = { workspace = true }
+tokio = { workspace = true, features = ["full"] }
+tokio-stream = { workspace = true }
+trees = { workspace = true }
 
 [dependencies.rocksdb]
 # Avoid the vendored bzip2 within rocksdb-sys that can cause linker conflicts
@@ -69,14 +69,14 @@ default-features = false
 features = ["lz4"]
 
 [dev-dependencies]
-bs58 = "0.4.0"
-matches = "0.1.9"
-solana-account-decoder = { path = "../account-decoder", version = "=1.15.0" }
-solana-logger = { path = "../logger", version = "=1.15.0" }
-test-case = "2.2.2"
+bs58 = { workspace = true }
+matches = { workspace = true }
+solana-account-decoder = { workspace = true }
+solana-logger = { workspace = true }
+test-case = { workspace = true }
 
 [build-dependencies]
-rustc_version = "0.4"
+rustc_version = { workspace = true }
 
 [lib]
 crate-type = ["lib"]

+ 34 - 34
local-cluster/Cargo.toml

@@ -1,45 +1,45 @@
 [package]
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-edition = "2021"
 name = "solana-local-cluster"
 description = "Blockchain, Rebuilt for Scale"
-version = "1.15.0"
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-local-cluster"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-crossbeam-channel = "0.5"
-fs_extra = "1.2.0"
-itertools = "0.10.5"
-log = "0.4.17"
-rand = "0.7.0"
-rayon = "1.5.3"
-solana-client = { path = "../client", version = "=1.15.0" }
-solana-config-program = { path = "../programs/config", version = "=1.15.0" }
-solana-core = { path = "../core", version = "=1.15.0" }
-solana-entry = { path = "../entry", version = "=1.15.0" }
-solana-gossip = { path = "../gossip", version = "=1.15.0" }
-solana-ledger = { path = "../ledger", version = "=1.15.0" }
-solana-pubsub-client = { path = "../pubsub-client", version = "=1.15.0" }
-solana-rpc-client = { path = "../rpc-client", version = "=1.15.0", default-features = false }
-solana-rpc-client-api = { path = "../rpc-client-api", version = "=1.15.0" }
-solana-runtime = { path = "../runtime", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-stake-program = { path = "../programs/stake", version = "=1.15.0" }
-solana-streamer = { path = "../streamer", version = "=1.15.0" }
-solana-thin-client = { path = "../thin-client", version = "=1.15.0" }
-solana-tpu-client = { path = "../tpu-client", version = "=1.15.0", default-features = false }
-solana-vote-program = { path = "../programs/vote", version = "=1.15.0" }
-tempfile = "3.3.0"
+crossbeam-channel = { workspace = true }
+fs_extra = { workspace = true }
+itertools = { workspace = true }
+log = { workspace = true }
+rand = { workspace = true }
+rayon = { workspace = true }
+solana-client = { workspace = true }
+solana-config-program = { workspace = true }
+solana-core = { workspace = true }
+solana-entry = { workspace = true }
+solana-gossip = { workspace = true }
+solana-ledger = { workspace = true }
+solana-pubsub-client = { workspace = true }
+solana-rpc-client = { workspace = true }
+solana-rpc-client-api = { workspace = true }
+solana-runtime = { workspace = true }
+solana-sdk = { workspace = true }
+solana-stake-program = { workspace = true }
+solana-streamer = { workspace = true }
+solana-thin-client = { workspace = true }
+solana-tpu-client = { workspace = true }
+solana-vote-program = { workspace = true }
+tempfile = { workspace = true }
 
 [dev-dependencies]
-assert_matches = "1.5.0"
-gag = "1.0.0"
-serial_test = "0.9.0"
-solana-download-utils = { path = "../download-utils", version = "=1.15.0" }
-solana-logger = { path = "../logger", version = "=1.15.0" }
+assert_matches = { workspace = true }
+gag = { workspace = true }
+serial_test = { workspace = true }
+solana-download-utils = { workspace = true }
+solana-logger = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 11 - 11
log-analyzer/Cargo.toml

@@ -1,21 +1,21 @@
 [package]
-authors = ["Solana Maintainers <maintainers@solana.com>"]
-edition = "2021"
 name = "solana-log-analyzer"
 description = "The solana cluster network analysis tool"
-version = "1.15.0"
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 publish = false
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-byte-unit = "4.0.14"
+byte-unit = { workspace = true }
 clap = { version = "3.1.5", features = ["cargo"] }
-serde = "1.0.144"
-serde_json = "1.0.83"
-solana-logger = { path = "../logger", version = "=1.15.0" }
-solana-version = { path = "../version", version = "=1.15.0" }
+serde = { workspace = true }
+serde_json = { workspace = true }
+solana-logger = { workspace = true }
+solana-version = { workspace = true }
 
 [[bin]]
 name = "solana-log-analyzer"

+ 9 - 9
logger/Cargo.toml

@@ -1,18 +1,18 @@
 [package]
 name = "solana-logger"
-version = "1.15.0"
 description = "Solana Logger"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-logger"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-env_logger = "0.9.3"
-lazy_static = "1.4.0"
-log = "0.4.17"
+env_logger = { workspace = true }
+lazy_static = { workspace = true }
+log = { workspace = true }
 
 [lib]
 name = "solana_logger"

+ 8 - 8
measure/Cargo.toml

@@ -1,18 +1,18 @@
 [package]
 name = "solana-measure"
 description = "Blockchain, Rebuilt for Scale"
-version = "1.15.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-measure"
 readme = "../README.md"
-repository = "https://github.com/solana-labs/solana"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-license = "Apache-2.0"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-log = "0.4.17"
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
+log = { workspace = true }
+solana-sdk = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 6 - 6
memory-management/Cargo.toml

@@ -1,9 +1,9 @@
 [package]
 name = "solana-memory-management"
-version = "1.15.0"
 description = "Solana memory management"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-homepage = "https://solana.com/"
-license = "Apache-2.0"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }

+ 13 - 13
merkle-root-bench/Cargo.toml

@@ -1,21 +1,21 @@
 [package]
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-edition = "2021"
 name = "solana-merkle-root-bench"
-version = "1.15.0"
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 publish = false
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-clap = "2.33.1"
-log = "0.4.17"
-solana-logger = { path = "../logger", version = "=1.15.0" }
-solana-measure = { path = "../measure", version = "=1.15.0" }
-solana-runtime = { path = "../runtime", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-version = { path = "../version", version = "=1.15.0" }
+clap = { workspace = true }
+log = { workspace = true }
+solana-logger = { workspace = true }
+solana-measure = { workspace = true }
+solana-runtime = { workspace = true }
+solana-sdk = { workspace = true }
+solana-version = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 10 - 10
merkle-tree/Cargo.toml

@@ -1,24 +1,24 @@
 [package]
 name = "solana-merkle-tree"
-version = "1.15.0"
 description = "Solana Merkle Tree"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-merkle-tree"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-fast-math = "0.1"
-solana-program = { path = "../sdk/program", version = "=1.15.0" }
+fast-math = { workspace = true }
+solana-program = { workspace = true }
 
 # This can go once the SBF toolchain target Rust 1.42.0+
 [target.bpfel-unknown-unknown.dependencies]
-matches = "0.1.9"
+matches = { workspace = true }
 
 [dev-dependencies]
-hex = "0.4.3"
+hex = { workspace = true }
 
 [lib]
 crate-type = ["lib"]

+ 15 - 15
metrics/Cargo.toml

@@ -1,26 +1,26 @@
 [package]
 name = "solana-metrics"
-version = "1.15.0"
 description = "Solana Metrics"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-metrics"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-crossbeam-channel = "0.5"
-gethostname = "0.2.3"
-lazy_static = "1.4.0"
-log = "0.4.17"
-reqwest = { version = "0.11.12", default-features = false, features = ["blocking", "brotli", "deflate", "gzip", "rustls-tls", "json"] }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
+crossbeam-channel = { workspace = true }
+gethostname = { workspace = true }
+lazy_static = { workspace = true }
+log = { workspace = true }
+reqwest = { workspace = true, features = ["blocking", "brotli", "deflate", "gzip", "rustls-tls", "json"] }
+solana-sdk = { workspace = true }
 
 [dev-dependencies]
-env_logger = "0.9.3"
-rand = "0.7.0"
-serial_test = "0.9.0"
+env_logger = { workspace = true }
+rand = { workspace = true }
+serial_test = { workspace = true }
 
 [lib]
 name = "solana_metrics"

+ 10 - 10
net-shaper/Cargo.toml

@@ -1,20 +1,20 @@
 [package]
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-edition = "2021"
 name = "solana-net-shaper"
 description = "The solana cluster network shaping tool"
-version = "1.15.0"
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 publish = false
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
 clap = { version = "3.1.5", features = ["cargo"] }
-rand = "0.7.0"
-serde = { version = "1.0.144", features = ["derive"] }
-serde_json = "1.0.83"
-solana-logger = { path = "../logger", version = "=1.15.0" }
+rand = { workspace = true }
+serde = { workspace = true, features = ["derive"] }
+serde_json = { workspace = true }
+solana-logger = { workspace = true }
 
 [[bin]]
 name = "solana-net-shaper"

+ 19 - 19
net-utils/Cargo.toml

@@ -1,29 +1,29 @@
 [package]
 name = "solana-net-utils"
-version = "1.15.0"
 description = "Solana Network Utilities"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-net-utils"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-bincode = "1.3.3"
+bincode = { workspace = true }
 clap = { version = "3.1.5", features = ["cargo"] }
-crossbeam-channel = "0.5"
-log = "0.4.17"
-nix = "0.25.0"
-rand = "0.7.0"
-serde = "1.0.144"
-serde_derive = "1.0.103"
-socket2 = "0.4.7"
-solana-logger = { path = "../logger", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-version = { path = "../version", version = "=1.15.0" }
-tokio = { version = "1", features = ["full"] }
-url = "2.2.2"
+crossbeam-channel = { workspace = true }
+log = { workspace = true }
+nix = { workspace = true }
+rand = { workspace = true }
+serde = { workspace = true }
+serde_derive = { workspace = true }
+socket2 = { workspace = true }
+solana-logger = { workspace = true }
+solana-sdk = { workspace = true }
+solana-version = { workspace = true }
+tokio = { workspace = true, features = ["full"] }
+url = { workspace = true }
 
 [lib]
 name = "solana_net_utils"

+ 10 - 10
notifier/Cargo.toml

@@ -1,19 +1,19 @@
 [package]
 name = "solana-notifier"
-version = "1.15.0"
 description = "Solana Notifier"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-notifier"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-log = "0.4.17"
-reqwest = { version = "0.11.12", default-features = false, features = ["blocking", "brotli", "deflate", "gzip", "rustls-tls", "json"] }
-serde_json = "1.0"
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
+log = { workspace = true }
+reqwest = { workspace = true, features = ["blocking", "brotli", "deflate", "gzip", "rustls-tls", "json"] }
+serde_json = { workspace = true }
+solana-sdk = { workspace = true }
 
 [lib]
 name = "solana_notifier"

+ 27 - 27
perf/Cargo.toml

@@ -1,43 +1,43 @@
 [package]
 name = "solana-perf"
-version = "1.15.0"
 description = "Solana Performance APIs"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-perf"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-ahash = "0.7.6"
-bincode = "1.3.3"
-bv = { version = "0.11.1", features = ["serde"] }
-curve25519-dalek = { version = "3" }
-dlopen = "0.1.8"
-dlopen_derive = "0.1.4"
-fnv = "1.0.7"
-lazy_static = "1.4.0"
-log = "0.4.17"
-rand = "0.7.0"
-rayon = "1.5.3"
-serde = "1.0.144"
-solana-metrics = { path = "../metrics", version = "=1.15.0" }
-solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-vote-program = { path = "../programs/vote", version = "=1.15.0" }
+ahash = { workspace = true }
+bincode = { workspace = true }
+bv = { workspace = true, features = ["serde"] }
+curve25519-dalek = { workspace = true }
+dlopen = { workspace = true }
+dlopen_derive = { workspace = true }
+fnv = { workspace = true }
+lazy_static = { workspace = true }
+log = { workspace = true }
+rand = { workspace = true }
+rayon = { workspace = true }
+serde = { workspace = true }
+solana-metrics = { workspace = true }
+solana-rayon-threadlimit = { workspace = true }
+solana-sdk = { workspace = true }
+solana-vote-program = { workspace = true }
 
 [target."cfg(target_os = \"linux\")".dependencies]
-caps = "0.5.4"
-libc = "0.2.131"
-nix = "0.25.0"
+caps = { workspace = true }
+libc = { workspace = true }
+nix = { workspace = true }
 
 [lib]
 name = "solana_perf"
 
 [dev-dependencies]
-matches = "0.1.9"
-solana-logger = { path = "../logger", version = "=1.15.0" }
+matches = { workspace = true }
+solana-logger = { workspace = true }
 
 [[bench]]
 name = "sigverify"

+ 15 - 15
poh-bench/Cargo.toml

@@ -1,25 +1,25 @@
 [package]
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-edition = "2021"
 name = "solana-poh-bench"
-version = "1.15.0"
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-poh-bench"
 publish = false
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
 clap = { version = "3.1.5", features = ["cargo"] }
-log = "0.4.17"
-rand = "0.7.0"
-rayon = "1.5.3"
-solana-entry = { path = "../entry", version = "=1.15.0" }
-solana-logger = { path = "../logger", version = "=1.15.0" }
-solana-measure = { path = "../measure", version = "=1.15.0" }
-solana-perf = { path = "../perf", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-version = { path = "../version", version = "=1.15.0" }
+log = { workspace = true }
+rand = { workspace = true }
+rayon = { workspace = true }
+solana-entry = { workspace = true }
+solana-logger = { workspace = true }
+solana-measure = { workspace = true }
+solana-perf = { workspace = true }
+solana-sdk = { workspace = true }
+solana-version = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 22 - 22
poh/Cargo.toml

@@ -1,33 +1,33 @@
 [package]
 name = "solana-poh"
-version = "1.15.0"
 description = "Solana PoH"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-poh"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-core_affinity = "0.5.10"
-crossbeam-channel = "0.5"
-log = "0.4.17"
-solana-entry = { path = "../entry", version = "=1.15.0" }
-solana-ledger = { path = "../ledger", version = "=1.15.0" }
-solana-measure = { path = "../measure", version = "=1.15.0" }
-solana-metrics = { path = "../metrics", version = "=1.15.0" }
-solana-runtime = { path = "../runtime", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-sys-tuner = { path = "../sys-tuner", version = "=1.15.0" }
-thiserror = "1.0"
+core_affinity = { workspace = true }
+crossbeam-channel = { workspace = true }
+log = { workspace = true }
+solana-entry = { workspace = true }
+solana-ledger = { workspace = true }
+solana-measure = { workspace = true }
+solana-metrics = { workspace = true }
+solana-runtime = { workspace = true }
+solana-sdk = { workspace = true }
+solana-sys-tuner = { workspace = true }
+thiserror = { workspace = true }
 
 [dev-dependencies]
-bincode = "1.3.3"
-matches = "0.1.9"
-rand = "0.7.0"
-solana-logger = { path = "../logger", version = "=1.15.0" }
-solana-perf = { path = "../perf", version = "=1.15.0" }
+bincode = { workspace = true }
+matches = { workspace = true }
+rand = { workspace = true }
+solana-logger = { workspace = true }
+solana-perf = { workspace = true }
 
 [lib]
 crate-type = ["lib"]

+ 24 - 24
program-runtime/Cargo.toml

@@ -1,37 +1,37 @@
 [package]
 name = "solana-program-runtime"
-version = "1.15.0"
 description = "Solana program runtime"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-program-runtime"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-base64 = "0.13"
-bincode = "1.3.3"
-eager = "0.1.0"
-enum-iterator = "1.2.0"
-itertools =  "0.10.5"
+base64 = { workspace = true }
+bincode = { workspace = true }
+eager = { workspace = true }
+enum-iterator = { workspace = true }
+itertools = { workspace = true }
 libc = "0.2.101"
 libloading = "0.7.0"
-log = "0.4.17"
-num-derive = { version = "0.3" }
-num-traits = { version = "0.2" }
-rand = "0.7.0"
+log = { workspace = true }
+num-derive = { workspace = true }
+num-traits = { workspace = true }
+rand = { workspace = true }
 serde = { version = "1.0.129", features = ["derive", "rc"] }
-solana-frozen-abi = { path = "../frozen-abi", version = "=1.15.0" }
-solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.15.0" }
-solana-measure = { path = "../measure", version = "=1.15.0" }
-solana-metrics = { path = "../metrics", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana_rbpf = "=0.2.38"
-thiserror = "1.0"
+solana-frozen-abi = { workspace = true }
+solana-frozen-abi-macro = { workspace = true }
+solana-measure = { workspace = true }
+solana-metrics = { workspace = true }
+solana-sdk = { workspace = true }
+solana_rbpf = { workspace = true }
+thiserror = { workspace = true }
 
 [dev-dependencies]
-solana-logger = { path = "../logger", version = "=1.15.0" }
+solana-logger = { workspace = true }
 
 [lib]
 crate-type = ["lib"]
@@ -41,4 +41,4 @@ name = "solana_program_runtime"
 targets = ["x86_64-unknown-linux-gnu"]
 
 [build-dependencies]
-rustc_version = "0.4"
+rustc_version = { workspace = true }

+ 27 - 26
program-test/Cargo.toml

@@ -1,32 +1,33 @@
 [package]
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-description = "Solana Program Test Framework"
-edition = "2021"
-license = "Apache-2.0"
 name = "solana-program-test"
-repository = "https://github.com/solana-labs/solana"
-version = "1.15.0"
+description = "Solana Program Test Framework"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-assert_matches = "1.5.0"
-async-trait = "0.1.57"
-base64 = "0.13.0"
-bincode = "1.3.3"
-chrono-humanize = "0.2.1"
-crossbeam-channel = "0.5"
-log = "0.4.17"
-serde = "1.0.144"
-solana-banks-client = { path = "../banks-client", version = "=1.15.0" }
-solana-banks-interface = { path = "../banks-interface", version = "=1.15.0" }
-solana-banks-server = { path = "../banks-server", version = "=1.15.0" }
-solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "=1.15.0" }
-solana-logger = { path = "../logger", version = "=1.15.0" }
-solana-program-runtime = { path = "../program-runtime", version = "=1.15.0" }
-solana-runtime = { path = "../runtime", version = "=1.15.0" }
-solana-sdk = { path = "../sdk", version = "=1.15.0" }
-solana-vote-program = { path = "../programs/vote", version = "=1.15.0" }
-thiserror = "1.0"
-tokio = { version = "1", features = ["full"] }
+assert_matches = { workspace = true }
+async-trait = { workspace = true }
+base64 = { workspace = true }
+bincode = { workspace = true }
+chrono-humanize = { workspace = true }
+crossbeam-channel = { workspace = true }
+log = { workspace = true }
+serde = { workspace = true }
+solana-banks-client = { workspace = true }
+solana-banks-interface = { workspace = true }
+solana-banks-server = { workspace = true }
+solana-bpf-loader-program = { workspace = true }
+solana-logger = { workspace = true }
+solana-program-runtime = { workspace = true }
+solana-runtime = { workspace = true }
+solana-sdk = { workspace = true }
+solana-vote-program = { workspace = true }
+thiserror = { workspace = true }
+tokio = { workspace = true, features = ["full"] }
 
 [dev-dependencies]
-solana-stake-program = { path = "../programs/stake", version = "=1.15.0" }
+solana-stake-program = { workspace = true }

+ 11 - 11
programs/address-lookup-table-tests/Cargo.toml

@@ -3,20 +3,20 @@
 
 [package]
 name = "solana-address-lookup-table-program-tests"
-version = "1.15.0"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
-edition = "2021"
 publish = false
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dev-dependencies]
-assert_matches = "1.5.0"
-bincode = "1.3.3"
-solana-address-lookup-table-program = { path = "../address-lookup-table", version = "=1.15.0" }
-solana-program-test = { path = "../../program-test", version = "=1.15.0" }
-solana-sdk = { path = "../../sdk", version = "=1.15.0" }
+assert_matches = { workspace = true }
+bincode = { workspace = true }
+solana-address-lookup-table-program = { workspace = true }
+solana-program-test = { workspace = true }
+solana-sdk = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 19 - 19
programs/address-lookup-table/Cargo.toml

@@ -1,32 +1,32 @@
 [package]
 name = "solana-address-lookup-table-program"
-version = "1.15.0"
 description = "Solana address lookup table program"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-address-loookup-table-program"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-bincode = "1.3.3"
-bytemuck = "1.11.0"
-log = "0.4.17"
-num-derive = "0.3"
-num-traits = "0.2"
-serde = { version = "1.0.144", features = ["derive"] }
-solana-frozen-abi = { path = "../../frozen-abi", version = "=1.15.0" }
-solana-frozen-abi-macro = { path = "../../frozen-abi/macro", version = "=1.15.0" }
-solana-program = { path = "../../sdk/program", version = "=1.15.0" }
-thiserror = "1.0"
+bincode = { workspace = true }
+bytemuck = { workspace = true }
+log = { workspace = true }
+num-derive = { workspace = true }
+num-traits = { workspace = true }
+serde = { workspace = true, features = ["derive"] }
+solana-frozen-abi = { workspace = true }
+solana-frozen-abi-macro = { workspace = true }
+solana-program = { workspace = true }
+thiserror = { workspace = true }
 
 [target.'cfg(not(target_os = "solana"))'.dependencies]
-solana-program-runtime = { path = "../../program-runtime", version = "=1.15.0" }
-solana-sdk = { path = "../../sdk", version = "=1.15.0" }
+solana-program-runtime = { workspace = true }
+solana-sdk = { workspace = true }
 
 [build-dependencies]
-rustc_version = "0.4"
+rustc_version = { workspace = true }
 
 [lib]
 crate-type = ["lib"]

+ 11 - 11
programs/bpf-loader-tests/Cargo.toml

@@ -3,20 +3,20 @@
 
 [package]
 name = "solana-bpf-loader-program-tests"
-version = "1.15.0"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
-edition = "2021"
 publish = false
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dev-dependencies]
-assert_matches = "1.5.0"
-bincode = "1.3.3"
-solana-bpf-loader-program = { path = "../bpf_loader", version = "=1.15.0" }
-solana-program-test = { path = "../../program-test", version = "=1.15.0" }
-solana-sdk = { path = "../../sdk", version = "=1.15.0" }
+assert_matches = { workspace = true }
+bincode = { workspace = true }
+solana-bpf-loader-program = { workspace = true }
+solana-program-test = { workspace = true }
+solana-sdk = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 17 - 18
programs/bpf_loader/Cargo.toml

@@ -1,26 +1,25 @@
 [package]
 name = "solana-bpf-loader-program"
-version = "1.15.0"
-description = "Solana BPF loader"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-bpf-loader-program"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-bincode = "1.3.3"
-byteorder = "1.4.3"
-libsecp256k1 = "0.6.0"
-log = "0.4.17"
-rand = "0.7.3"
-solana-measure = { path = "../../measure", version = "=1.15.0" }
-solana-program-runtime = { path = "../../program-runtime", version = "=1.15.0" }
-solana-sdk = { path = "../../sdk", version = "=1.15.0" }
-solana-zk-token-sdk = { path = "../../zk-token-sdk", version = "=1.15.0" }
-solana_rbpf = "=0.2.38"
-thiserror = "1.0"
+bincode = { workspace = true }
+byteorder = { workspace = true }
+libsecp256k1 = { workspace = true }
+log = { workspace = true }
+rand = { workspace = true }
+solana-measure = { workspace = true }
+solana-program-runtime = { workspace = true }
+solana-sdk = { workspace = true }
+solana-zk-token-sdk = { workspace = true }
+solana_rbpf = { workspace = true }
+thiserror = { workspace = true }
 
 [lib]
 crate-type = ["lib"]

+ 7 - 4
programs/bpf_loader/gen-syscall-list/Cargo.toml

@@ -1,9 +1,12 @@
 [package]
 name = "gen-syscall-list"
-version = "1.15.0"
-edition = "2021"
-license = "Apache-2.0"
 publish = false
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [build-dependencies]
-regex = "1.6.0"
+regex = { workspace = true }

+ 8 - 8
programs/compute-budget/Cargo.toml

@@ -1,17 +1,17 @@
 [package]
 name = "solana-compute-budget-program"
 description = "Solana Compute Budget program"
-version = "1.15.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-compute-budget-program"
-repository = "https://github.com/solana-labs/solana"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-license = "Apache-2.0"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program-runtime = { path = "../../program-runtime", version = "=1.15.0" }
-solana-sdk = { path = "../../sdk", version = "=1.15.0" }
+solana-program-runtime = { workspace = true }
+solana-sdk = { workspace = true }
 
 [lib]
 crate-type = ["lib"]

+ 13 - 13
programs/config/Cargo.toml

@@ -1,24 +1,24 @@
 [package]
 name = "solana-config-program"
-version = "1.15.0"
 description = "Solana Config program"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-config-program"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-bincode = "1.3.3"
-chrono = { version = "0.4.22", features = ["serde"] }
-serde = "1.0.144"
-serde_derive = "1.0.103"
-solana-program-runtime = { path = "../../program-runtime", version = "=1.15.0" }
-solana-sdk = { path = "../../sdk", version = "=1.15.0" }
+bincode = { workspace = true }
+chrono = { workspace = true, features = ["default", "serde"] }
+serde = { workspace = true }
+serde_derive = { workspace = true }
+solana-program-runtime = { workspace = true }
+solana-sdk = { workspace = true }
 
 [dev-dependencies]
-solana-logger = { path = "../../logger", version = "=1.15.0" }
+solana-logger = { workspace = true }
 
 [lib]
 crate-type = ["lib"]

+ 11 - 11
programs/ed25519-tests/Cargo.toml

@@ -1,19 +1,19 @@
 [package]
 name = "solana-ed25519-program-tests"
-version = "1.15.0"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
-edition = "2021"
 publish = false
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dev-dependencies]
-assert_matches = "1.5.0"
-ed25519-dalek = "=1.0.1"
-rand = "0.7.0"
-solana-program-test = { path = "../../program-test", version = "=1.15.0" }
-solana-sdk = { path = "../../sdk", version = "=1.15.0" }
+assert_matches = { workspace = true }
+ed25519-dalek = { workspace = true }
+rand = { workspace = true }
+solana-program-test = { workspace = true }
+solana-sdk = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 2 - 2
programs/sbf/Cargo.lock

@@ -745,9 +745,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chrono"
-version = "0.4.22"
+version = "0.4.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1"
+checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f"
 dependencies = [
  "iana-time-zone",
  "js-sys",

+ 72 - 20
programs/sbf/Cargo.toml

@@ -1,47 +1,99 @@
-[package]
-name = "solana-sbf-programs"
-description = "Blockchain, Rebuilt for Scale"
+[workspace.package]
 version = "1.15.0"
-documentation = "https://docs.rs/solana"
-homepage = "https://solana.com/"
-readme = "README.md"
-repository = "https://github.com/solana-labs/solana"
+description = "Solana SBF test program written in Rust"
 authors = ["Solana Maintainers <maintainers@solana.foundation>"]
+repository = "https://github.com/solana-labs/solana"
+homepage = "https://solana.com/"
 license = "Apache-2.0"
 edition = "2021"
-publish = false
 
-[features]
-sbf_c = []
-sbf_rust = []
-
-[build-dependencies]
-walkdir = "2"
-
-[dependencies]
-bincode = "1.1.4"
+[workspace.dependencies]
+array-bytes = "=1.4.1"
+bincode = { version = "1.1.4", default-features = false }
+blake3 = "1.0.0"
 byteorder = "1.3.2"
 elf = "0.0.10"
+getrandom = { version = "0.1.14" }
 itertools = "0.10.1"
+libsecp256k1 = { version = "0.7.0", default-features = false }
 log = "0.4.11"
 miow = "0.3.6"
 net2 = "0.2.37"
+num-derive = "0.3"
+num-traits = "0.2"
+rand = "0.7"
+serde = "1.0.112"
+serde_json = "1.0.56"
+solana_rbpf = "=0.2.38"
 solana-account-decoder = { path = "../../account-decoder", version = "=1.15.0" }
+solana-address-lookup-table-program = { path = "../../programs/address-lookup-table", version = "=1.15.0" }
 solana-bpf-loader-program = { path = "../bpf_loader", version = "=1.15.0" }
 solana-cli-output = { path = "../../cli-output", version = "=1.15.0" }
+solana-ledger = { path = "../../ledger", version = "=1.15.0" }
 solana-logger = { path = "../../logger", version = "=1.15.0" }
 solana-measure = { path = "../../measure", version = "=1.15.0" }
+solana-program = { path = "../../sdk/program", version = "=1.15.0" }
 solana-program-runtime = { path = "../../program-runtime", version = "=1.15.0" }
+solana-program-test = { path = "../../program-test", version = "=1.15.0" }
 solana-runtime = { path = "../../runtime", version = "=1.15.0" }
+solana-sbf-rust-128bit-dep = { path = "rust/128bit_dep", version = "=1.15.0" }
 solana-sbf-rust-invoke = { path = "rust/invoke", version = "=1.15.0" }
-solana-sbf-rust-realloc = { path = "rust/realloc", version = "=1.15.0" }
+solana-sbf-rust-invoked = { path = "rust/invoked", version = "=1.15.0", default-features = false }
+solana-sbf-rust-many-args-dep = { path = "rust/many_args_dep", version = "=1.15.0" }
+solana-sbf-rust-mem = { path = "rust/mem", version = "=1.15.0" }
+solana-sbf-rust-param-passing-dep = { path = "rust/param_passing_dep", version = "=1.15.0" }
+solana-sbf-rust-realloc = { path = "rust/realloc", version = "=1.15.0", default-features = false }
 solana-sbf-rust-realloc-invoke = { path = "rust/realloc_invoke", version = "=1.15.0" }
 solana-sdk = { path = "../../sdk", version = "=1.15.0" }
 solana-transaction-status = { path = "../../transaction-status", version = "=1.15.0" }
-solana_rbpf = "=0.2.38"
+solana-validator = { path = "../../validator", version = "=1.15.0" }
+solana-zk-token-sdk = { path = "../../zk-token-sdk", version = "=1.15.0" }
+thiserror = "1.0"
+
+[package]
+name = "solana-sbf-programs"
+description = "Blockchain, Rebuilt for Scale"
+documentation = "https://docs.rs/solana"
+readme = "README.md"
+publish = false
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
+
+[features]
+sbf_c = []
+sbf_rust = []
+
+[build-dependencies]
+walkdir = "2"
+
+[dependencies]
+bincode = { workspace = true }
+byteorder = { workspace = true }
+elf = { workspace = true }
+itertools = { workspace = true }
+log = { workspace = true }
+miow = { workspace = true }
+net2 = { workspace = true }
+solana-account-decoder = { workspace = true }
+solana-bpf-loader-program = { workspace = true }
+solana-cli-output = { workspace = true }
+solana-logger = { workspace = true }
+solana-measure = { workspace = true }
+solana-program-runtime = { workspace = true }
+solana-runtime = { workspace = true }
+solana-sbf-rust-invoke = { workspace = true }
+solana-sbf-rust-realloc = { workspace = true, features = ["default"] }
+solana-sbf-rust-realloc-invoke = { workspace = true }
+solana-sdk = { workspace = true }
+solana-transaction-status = { workspace = true }
+solana_rbpf = { workspace = true }
 
 [dev-dependencies]
-solana-ledger = { path = "../../ledger", version = "=1.15.0" }
+solana-ledger = { workspace = true }
 
 [[bench]]
 name = "bpf_loader"

+ 9 - 9
programs/sbf/rust/128bit/Cargo.toml

@@ -1,17 +1,17 @@
 [package]
 name = "solana-sbf-rust-128bit"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-128bit"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
-solana-sbf-rust-128bit-dep = { path = "../128bit_dep", version = "=1.15.0" }
+solana-program = { workspace = true }
+solana-sbf-rust-128bit-dep = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 8 - 8
programs/sbf/rust/128bit_dep/Cargo.toml

@@ -1,16 +1,16 @@
 [package]
 name = "solana-sbf-rust-128bit-dep"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-128bit-dep"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 8 - 8
programs/sbf/rust/alloc/Cargo.toml

@@ -1,16 +1,16 @@
 [package]
 name = "solana-sbf-rust-alloc"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-alloc"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 10 - 10
programs/sbf/rust/alt_bn128/Cargo.toml

@@ -1,18 +1,18 @@
 [package]
 name = "solana-bpf-rust-alt-bn128"
-version = "1.15.0"
 description = "Solana BPF test program written in Rust"
-authors = ["NeonLabs Team <at@neonlabs.org>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-array-bytes = "=1.4.1"
-serde = "1.0.112"
-serde_json = "1.0.56"
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+array-bytes = { workspace = true }
+serde = { workspace = true }
+serde_json = { workspace = true }
+solana-program = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 8 - 8
programs/sbf/rust/call_depth/Cargo.toml

@@ -1,16 +1,16 @@
 [package]
 name = "solana-sbf-rust-call-depth"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-call-depth"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 8 - 8
programs/sbf/rust/caller_access/Cargo.toml

@@ -1,16 +1,16 @@
 [package]
 name = "solana-sbf-rust-caller-access"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-caller-access"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 9 - 9
programs/sbf/rust/curve25519/Cargo.toml

@@ -1,17 +1,17 @@
 [package]
 name = "solana-sbf-rust-curve25519"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-zktoken_crypto"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
-solana-zk-token-sdk = { path = "../../../../zk-token-sdk", version = "=1.15.0" }
+solana-program = { workspace = true }
+solana-zk-token-sdk = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 8 - 8
programs/sbf/rust/custom_heap/Cargo.toml

@@ -1,16 +1,16 @@
 [package]
 name = "solana-sbf-rust-custom-heap"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-custom-heap"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [features]
 default = ["custom-heap"]

+ 10 - 10
programs/sbf/rust/dep_crate/Cargo.toml

@@ -1,19 +1,19 @@
 [package]
 name = "solana-sbf-rust-dep-crate"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-dep-crate"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-byteorder = { version = "1", default-features = false }
+byteorder = { workspace = true }
 # list of crates which must be buildable for bpf programs
-solana-address-lookup-table-program = { path = "../../../../programs/address-lookup-table", version = "=1.15.0" }
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-address-lookup-table-program = { workspace = true }
+solana-program = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 8 - 8
programs/sbf/rust/deprecated_loader/Cargo.toml

@@ -1,16 +1,16 @@
 [package]
 name = "solana-sbf-rust-deprecated-loader"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-deprecated-loader"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 8 - 8
programs/sbf/rust/dup_accounts/Cargo.toml

@@ -1,16 +1,16 @@
 [package]
 name = "solana-sbf-rust-dup-accounts"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-dup-accounts"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 11 - 11
programs/sbf/rust/error_handling/Cargo.toml

@@ -1,19 +1,19 @@
 [package]
 name = "solana-sbf-rust-error-handling"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-error-handling"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-num-derive = "0.3"
-num-traits = "0.2"
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
-thiserror = "1.0"
+num-derive = { workspace = true }
+num-traits = { workspace = true }
+solana-program = { workspace = true }
+thiserror = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 8 - 8
programs/sbf/rust/external_spend/Cargo.toml

@@ -1,16 +1,16 @@
 [package]
 name = "solana-sbf-rust-external-spend"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-external-spend"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 8 - 8
programs/sbf/rust/finalize/Cargo.toml

@@ -1,16 +1,16 @@
 [package]
 name = "solana-sbf-rust-finalize"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-finalize"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 8 - 8
programs/sbf/rust/get_minimum_delegation/Cargo.toml

@@ -1,16 +1,16 @@
 [package]
 name = "solana-sbf-rust-get-minimum-delegation"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-get-minimum-delegation"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 8 - 8
programs/sbf/rust/inner_instruction_alignment_check/Cargo.toml

@@ -1,16 +1,16 @@
 [package]
 name = "solana-sbf-rust-inner_instruction_alignment_check"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-inner_instruction_alignment_check"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 8 - 8
programs/sbf/rust/instruction_introspection/Cargo.toml

@@ -1,16 +1,16 @@
 [package]
 name = "solana-sbf-rust-instruction-introspection"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-instruction-introspection"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 9 - 9
programs/sbf/rust/invoke/Cargo.toml

@@ -1,21 +1,21 @@
 [package]
 name = "solana-sbf-rust-invoke"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-invoke"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [features]
 default = ["program"]
 program = []
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
-solana-sbf-rust-invoked = { path = "../invoked", default-features = false }
+solana-program = { workspace = true }
+solana-sbf-rust-invoked = { workspace = true }
 
 [lib]
 crate-type = ["lib", "cdylib"]

+ 8 - 8
programs/sbf/rust/invoke_and_error/Cargo.toml

@@ -1,16 +1,16 @@
 [package]
 name = "solana-sbf-rust-invoke-and-error"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-invoke-and-error"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 8 - 8
programs/sbf/rust/invoke_and_ok/Cargo.toml

@@ -1,16 +1,16 @@
 [package]
 name = "solana-sbf-rust-invoke-and-ok"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-invoke-and-ok"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 8 - 8
programs/sbf/rust/invoke_and_return/Cargo.toml

@@ -1,16 +1,16 @@
 [package]
 name = "solana-sbf-rust-invoke-and-return"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-invoke-and-return"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 8 - 8
programs/sbf/rust/invoked/Cargo.toml

@@ -1,20 +1,20 @@
 [package]
 name = "solana-sbf-rust-invoked"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-invoked"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [features]
 default = ["program"]
 program = []
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [lib]
 crate-type = ["lib", "cdylib"]

+ 8 - 8
programs/sbf/rust/iter/Cargo.toml

@@ -1,16 +1,16 @@
 [package]
 name = "solana-sbf-rust-iter"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-iter"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 8 - 8
programs/sbf/rust/log_data/Cargo.toml

@@ -1,16 +1,16 @@
 [package]
 name = "solana-sbf-rust-log-data"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-log-data"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [features]
 default = ["program"]

+ 9 - 9
programs/sbf/rust/many_args/Cargo.toml

@@ -1,17 +1,17 @@
 [package]
 name = "solana-sbf-rust-many-args"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-many-args"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
-solana-sbf-rust-many-args-dep = { path = "../many_args_dep", version = "=1.15.0" }
+solana-program = { workspace = true }
+solana-sbf-rust-many-args-dep = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 8 - 8
programs/sbf/rust/many_args_dep/Cargo.toml

@@ -1,16 +1,16 @@
 [package]
 name = "solana-sbf-rust-many-args-dep"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-many-args-dep"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 11 - 11
programs/sbf/rust/mem/Cargo.toml

@@ -1,24 +1,24 @@
 [package]
 name = "solana-sbf-rust-mem"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-mem"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [features]
 no-entrypoint = []
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [dev-dependencies]
-solana-program-runtime = { path = "../../../../program-runtime", version = "=1.15.0" }
-solana-program-test = { path = "../../../../program-test", version = "=1.15.0" }
-solana-sdk = { path = "../../../../sdk", version = "=1.15.0" }
+solana-program-runtime = { workspace = true }
+solana-program-test = { workspace = true }
+solana-sdk = { workspace = true }
 
 [lib]
 crate-type = ["cdylib", "lib"]

+ 9 - 9
programs/sbf/rust/membuiltins/Cargo.toml

@@ -1,17 +1,17 @@
 [package]
 name = "solana-sbf-rust-membuiltins"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-mem"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
-solana-sbf-rust-mem = { path = "../mem", version = "=1.15.0", features = [ "no-entrypoint" ] }
+solana-program = { workspace = true }
+solana-sbf-rust-mem = { workspace = true, features = ["no-entrypoint"] }
 
 [lib]
 crate-type = ["cdylib"]

+ 8 - 8
programs/sbf/rust/noop/Cargo.toml

@@ -1,16 +1,16 @@
 [package]
 name = "solana-sbf-rust-noop"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-noop"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 8 - 8
programs/sbf/rust/panic/Cargo.toml

@@ -1,16 +1,16 @@
 [package]
 name = "solana-sbf-rust-panic"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-panic"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [features]
 default = ["custom-panic"]

+ 9 - 9
programs/sbf/rust/param_passing/Cargo.toml

@@ -1,17 +1,17 @@
 [package]
 name = "solana-sbf-rust-param-passing"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-param-passing"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
-solana-sbf-rust-param-passing-dep = { path = "../param_passing_dep", version = "=1.15.0" }
+solana-program = { workspace = true }
+solana-sbf-rust-param-passing-dep = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 7 - 7
programs/sbf/rust/param_passing_dep/Cargo.toml

@@ -1,16 +1,16 @@
 [package]
 name = "solana-sbf-rust-param-passing-dep"
-version = "1.15.0"
 description = "Solana SBF program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-param-passing-dep"
-edition = "2021"
+version = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]

+ 10 - 10
programs/sbf/rust/rand/Cargo.toml

@@ -1,18 +1,18 @@
 [package]
 name = "solana-sbf-rust-rand"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-rand"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-getrandom = { version = "0.1.14", features = ["dummy"] }
-rand = "0.7"
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+getrandom = { workspace = true, features = ["dummy"] }
+rand = { workspace = true }
+solana-program = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 8 - 8
programs/sbf/rust/realloc/Cargo.toml

@@ -1,20 +1,20 @@
 [package]
 name = "solana-sbf-rust-realloc"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-realloc"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [features]
 default = ["program"]
 program = []
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [lib]
 crate-type = ["lib", "cdylib"]

+ 9 - 9
programs/sbf/rust/realloc_invoke/Cargo.toml

@@ -1,21 +1,21 @@
 [package]
 name = "solana-sbf-rust-realloc-invoke"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-realloc-invoke"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [features]
 default = ["program"]
 program = []
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
-solana-sbf-rust-realloc = { path = "../realloc", version = "=1.15.0", default-features = false }
+solana-program = { workspace = true }
+solana-sbf-rust-realloc = { workspace = true }
 
 [lib]
 crate-type = ["lib", "cdylib"]

+ 8 - 8
programs/sbf/rust/ro_account_modify/Cargo.toml

@@ -1,16 +1,16 @@
 [package]
 name = "solana-sbf-rust-ro-account_modify"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-ro-modify"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 8 - 8
programs/sbf/rust/ro_modify/Cargo.toml

@@ -1,16 +1,16 @@
 [package]
 name = "solana-sbf-rust-ro-modify"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-ro-modify"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [lib]
 crate-type = ["cdylib"]

+ 11 - 11
programs/sbf/rust/sanity/Cargo.toml

@@ -1,24 +1,24 @@
 [package]
 name = "solana-sbf-rust-sanity"
-version = "1.15.0"
-description = "Solana SBF test program written in Rust"
-authors = ["Solana Maintainers <maintainers@solana.foundation>"]
-repository = "https://github.com/solana-labs/solana"
-license = "Apache-2.0"
-homepage = "https://solana.com/"
 documentation = "https://docs.rs/solana-sbf-rust-sanity"
-edition = "2021"
+version = { workspace = true }
+description = { workspace = true }
+authors = { workspace = true }
+repository = { workspace = true }
+homepage = { workspace = true }
+license = { workspace = true }
+edition = { workspace = true }
 
 [features]
 test-bpf = []
 
 [dependencies]
-solana-program = { path = "../../../../sdk/program", version = "=1.15.0" }
+solana-program = { workspace = true }
 
 [dev-dependencies]
-solana-program-runtime = { path = "../../../../program-runtime", version = "=1.15.0" }
-solana-program-test = { path = "../../../../program-test", version = "=1.15.0" }
-solana-sdk = { path = "../../../../sdk", version = "=1.15.0" }
+solana-program-runtime = { workspace = true }
+solana-program-test = { workspace = true }
+solana-sdk = { workspace = true }
 
 [lib]
 crate-type = ["cdylib", "lib"]

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov