Cargo.toml 28 KB

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