Cargo.toml 27 KB

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