Cargo.toml 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705
  1. [workspace]
  2. members = [
  3. "account-decoder",
  4. "account-decoder-client-types",
  5. "accounts-cluster-bench",
  6. "accounts-db",
  7. "accounts-db/store-histogram",
  8. "banking-stage-ingress-types",
  9. "banks-client",
  10. "banks-interface",
  11. "banks-server",
  12. "bench-streamer",
  13. "bench-vote",
  14. "bloom",
  15. "bucket_map",
  16. "builtins",
  17. "builtins-default-costs",
  18. "cargo-registry",
  19. "clap-utils",
  20. "clap-v3-utils",
  21. "cli",
  22. "cli-config",
  23. "cli-output",
  24. "client",
  25. "client-test",
  26. "compute-budget",
  27. "compute-budget-instruction",
  28. "connection-cache",
  29. "core",
  30. "cost-model",
  31. "curves/curve25519",
  32. "download-utils",
  33. "entry",
  34. "faucet",
  35. "feature-set",
  36. "fee",
  37. "fs",
  38. "genesis",
  39. "genesis-utils",
  40. "geyser-plugin-interface",
  41. "geyser-plugin-manager",
  42. "gossip",
  43. "gossip-bin",
  44. "install",
  45. "io-uring",
  46. "keygen",
  47. "lattice-hash",
  48. "ledger",
  49. "local-cluster",
  50. "logger",
  51. "measure",
  52. "merkle-tree",
  53. "metrics",
  54. "net-utils",
  55. "notifier",
  56. "perf",
  57. "platform-tools-sdk/cargo-build-sbf",
  58. "platform-tools-sdk/cargo-test-sbf",
  59. "platform-tools-sdk/gen-headers",
  60. "poh",
  61. "poh-bench",
  62. "poseidon",
  63. "precompiles",
  64. "program-binaries",
  65. "program-runtime",
  66. "program-test",
  67. "programs/bpf-loader-tests",
  68. "programs/bpf_loader",
  69. "programs/compute-budget",
  70. "programs/compute-budget-bench",
  71. "programs/ed25519-tests",
  72. "programs/loader-v4",
  73. "programs/system",
  74. "programs/vote",
  75. "programs/zk-elgamal-proof",
  76. "programs/zk-elgamal-proof-tests",
  77. "programs/zk-token-proof",
  78. "pubsub-client",
  79. "quic-client",
  80. "rayon-threadlimit",
  81. "rbpf-cli",
  82. "remote-wallet",
  83. "reserved-account-keys",
  84. "rpc",
  85. "rpc-client",
  86. "rpc-client-api",
  87. "rpc-client-nonce-utils",
  88. "rpc-client-types",
  89. "rpc-test",
  90. "runtime",
  91. "runtime-transaction",
  92. "scheduler-bindings",
  93. "scheduling-utils",
  94. "send-transaction-service",
  95. "snapshots",
  96. "stake-accounts",
  97. "storage-bigtable",
  98. "storage-bigtable/build-proto",
  99. "storage-proto",
  100. "streamer",
  101. "svm",
  102. "svm-callback",
  103. "svm-feature-set",
  104. "svm-log-collector",
  105. "svm-measure",
  106. "svm-test-harness",
  107. "svm-timings",
  108. "svm-transaction",
  109. "svm-type-overrides",
  110. "syscalls",
  111. "syscalls/gen-syscall-list",
  112. "test-validator",
  113. "thread-manager",
  114. "tls-utils",
  115. "tokens",
  116. "tps-client",
  117. "tpu-client",
  118. "tpu-client-next",
  119. "transaction-context",
  120. "transaction-dos",
  121. "transaction-metrics-tracker",
  122. "transaction-status",
  123. "transaction-status-client-types",
  124. "transaction-view",
  125. "turbine",
  126. "udp-client",
  127. "unified-scheduler-logic",
  128. "unified-scheduler-pool",
  129. "validator",
  130. "verified-packet-receiver",
  131. "version",
  132. "vortexor",
  133. "vote",
  134. "votor",
  135. "votor-messages",
  136. "watchtower",
  137. "wen-restart",
  138. "xdp",
  139. "xdp-ebpf",
  140. "zk-token-sdk",
  141. ]
  142. exclude = [
  143. # solana-dos depends on bench-tps. ignore bench-tps here to avoid confusing cargo's
  144. # workspace resolution logic, which expects it in the top-level worspace rather than
  145. # dev-bins
  146. "bench-tps",
  147. "ci/xtask",
  148. "dev-bins",
  149. "programs/sbf",
  150. "svm/tests/example-programs",
  151. ]
  152. resolver = "2"
  153. [workspace.package]
  154. version = "4.0.0-alpha.0"
  155. authors = ["Anza Maintainers <maintainers@anza.xyz>"]
  156. description = "Blockchain, Rebuilt for Scale"
  157. repository = "https://github.com/anza-xyz/agave"
  158. homepage = "https://anza.xyz/"
  159. license = "Apache-2.0"
  160. edition = "2021"
  161. [workspace.lints.rust]
  162. warnings = "deny"
  163. # List of rust-2024-compatibility lints that are already satisfied
  164. # See https://doc.rust-lang.org/rustc/lints/groups.html
  165. boxed_slice_into_iter = "deny"
  166. dependency_on_unit_never_type_fallback = "deny"
  167. deprecated_safe_2024 = "deny"
  168. impl_trait_overcaptures = "deny"
  169. missing_unsafe_on_extern = "deny"
  170. never_type_fallback_flowing_into_unsafe = "deny"
  171. rust_2024_guarded_string_incompatible_syntax = "deny"
  172. rust_2024_incompatible_pat = "deny"
  173. rust_2024_prelude_collisions = "deny"
  174. static_mut_refs = "deny"
  175. unsafe_attr_outside_unsafe = "deny"
  176. unsafe_op_in_unsafe_fn = "deny"
  177. [workspace.lints.rust.unexpected_cfgs]
  178. level = "warn"
  179. check-cfg = [
  180. 'cfg(target_os, values("solana"))',
  181. 'cfg(feature, values("frozen-abi", "no-entrypoint"))',
  182. ]
  183. # Clippy lint configuration that can not be applied in clippy.toml
  184. [workspace.lints.clippy]
  185. arithmetic_side_effects = "deny"
  186. default_trait_access = "deny"
  187. manual_let_else = "deny"
  188. used_underscore_binding = "deny"
  189. [workspace.dependencies]
  190. Inflector = "0.11.4"
  191. aes-gcm-siv = "0.11.1"
  192. agave-banking-stage-ingress-types = { path = "banking-stage-ingress-types", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  193. agave-cargo-registry = { path = "cargo-registry", version = "=4.0.0-alpha.0" }
  194. agave-feature-set = { path = "feature-set", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  195. agave-fs = { path = "fs", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  196. agave-geyser-plugin-interface = { path = "geyser-plugin-interface", version = "=4.0.0-alpha.0" }
  197. agave-io-uring = { path = "io-uring", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  198. agave-logger = { path = "logger", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  199. agave-precompiles = { path = "precompiles", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  200. agave-reserved-account-keys = { path = "reserved-account-keys", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  201. agave-scheduler-bindings = { path = "scheduler-bindings", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  202. agave-scheduling-utils = { path = "scheduling-utils", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  203. agave-snapshots = { path = "snapshots", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  204. agave-syscalls = { path = "syscalls", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  205. agave-thread-manager = { path = "thread-manager", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  206. agave-transaction-view = { path = "transaction-view", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  207. agave-verified-packet-receiver = { path = "verified-packet-receiver", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  208. agave-votor = { path = "votor", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  209. agave-votor-messages = { path = "votor-messages", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  210. agave-xdp = { path = "xdp", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  211. agave-xdp-ebpf = { path = "xdp-ebpf", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  212. ahash = "0.8.11"
  213. anyhow = "1.0.100"
  214. aquamarine = "0.6.0"
  215. arbitrary = "1.4.2"
  216. arc-swap = "1.7.1"
  217. ark-bn254 = "0.5.0"
  218. ark-bn254-0-4 = { package = "ark-bn254", version = "0.4.0" }
  219. array-bytes = "=1.4.1"
  220. arrayref = "0.3.9"
  221. arrayvec = "0.7.6"
  222. assert_cmd = "2.0"
  223. assert_matches = "1.5.0"
  224. async-lock = "3.4.1"
  225. async-trait = "0.1.89"
  226. atty = "0.2.11"
  227. axum = "0.8.6"
  228. aya = "0.13"
  229. aya-ebpf = "0.1.1"
  230. backoff = "0.4.0"
  231. base64 = "0.22.1"
  232. bencher = "0.1.5"
  233. bincode = "1.3.3"
  234. bitflags = { version = "2.10.0" }
  235. bitvec = { version = "1.0.1", features = ["serde"] }
  236. blake3 = "1.8.2"
  237. borsh = { version = "1.5.7", features = ["derive", "unstable__schema"] }
  238. bs58 = { version = "0.5.1", default-features = false }
  239. bv = "0.11.1"
  240. byte-unit = "4.0.19"
  241. bytemuck = "1.24.0"
  242. bytemuck_derive = "1.10.2"
  243. bytes = "1.10"
  244. bzip2 = "0.4.4"
  245. caps = "0.5.5"
  246. cargo_metadata = "0.15.4"
  247. cfg-if = "1.0.4"
  248. cfg_eval = "0.1.2"
  249. chrono = { version = "0.4.42", default-features = false }
  250. chrono-humanize = "0.2.3"
  251. clap = "2.33.1"
  252. console = "0.16.1"
  253. console_error_panic_hook = "0.1.7"
  254. console_log = "0.2.2"
  255. const_format = "0.2.35"
  256. core_affinity = "0.5.10"
  257. criterion = "0.5.1"
  258. criterion-stats = "0.3.0"
  259. crossbeam-channel = "0.5.15"
  260. csv = "1.4.0"
  261. ctrlc = "3.5.0"
  262. curve25519-dalek = { version = "4.1.3", features = ["digest", "rand_core"] }
  263. dashmap = "5.5.3"
  264. derivation-path = { version = "0.2.0", default-features = false }
  265. derive-where = "1.6.0"
  266. derive_more = { version = "2.0.1", features = ["full"] }
  267. dialoguer = "0.12.0"
  268. digest = "0.10.7"
  269. dir-diff = "0.3.3"
  270. dirs-next = "2.0.0"
  271. dlopen2 = "0.8.0"
  272. dyn-clone = "1.0.20"
  273. eager = "0.1.0"
  274. ed25519-dalek = "=1.0.1"
  275. ed25519-dalek-bip32 = "0.2.0"
  276. enum-iterator = "2.3.0"
  277. env_logger = "0.11.8"
  278. fast-math = "0.1"
  279. fd-lock = "3.0.13"
  280. five8_const = "0.1.4"
  281. flate2 = "1.0.31"
  282. fnv = "1.0.7"
  283. fs_extra = "1.3.0"
  284. futures = "0.3.31"
  285. futures-util = "0.3.29"
  286. gag = "1.0.0"
  287. gethostname = "0.2.3"
  288. getrandom = "0.3.4"
  289. goauth = "0.13.1"
  290. governor = "0.6.3"
  291. hex = "0.4.3"
  292. hidapi = { version = "2.6.3", default-features = false }
  293. histogram = "0.6.9"
  294. hmac = "0.12.1"
  295. http = "0.2.12"
  296. humantime = "2.3.0"
  297. hyper = "0.14.32"
  298. hyper-proxy = "0.9.1"
  299. im = "15.1.0"
  300. indexmap = "2.11.4"
  301. indicatif = "0.18.2"
  302. io-uring = "0.7.11"
  303. itertools = "0.13.0"
  304. jemallocator = { package = "tikv-jemallocator", version = "0.6.0", features = [
  305. "unprefixed_malloc_on_supported_platforms",
  306. ] }
  307. js-sys = "0.3.81"
  308. json5 = "0.4.1"
  309. jsonrpc-core = "18.0.0"
  310. jsonrpc-core-client = "18.0.0"
  311. jsonrpc-derive = "18.0.0"
  312. jsonrpc-http-server = "18.0.0"
  313. jsonrpc-ipc-server = "18.0.0"
  314. jsonrpc-pubsub = "18.0.0"
  315. lazy-lru = "0.1.3"
  316. libc = "0.2.177"
  317. libloading = "0.7.4"
  318. libsecp256k1 = { version = "0.6.0", default-features = false, features = [
  319. "std",
  320. "static-context",
  321. ] }
  322. light-poseidon = "0.4.0"
  323. light-poseidon-0-2 = { package = "light-poseidon", version = "0.2.0" }
  324. log = "0.4.28"
  325. lru = "0.7.7"
  326. lz4 = "1.28.1"
  327. memmap2 = "0.9.8"
  328. memoffset = "0.9"
  329. merlin = { version = "3", default-features = false }
  330. min-max-heap = "1.3.0"
  331. mockall = "0.13.1"
  332. modular-bitfield = "0.13.0"
  333. nix = "0.30.1"
  334. num-bigint = "0.4.6"
  335. num-derive = "0.4"
  336. num-traits = "0.2"
  337. num_cpus = "1.17.0"
  338. num_enum = "0.7.4"
  339. openssl = "0.10"
  340. parking_lot = "0.12"
  341. pbkdf2 = { version = "0.12.2", default-features = false }
  342. pem = "1.1.1"
  343. percentage = "0.1.0"
  344. pickledb = { version = "0.5.1", default-features = false }
  345. predicates = "3.1"
  346. pretty-hex = "0.3.0"
  347. pretty_assertions = "1.4.1"
  348. prio-graph = "0.3.0"
  349. proc-macro2 = "1.0.97"
  350. proptest = "1.9"
  351. prost = "0.11.9"
  352. prost-build = "0.11.9"
  353. prost-types = "0.11.9"
  354. protobuf-src = "1.1.0"
  355. protosol = "2.0.0"
  356. qstring = "0.7.2"
  357. qualifier_attr = { version = "0.2.2", default-features = false }
  358. quinn = "0.11.9"
  359. quinn-proto = "0.11.13"
  360. quote = "1.0"
  361. rand = "0.8.5"
  362. rand0-7 = { package = "rand", version = "0.7" }
  363. rand_chacha = "0.3.1"
  364. rand_chacha0-2 = { package = "rand_chacha", version = "0.2.2" }
  365. rayon = "1.11.0"
  366. reed-solomon-erasure = "6.0.0"
  367. regex = "1.12.2"
  368. reqwest = { version = "0.12.24", default-features = false }
  369. reqwest-middleware = "0.4.2"
  370. rolling-file = "0.2.0"
  371. rpassword = "7.4"
  372. rts-alloc = { version = "1.0.0" }
  373. rustls = { version = "0.23.34", features = ["std"], default-features = false }
  374. scopeguard = "1.2.0"
  375. semver = "1.0.27"
  376. seqlock = "0.2.0"
  377. serde = { version = "1.0.228", features = ["derive"] }
  378. serde-big-array = "0.5.1"
  379. serde_bytes = "0.11.19"
  380. serde_json = "1.0.145"
  381. serde_with = { version = "3.15.1", default-features = false }
  382. serde_yaml = "0.9.34"
  383. serial_test = "3.2.0"
  384. sha2 = "0.10.9"
  385. sha3 = "0.10.8"
  386. shaq = { version = "1.0.0" }
  387. shuttle = "0.7.1"
  388. signal-hook = "0.3.18"
  389. siphasher = "1.0.1"
  390. slab = "0.4.11"
  391. smallvec = { version = "1.15.1", default-features = false, features = ["union"] }
  392. smpl_jwt = "0.7.1"
  393. socket2 = "0.6.1"
  394. soketto = "0.8"
  395. solana-account = "3.2.0"
  396. solana-account-decoder = { path = "account-decoder", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  397. solana-account-decoder-client-types = { path = "account-decoder-client-types", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  398. solana-account-info = "3.0.0"
  399. solana-accounts-db = { path = "accounts-db", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  400. solana-address = "1.0.0"
  401. solana-address-lookup-table-interface = "3.0.0"
  402. solana-atomic-u64 = "3.0.0"
  403. solana-banks-client = { path = "banks-client", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  404. solana-banks-interface = { path = "banks-interface", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  405. solana-banks-server = { path = "banks-server", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  406. solana-big-mod-exp = "3.0.0"
  407. solana-bincode = "3.0.0"
  408. solana-blake3-hasher = "3.0.0"
  409. solana-bloom = { path = "bloom", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  410. solana-bls-signatures = { version = "1.0.0", features = ["serde"] }
  411. solana-bn254 = "3.1.2"
  412. solana-borsh = "3.0.0"
  413. solana-bpf-loader-program = { path = "programs/bpf_loader", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  414. solana-bucket-map = { path = "bucket_map", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  415. solana-builtins = { path = "builtins", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  416. solana-builtins-default-costs = { path = "builtins-default-costs", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  417. solana-clap-utils = { path = "clap-utils", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  418. solana-clap-v3-utils = { path = "clap-v3-utils", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  419. solana-cli = { path = "cli", version = "=4.0.0-alpha.0" }
  420. solana-cli-config = { path = "cli-config", version = "=4.0.0-alpha.0" }
  421. solana-cli-output = { path = "cli-output", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  422. solana-client = { path = "client", version = "=4.0.0-alpha.0" }
  423. solana-client-traits = "3.0.0"
  424. solana-clock = "3.0.0"
  425. solana-cluster-type = "3.0.0"
  426. solana-commitment-config = "3.0.0"
  427. solana-compute-budget = { path = "compute-budget", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  428. solana-compute-budget-instruction = { path = "compute-budget-instruction", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  429. solana-compute-budget-interface = "3.0.0"
  430. solana-compute-budget-program = { path = "programs/compute-budget", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  431. solana-config-interface = "2.0.0"
  432. solana-connection-cache = { path = "connection-cache", version = "=4.0.0-alpha.0", default-features = false, features = ["agave-unstable-api"] }
  433. solana-core = { path = "core", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  434. solana-cost-model = { path = "cost-model", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  435. solana-cpi = "3.0.0"
  436. solana-curve25519 = { path = "curves/curve25519", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  437. solana-define-syscall = "3.0.0"
  438. solana-derivation-path = "3.0.0"
  439. solana-download-utils = { path = "download-utils", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  440. solana-ed25519-program = "3.0.0"
  441. solana-entry = { path = "entry", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  442. solana-epoch-info = "3.0.0"
  443. solana-epoch-rewards = "3.0.0"
  444. solana-epoch-rewards-hasher = "3.0.0"
  445. solana-epoch-schedule = "3.0.0"
  446. solana-example-mocks = "3.0.0"
  447. solana-faucet = { path = "faucet", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  448. solana-feature-gate-interface = "3.0.0"
  449. solana-fee = { path = "fee", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  450. solana-fee-calculator = "3.0.0"
  451. solana-fee-structure = "3.0.0"
  452. solana-file-download = "3.1.0"
  453. solana-frozen-abi = "3.0.1"
  454. solana-frozen-abi-macro = "3.0.1"
  455. solana-genesis = { path = "genesis", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  456. solana-genesis-config = "3.0.0"
  457. solana-genesis-utils = { path = "genesis-utils", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  458. solana-geyser-plugin-manager = { path = "geyser-plugin-manager", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  459. solana-gossip = { path = "gossip", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  460. solana-hard-forks = "3.0.0"
  461. solana-hash = "3.0.0"
  462. solana-inflation = "3.0.0"
  463. solana-instruction = "3.0.0"
  464. solana-instruction-error = "2.0.0"
  465. solana-instructions-sysvar = "3.0.0"
  466. solana-keccak-hasher = "3.0.0"
  467. solana-keypair = "3.0.1"
  468. solana-last-restart-slot = "3.0.0"
  469. solana-lattice-hash = { path = "lattice-hash", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  470. solana-ledger = { path = "ledger", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  471. solana-loader-v2-interface = "3.0.0"
  472. solana-loader-v3-interface = "6.1.0"
  473. solana-loader-v4-interface = "3.1.0"
  474. solana-loader-v4-program = { path = "programs/loader-v4", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  475. solana-local-cluster = { path = "local-cluster", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  476. solana-measure = { path = "measure", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  477. solana-merkle-tree = { path = "merkle-tree", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  478. solana-message = "3.0.1"
  479. solana-metrics = { path = "metrics", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  480. solana-msg = "3.0.0"
  481. solana-native-token = "3.0.0"
  482. solana-net-utils = { path = "net-utils", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  483. solana-nohash-hasher = "0.2.1"
  484. solana-nonce = "3.0.0"
  485. solana-nonce-account = "3.0.0"
  486. solana-notifier = { path = "notifier", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  487. solana-offchain-message = "3.0.0"
  488. solana-packet = "3.0.0"
  489. solana-perf = { path = "perf", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  490. solana-poh = { path = "poh", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  491. solana-poh-config = "3.0.0"
  492. solana-poseidon = { path = "poseidon", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  493. solana-precompile-error = "3.0.0"
  494. solana-presigner = "3.0.0"
  495. solana-program = { version = "3.0.0", default-features = false }
  496. solana-program-binaries = { path = "program-binaries", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  497. solana-program-entrypoint = "3.1.0"
  498. solana-program-error = "3.0.0"
  499. solana-program-memory = "3.0.0"
  500. solana-program-option = "3.0.0"
  501. solana-program-pack = "3.0.0"
  502. solana-program-runtime = { path = "program-runtime", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  503. solana-program-test = { path = "program-test", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  504. solana-pubkey = { version = "3.0.0", default-features = false }
  505. solana-pubsub-client = { path = "pubsub-client", version = "=4.0.0-alpha.0" }
  506. solana-quic-client = { path = "quic-client", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  507. solana-quic-definitions = "3.0.0"
  508. solana-rayon-threadlimit = { path = "rayon-threadlimit", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  509. solana-remote-wallet = { path = "remote-wallet", version = "=4.0.0-alpha.0", default-features = false, features = ["agave-unstable-api"] }
  510. solana-rent = "3.0.0"
  511. solana-reward-info = "3.0.0"
  512. solana-rpc = { path = "rpc", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  513. solana-rpc-client = { path = "rpc-client", version = "=4.0.0-alpha.0", default-features = false }
  514. solana-rpc-client-api = { path = "rpc-client-api", version = "=4.0.0-alpha.0" }
  515. solana-rpc-client-nonce-utils = { path = "rpc-client-nonce-utils", version = "=4.0.0-alpha.0" }
  516. solana-rpc-client-types = { path = "rpc-client-types", version = "=4.0.0-alpha.0" }
  517. solana-runtime = { path = "runtime", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  518. solana-runtime-transaction = { path = "runtime-transaction", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  519. solana-sanitize = "3.0.1"
  520. solana-sbpf = { version = "=0.13.1", default-features = false }
  521. solana-sdk-ids = "3.0.0"
  522. solana-secp256k1-program = "3.0.0"
  523. solana-secp256k1-recover = "3.0.0"
  524. solana-secp256r1-program = "3.0.0"
  525. solana-seed-derivable = "3.0.0"
  526. solana-seed-phrase = "3.0.0"
  527. solana-send-transaction-service = { path = "send-transaction-service", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  528. solana-serde = "3.0.0"
  529. solana-serde-varint = "3.0.0"
  530. solana-serialize-utils = "3.1.0"
  531. solana-sha256-hasher = "3.0.1"
  532. solana-short-vec = "3.0.0"
  533. solana-shred-version = "3.0.0"
  534. solana-signature = { version = "3.1.0", default-features = false }
  535. solana-signer = "3.0.0"
  536. solana-signer-store = "0.1.0"
  537. solana-slot-hashes = "3.0.0"
  538. solana-slot-history = "3.0.0"
  539. solana-stable-layout = "3.0.0"
  540. solana-stake-interface = { version = "2.0.1" }
  541. solana-storage-bigtable = { path = "storage-bigtable", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  542. solana-storage-proto = { path = "storage-proto", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  543. solana-streamer = { path = "streamer", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  544. solana-svm = { path = "svm", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  545. solana-svm-callback = { path = "svm-callback", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  546. solana-svm-feature-set = { path = "svm-feature-set", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  547. solana-svm-log-collector = { path = "svm-log-collector", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  548. solana-svm-measure = { path = "svm-measure", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  549. solana-svm-test-harness = { path = "svm-test-harness", version = "=4.0.0-alpha.0" }
  550. solana-svm-timings = { path = "svm-timings", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  551. solana-svm-transaction = { path = "svm-transaction", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  552. solana-svm-type-overrides = { path = "svm-type-overrides", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  553. solana-system-interface = "2.0"
  554. solana-system-program = { path = "programs/system", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  555. solana-system-transaction = "3.0.0"
  556. solana-sysvar = "3.0.0"
  557. solana-sysvar-id = "3.0.0"
  558. solana-test-validator = { path = "test-validator", version = "=4.0.0-alpha.0" }
  559. solana-time-utils = "3.0.0"
  560. solana-tls-utils = { path = "tls-utils", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  561. solana-tps-client = { path = "tps-client", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  562. solana-tpu-client = { path = "tpu-client", version = "=4.0.0-alpha.0", default-features = false, features = ["agave-unstable-api"] }
  563. solana-tpu-client-next = { path = "tpu-client-next", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  564. solana-transaction = "3.0.1"
  565. solana-transaction-context = { path = "transaction-context", version = "=4.0.0-alpha.0", features = ["agave-unstable-api", "bincode"] }
  566. solana-transaction-error = "3.0.0"
  567. solana-transaction-metrics-tracker = { path = "transaction-metrics-tracker", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  568. solana-transaction-status = { path = "transaction-status", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  569. solana-transaction-status-client-types = { path = "transaction-status-client-types", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  570. solana-turbine = { path = "turbine", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  571. solana-udp-client = { path = "udp-client", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  572. solana-unified-scheduler-logic = { path = "unified-scheduler-logic", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  573. solana-unified-scheduler-pool = { path = "unified-scheduler-pool", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  574. solana-validator-exit = "3.0.0"
  575. solana-version = { path = "version", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  576. solana-vote = { path = "vote", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  577. solana-vote-interface = "4.0.4"
  578. solana-vote-program = { path = "programs/vote", version = "=4.0.0-alpha.0", default-features = false, features = ["agave-unstable-api"] }
  579. solana-wen-restart = { path = "wen-restart", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  580. solana-zk-elgamal-proof-program = { path = "programs/zk-elgamal-proof", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  581. solana-zk-sdk = "4.0.0"
  582. solana-zk-token-proof-program = { path = "programs/zk-token-proof", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  583. solana-zk-token-sdk = { path = "zk-token-sdk", version = "=4.0.0-alpha.0", features = ["agave-unstable-api"] }
  584. spl-associated-token-account-interface = "2.0.0"
  585. spl-generic-token = "2.0.0"
  586. spl-memo-interface = "2.0.0"
  587. spl-pod = "0.7.0"
  588. spl-token-2022-interface = "2.1.0"
  589. spl-token-confidential-transfer-proof-extraction = "0.5.0"
  590. spl-token-group-interface = "0.7.0"
  591. spl-token-interface = "2.0.0"
  592. spl-token-metadata-interface = "0.8.0"
  593. static_assertions = "1.1.0"
  594. stream-cancel = "0.8.2"
  595. strum = "0.24"
  596. strum_macros = "0.24"
  597. subtle = "2.6.1"
  598. symlink = "0.1.0"
  599. syn = "2.0"
  600. sys-info = "0.9.1"
  601. sysctl = "0.7.1"
  602. systemstat = "0.2.5"
  603. tar = "0.4.44"
  604. tarpc = "0.29.0"
  605. tempfile = "3.23.0"
  606. test-case = "3.3.1"
  607. thiserror = "2.0.17"
  608. thread-priority = "3.0.0"
  609. tiny-bip39 = "2.0.0"
  610. tokio = "1.48.0"
  611. tokio-serde = "0.8"
  612. tokio-stream = "0.1.17"
  613. tokio-tungstenite = "0.28.0"
  614. tokio-util = "0.7.17"
  615. toml = "0.9.8"
  616. tonic = "0.9.2"
  617. tonic-build = "0.9.2"
  618. tower = "0.5.2"
  619. tracing = "0.1"
  620. trait-set = "0.3.0"
  621. trees = "0.4.2"
  622. tungstenite = "0.28.0"
  623. unwrap_none = "0.1.2"
  624. uriparse = "0.6.4"
  625. url = "2.5.7"
  626. vec_extract_if_polyfill = "0.1.0"
  627. wasm-bindgen = "0.2"
  628. winapi = "0.3.8"
  629. wincode = { version = "0.1.2", features = ["derive", "solana-short-vec"] }
  630. winreg = "0.55"
  631. x509-parser = "0.14.0"
  632. zeroize = { version = "1.8", default-features = false }
  633. zstd = "0.13.3"
  634. [profile.release-with-debug]
  635. inherits = "release"
  636. debug = true
  637. strip = false
  638. split-debuginfo = "off"
  639. [profile.release]
  640. split-debuginfo = "unpacked"
  641. lto = "thin"
  642. [profile.release-with-lto]
  643. inherits = "release"
  644. lto = "fat"
  645. codegen-units = 1
  646. # curve25519-dalek uses the simd backend by default in v4 if possible,
  647. # which has very slow performance on some platforms with opt-level 0,
  648. # which is the default for dev and test builds.
  649. # This slowdown causes certain interactions in the solana-test-validator,
  650. # such as verifying ZK proofs in transactions, to take much more than 400ms,
  651. # creating problems in the testing environment.
  652. # To enable better performance in solana-test-validator during tests and dev builds,
  653. # we override the opt-level to 3 for the crate.
  654. [profile.dev.package.curve25519-dalek]
  655. opt-level = 3
  656. [patch.crates-io]
  657. # for details, see https://github.com/anza-xyz/crossbeam/commit/fd279d707025f0e60951e429bf778b4813d1b6bf
  658. crossbeam-epoch = { git = "https://github.com/anza-xyz/crossbeam", rev = "fd279d707025f0e60951e429bf778b4813d1b6bf" }
  659. # We include the following crates as our dependencies above from crates.io:
  660. #
  661. # * spl-associated-token-account-interface
  662. # * spl-instruction-padding
  663. # * spl-memo-interface
  664. # * spl-pod
  665. # * spl-token
  666. # * spl-token-2022-interface
  667. # * spl-token-metadata-interface
  668. #
  669. # They, in turn, depend on a number of crates that we also include directly
  670. # using `path` specifications. For example, `spl-token` depends on
  671. # `solana-program`. And we explicitly specify `solana-program` above as a local
  672. # path dependency:
  673. #
  674. # solana-program = { path = "../../sdk/program", version = "=1.16.0" }
  675. #
  676. # Unfortunately, Cargo will try to resolve the `spl-token` `solana-program`
  677. # dependency only using what is available on crates.io. Crates.io normally
  678. # contains a previous version of these crates, and we end up with two versions
  679. # of `solana-program` and `solana-zk-token-sdk` and all of their dependencies in
  680. # our build tree.
  681. #
  682. # If you are developing downstream using non-crates-io solana-program (local or
  683. # forked repo, or from github rev, eg), duplicate the following patch statements
  684. # in your Cargo.toml. If you still hit duplicate-type errors with the patch
  685. # statements in place, run `cargo update -p solana-program` and/or `cargo update
  686. # -p solana-zk-token-sdk` to remove extraneous versions from your Cargo.lock
  687. # file.
  688. #
  689. # There is a similar override in `programs/sbf/Cargo.toml`. Please keep both
  690. # comments and the overrides in sync.
  691. solana-curve25519 = { path = "curves/curve25519" }