Cargo.toml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. [workspace]
  2. members = [
  3. "../accounts-db/store-tool",
  4. "../banking-bench",
  5. "../bench-tps",
  6. "../dos",
  7. "../ledger-tool",
  8. ]
  9. resolver = "2"
  10. [workspace.package]
  11. version = "4.0.0-alpha.0"
  12. authors = ["Anza Maintainers <maintainers@anza.xyz>"]
  13. description = "Blockchain, Rebuilt for Scale"
  14. repository = "https://github.com/anza-xyz/agave"
  15. homepage = "https://anza.xyz/"
  16. license = "Apache-2.0"
  17. edition = "2021"
  18. [workspace.lints.rust]
  19. warnings = "deny"
  20. [workspace.lints.rust.unexpected_cfgs]
  21. level = "warn"
  22. check-cfg = [
  23. 'cfg(target_os, values("solana"))',
  24. 'cfg(feature, values("frozen-abi", "no-entrypoint"))',
  25. ]
  26. # Clippy lint configuration that can not be applied in clippy.toml
  27. [workspace.lints.clippy]
  28. arithmetic_side_effects = "deny"
  29. default_trait_access = "deny"
  30. manual_let_else = "deny"
  31. used_underscore_binding = "deny"
  32. [workspace.dependencies]
  33. agave-banking-stage-ingress-types = { path = "../banking-stage-ingress-types", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  34. agave-feature-set = { path = "../feature-set", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  35. agave-logger = { path = "../logger", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  36. agave-reserved-account-keys = { path = "../reserved-account-keys", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  37. agave-snapshots = { path = "../snapshots", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  38. agave-syscalls = { path = "../syscalls", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  39. ahash = "0.8.11"
  40. assert_cmd = "2.0"
  41. assert_matches = "1.5.0"
  42. bincode = "1.3.3"
  43. bs58 = { version = "0.5.1", default-features = false }
  44. chrono = { version = "0.4.42", default-features = false }
  45. clap = "2.33.1"
  46. crossbeam-channel = "0.5.15"
  47. csv = "1.4.0"
  48. dashmap = "5.5.3"
  49. futures = "0.3.31"
  50. histogram = "0.6.9"
  51. itertools = "0.12.1"
  52. jemallocator = { package = "tikv-jemallocator", version = "0.6.0", features = [
  53. "unprefixed_malloc_on_supported_platforms",
  54. ] }
  55. log = "0.4.28"
  56. num_cpus = "1.17.0"
  57. pretty-hex = "0.3.0"
  58. rand = "0.8.5"
  59. rayon = "1.11.0"
  60. regex = "1.12.2"
  61. serde = { version = "1.0.228", features = ["derive"] }
  62. serde_bytes = "0.11.19"
  63. serde_json = "1.0.145"
  64. serde_yaml = "0.9.34"
  65. serial_test = "2.0.0"
  66. signal-hook = "0.3.18"
  67. solana-account = "3.2.0"
  68. solana-account-decoder = { path = "../account-decoder", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  69. solana-accounts-db = { path = "../accounts-db", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  70. solana-bench-tps = { path = "../bench-tps", version = "=4.0.0-alpha.0" }
  71. solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  72. solana-clap-utils = { path = "../clap-utils", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  73. solana-cli-config = { path = "../cli-config", version = "=4.0.0-alpha.0" }
  74. solana-cli-output = { path = "../cli-output", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  75. solana-client = { path = "../client", version = "=4.0.0-alpha.0" }
  76. solana-clock = "3.0.0"
  77. solana-cluster-type = "3.0.0"
  78. solana-commitment-config = "3.0.0"
  79. solana-compute-budget = { path = "../compute-budget", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  80. solana-compute-budget-interface = "3.0.0"
  81. solana-connection-cache = { path = "../connection-cache", version = "=4.0.0-alpha.0", default-features = false, features = ["agave-unstable-api"] }
  82. solana-core = { path = "../core", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  83. solana-cost-model = { path = "../cost-model", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  84. solana-entry = { path = "../entry", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  85. solana-faucet = { path = "../faucet", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  86. solana-feature-gate-interface = "3.0.0"
  87. solana-fee-calculator = "3.0.0"
  88. solana-genesis = { path = "../genesis", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  89. solana-genesis-config = "3.0.0"
  90. solana-genesis-utils = { path = "../genesis-utils", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  91. solana-geyser-plugin-manager = { path = "../geyser-plugin-manager", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  92. solana-gossip = { path = "../gossip", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  93. solana-hash = "3.0.0"
  94. solana-inflation = "3.0.0"
  95. solana-instruction = "3.0.0"
  96. solana-keypair = "3.0.1"
  97. solana-ledger = { path = "../ledger", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  98. solana-loader-v3-interface = "6.1.0"
  99. solana-local-cluster = { path = "../local-cluster", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  100. solana-measure = { path = "../measure", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  101. solana-message = "3.0.1"
  102. solana-metrics = { path = "../metrics", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  103. solana-native-token = "3.0.0"
  104. solana-net-utils = { path = "../net-utils", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  105. solana-nonce = "3.0.0"
  106. solana-perf = { path = "../perf", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  107. solana-poh = { path = "../poh", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  108. solana-program-runtime = { path = "../program-runtime", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  109. solana-pubkey = { version = "3.0.0", default-features = false }
  110. solana-quic-client = { path = "../quic-client", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  111. solana-rent = "3.0.0"
  112. solana-rpc = { path = "../rpc", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  113. solana-rpc-client = { path = "../rpc-client", version = "=4.0.0-alpha.0", default-features = false }
  114. solana-rpc-client-api = { path = "../rpc-client-api", version = "=4.0.0-alpha.0" }
  115. solana-rpc-client-nonce-utils = { path = "../rpc-client-nonce-utils", version = "=4.0.0-alpha.0" }
  116. solana-runtime = { path = "../runtime", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  117. solana-runtime-transaction = { path = "../runtime-transaction", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  118. solana-sbpf = { version = "=0.13.1", default-features = false }
  119. solana-sdk-ids = "3.0.0"
  120. solana-shred-version = "3.0.0"
  121. solana-signature = { version = "3.1.0", default-features = false }
  122. solana-signer = "3.0.0"
  123. solana-stake-interface = { version = "2.0.1" }
  124. solana-storage-bigtable = { path = "../storage-bigtable", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  125. solana-streamer = { path = "../streamer", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  126. solana-svm-callback = { path = "../svm-callback", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  127. solana-svm-feature-set = { path = "../svm-feature-set", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  128. solana-svm-log-collector = { path = "../svm-log-collector", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  129. solana-svm-type-overrides = { path = "../svm-type-overrides", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  130. solana-system-interface = "2.0"
  131. solana-system-transaction = "3.0.0"
  132. solana-test-validator = { path = "../test-validator", version = "=4.0.0-alpha.0" }
  133. solana-time-utils = "3.0.0"
  134. solana-tps-client = { path = "../tps-client", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  135. solana-tpu-client = { path = "../tpu-client", version = "=4.0.0-alpha.0", default-features = false, features = ["agave-unstable-api"] }
  136. solana-transaction = "3.0.1"
  137. solana-transaction-context = { path = "../transaction-context", version = "=4.0.0-alpha.0", features = ["agave-unstable-api", "bincode"] }
  138. solana-transaction-status = { path = "../transaction-status", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  139. solana-unified-scheduler-pool = { path = "../unified-scheduler-pool", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  140. solana-version = { path = "../version", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  141. solana-vote = { path = "../vote", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  142. solana-vote-program = { path = "../programs/vote", version = "=4.0.0-alpha.0", default-features = false, features = ["agave-unstable-api"] }
  143. tempfile = "3.23.0"
  144. thiserror = "2.0.17"
  145. tokio = "1.48.0"
  146. [profile.release-with-debug]
  147. inherits = "release"
  148. debug = true
  149. strip = false
  150. split-debuginfo = "off"
  151. [profile.release]
  152. split-debuginfo = "unpacked"
  153. lto = "thin"
  154. [profile.release-with-lto]
  155. inherits = "release"
  156. lto = "fat"
  157. codegen-units = 1
  158. # curve25519-dalek uses the simd backend by default in v4 if possible,
  159. # which has very slow performance on some platforms with opt-level 0,
  160. # which is the default for dev and test builds.
  161. # This slowdown causes certain interactions in the solana-test-validator,
  162. # such as verifying ZK proofs in transactions, to take much more than 400ms,
  163. # creating problems in the testing environment.
  164. # To enable better performance in solana-test-validator during tests and dev builds,
  165. # we override the opt-level to 3 for the crate.
  166. [profile.dev.package.curve25519-dalek]
  167. opt-level = 3
  168. [patch.crates-io]
  169. # We include the following crates as our dependencies above from crates.io:
  170. #
  171. # * spl-associated-token-account-interface
  172. # * spl-instruction-padding
  173. # * spl-memo-interface
  174. # * spl-pod
  175. # * spl-token
  176. # * spl-token-2022-interface
  177. # * spl-token-metadata-interface
  178. #
  179. # They, in turn, depend on a number of crates that we also include directly
  180. # using `path` specifications. For example, `spl-token` depends on
  181. # `solana-program`. And we explicitly specify `solana-program` above as a local
  182. # path dependency:
  183. #
  184. # solana-program = { path = "../../../sdk/program", version = "=1.16.0" }
  185. #
  186. # Unfortunately, Cargo will try to resolve the `spl-token` `solana-program`
  187. # dependency only using what is available on crates.io. Crates.io normally
  188. # contains a previous version of these crates, and we end up with two versions
  189. # of `solana-program` and `solana-zk-token-sdk` and all of their dependencies in
  190. # our build tree.
  191. #
  192. # If you are developing downstream using non-crates-io solana-program (local or
  193. # forked repo, or from github rev, eg), duplicate the following patch statements
  194. # in your Cargo.toml. If you still hit duplicate-type errors with the patch
  195. # statements in place, run `cargo update -p solana-program` and/or `cargo update
  196. # -p solana-zk-token-sdk` to remove extraneous versions from your Cargo.lock
  197. # file.
  198. #
  199. # There is a similar override in `programs/sbf/Cargo.toml`. Please keep both
  200. # comments and the overrides in sync.
  201. solana-curve25519 = { path = "../curves/curve25519" }