Cargo.toml 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595
  1. [profile.release-with-debug]
  2. inherits = "release"
  3. debug = true
  4. split-debuginfo = "packed"
  5. [workspace]
  6. members = [
  7. "account-decoder",
  8. "accounts-bench",
  9. "accounts-cluster-bench",
  10. "accounts-db",
  11. "accounts-db/accounts-hash-cache-tool",
  12. "accounts-db/store-histogram",
  13. "accounts-db/store-tool",
  14. "banking-bench",
  15. "banks-client",
  16. "banks-interface",
  17. "banks-server",
  18. "bench-streamer",
  19. "bench-tps",
  20. "bloom",
  21. "bucket_map",
  22. "builtins-default-costs",
  23. "cargo-registry",
  24. "clap-utils",
  25. "clap-v3-utils",
  26. "cli",
  27. "cli-config",
  28. "cli-output",
  29. "client",
  30. "client-test",
  31. "compute-budget",
  32. "connection-cache",
  33. "core",
  34. "cost-model",
  35. "curves/*",
  36. "define-syscall",
  37. "dos",
  38. "download-utils",
  39. "entry",
  40. "faucet",
  41. "fee",
  42. "frozen-abi",
  43. "frozen-abi/macro",
  44. "genesis",
  45. "genesis-utils",
  46. "geyser-plugin-interface",
  47. "geyser-plugin-manager",
  48. "gossip",
  49. "inline-spl",
  50. "install",
  51. "keygen",
  52. "lattice-hash",
  53. "ledger",
  54. "ledger-tool",
  55. "local-cluster",
  56. "log-analyzer",
  57. "log-collector",
  58. "logger",
  59. "measure",
  60. "memory-management",
  61. "merkle-root-bench",
  62. "merkle-tree",
  63. "metrics",
  64. "net-shaper",
  65. "net-utils",
  66. "notifier",
  67. "perf",
  68. "poh",
  69. "poh-bench",
  70. "poseidon",
  71. "program-runtime",
  72. "program-test",
  73. "programs/address-lookup-table",
  74. "programs/address-lookup-table-tests",
  75. "programs/bpf-loader-tests",
  76. "programs/bpf_loader",
  77. "programs/bpf_loader/gen-syscall-list",
  78. "programs/compute-budget",
  79. "programs/config",
  80. "programs/ed25519-tests",
  81. "programs/loader-v4",
  82. "programs/stake",
  83. "programs/stake-tests",
  84. "programs/system",
  85. "programs/vote",
  86. "programs/zk-elgamal-proof",
  87. "programs/zk-token-proof",
  88. "programs/zk-token-proof-tests",
  89. "pubsub-client",
  90. "quic-client",
  91. "rayon-threadlimit",
  92. "rbpf-cli",
  93. "remote-wallet",
  94. "rpc",
  95. "rpc-client",
  96. "rpc-client-api",
  97. "rpc-client-nonce-utils",
  98. "rpc-test",
  99. "runtime",
  100. "runtime-transaction",
  101. "sanitize",
  102. "sdk",
  103. "sdk/atomic-u64",
  104. "sdk/cargo-build-sbf",
  105. "sdk/cargo-test-sbf",
  106. "sdk/clock",
  107. "sdk/decode-error",
  108. "sdk/derivation-path",
  109. "sdk/feature-set",
  110. "sdk/gen-headers",
  111. "sdk/hash",
  112. "sdk/instruction",
  113. "sdk/macro",
  114. "sdk/msg",
  115. "sdk/package-metadata-macro",
  116. "sdk/program",
  117. "sdk/program-error",
  118. "sdk/program-memory",
  119. "sdk/program-option",
  120. "sdk/pubkey",
  121. "sdk/serde-varint",
  122. "sdk/sha256-hasher",
  123. "sdk/signature",
  124. "send-transaction-service",
  125. "short-vec",
  126. "stake-accounts",
  127. "storage-bigtable",
  128. "storage-bigtable/build-proto",
  129. "storage-proto",
  130. "streamer",
  131. "svm",
  132. "svm-conformance",
  133. "svm-rent-collector",
  134. "svm-transaction",
  135. "svm/examples/paytube",
  136. "test-validator",
  137. "thin-client",
  138. "timings",
  139. "tokens",
  140. "tps-client",
  141. "tpu-client",
  142. "transaction-dos",
  143. "transaction-metrics-tracker",
  144. "transaction-status",
  145. "transaction-status-client-types",
  146. "transaction-view",
  147. "turbine",
  148. "type-overrides",
  149. "udp-client",
  150. "unified-scheduler-logic",
  151. "unified-scheduler-pool",
  152. "upload-perf",
  153. "validator",
  154. "version",
  155. "vote",
  156. "watchtower",
  157. "wen-restart",
  158. "zk-keygen",
  159. "zk-sdk",
  160. "zk-token-sdk",
  161. ]
  162. exclude = ["programs/sbf", "svm/tests/example-programs"]
  163. resolver = "2"
  164. [workspace.package]
  165. version = "2.1.0"
  166. authors = ["Anza Maintainers <maintainers@anza.xyz>"]
  167. repository = "https://github.com/anza-xyz/agave"
  168. homepage = "https://anza.xyz/"
  169. license = "Apache-2.0"
  170. edition = "2021"
  171. [workspace.lints.rust.unexpected_cfgs]
  172. level = "warn"
  173. check-cfg = [
  174. 'cfg(target_os, values("solana"))',
  175. 'cfg(feature, values("frozen-abi", "no-entrypoint"))',
  176. ]
  177. [workspace.dependencies]
  178. Inflector = "0.11.4"
  179. agave-transaction-view = { path = "transaction-view", version = "=2.1.0" }
  180. aquamarine = "0.3.3"
  181. aes-gcm-siv = "0.11.1"
  182. ahash = "0.8.10"
  183. anyhow = "1.0.87"
  184. arbitrary = "1.3.2"
  185. ark-bn254 = "0.4.0"
  186. ark-ec = "0.4.0"
  187. ark-ff = "0.4.0"
  188. ark-serialize = "0.4.0"
  189. array-bytes = "=1.4.1"
  190. arrayref = "0.3.8"
  191. arrayvec = "0.7.6"
  192. assert_cmd = "2.0"
  193. assert_matches = "1.5.0"
  194. async-channel = "1.9.0"
  195. async-lock = "3.4.0"
  196. async-trait = "0.1.82"
  197. atty = "0.2.11"
  198. backoff = "0.4.0"
  199. base64 = "0.22.1"
  200. bincode = "1.3.3"
  201. bitflags = { version = "2.6.0" }
  202. blake3 = "1.5.1"
  203. borsh = { version = "1.5.1", features = ["derive", "unstable__schema"] }
  204. bs58 = { version = "0.5.1", default-features = false }
  205. bv = "0.11.1"
  206. byte-unit = "4.0.19"
  207. bytecount = "0.6.8"
  208. bytemuck = "1.18.0"
  209. bytemuck_derive = "1.7.1"
  210. byteorder = "1.5.0"
  211. bytes = "1.7"
  212. bzip2 = "0.4.4"
  213. caps = "0.5.5"
  214. cargo_metadata = "0.15.4"
  215. chrono = { version = "0.4.38", default-features = false }
  216. chrono-humanize = "0.2.3"
  217. clap = "2.33.1"
  218. console = "0.15.8"
  219. console_error_panic_hook = "0.1.7"
  220. console_log = "0.2.2"
  221. const_format = "0.2.33"
  222. core_affinity = "0.5.10"
  223. criterion = "0.5.1"
  224. criterion-stats = "0.3.0"
  225. crossbeam-channel = "0.5.13"
  226. csv = "1.3.0"
  227. ctrlc = "3.4.5"
  228. curve25519-dalek = { version = "4.1.3", features = ["digest", "rand_core"] }
  229. dashmap = "5.5.3"
  230. derivation-path = { version = "0.2.0", default-features = false }
  231. derivative = "2.2.0"
  232. dialoguer = "0.10.4"
  233. digest = "0.10.7"
  234. dir-diff = "0.3.3"
  235. dirs-next = "2.0.0"
  236. dlopen2 = "0.5.0"
  237. eager = "0.1.0"
  238. ed25519-dalek = "=1.0.1"
  239. ed25519-dalek-bip32 = "0.2.0"
  240. enum-iterator = "1.5.0"
  241. env_logger = "0.9.3"
  242. etcd-client = "0.11.1"
  243. fast-math = "0.1"
  244. fd-lock = "3.0.13"
  245. flate2 = "1.0.31"
  246. fnv = "1.0.7"
  247. fs_extra = "1.3.0"
  248. futures = "0.3.30"
  249. futures-util = "0.3.29"
  250. gag = "1.0.0"
  251. generic-array = { version = "0.14.7", default-features = false }
  252. gethostname = "0.2.3"
  253. getrandom = "0.2.10"
  254. goauth = "0.13.1"
  255. governor = "0.6.3"
  256. hex = "0.4.3"
  257. hidapi = { version = "2.6.3", default-features = false }
  258. histogram = "0.6.9"
  259. hmac = "0.12.1"
  260. http = "0.2.12"
  261. humantime = "2.0.1"
  262. hyper = "0.14.30"
  263. hyper-proxy = "0.9.1"
  264. im = "15.1.0"
  265. index_list = "0.2.13"
  266. indexmap = "2.5.0"
  267. indicatif = "0.17.8"
  268. itertools = "0.12.1"
  269. jemallocator = { package = "tikv-jemallocator", version = "0.4.1", features = [
  270. "unprefixed_malloc_on_supported_platforms",
  271. ] }
  272. js-sys = "0.3.70"
  273. json5 = "0.4.1"
  274. jsonrpc-core = "18.0.0"
  275. jsonrpc-core-client = "18.0.0"
  276. jsonrpc-derive = "18.0.0"
  277. jsonrpc-http-server = "18.0.0"
  278. jsonrpc-ipc-server = "18.0.0"
  279. jsonrpc-pubsub = "18.0.0"
  280. lazy-lru = "0.1.3"
  281. lazy_static = "1.5.0"
  282. libc = "0.2.158"
  283. libloading = "0.7.4"
  284. libsecp256k1 = { version = "0.6.0", default-features = false, features = [
  285. "std",
  286. "static-context",
  287. ] }
  288. light-poseidon = "0.2.0"
  289. log = "0.4.22"
  290. lru = "0.7.7"
  291. lz4 = "1.27.0"
  292. memmap2 = "0.5.10"
  293. memoffset = "0.9"
  294. merlin = "3"
  295. min-max-heap = "1.3.0"
  296. mockall = "0.11.4"
  297. modular-bitfield = "0.11.2"
  298. nix = "0.29.0"
  299. num-bigint = "0.4.6"
  300. num-derive = "0.4"
  301. num-traits = "0.2"
  302. num_cpus = "1.16.0"
  303. num_enum = "0.7.3"
  304. openssl = "0.10"
  305. parking_lot = "0.12"
  306. pbkdf2 = { version = "0.11.0", default-features = false }
  307. pem = "1.1.1"
  308. percentage = "0.1.0"
  309. pickledb = { version = "0.5.1", default-features = false }
  310. predicates = "2.1"
  311. pretty-hex = "0.3.0"
  312. prio-graph = "0.2.1"
  313. proc-macro2 = "1.0.86"
  314. proptest = "1.5"
  315. prost = "0.11.9"
  316. prost-build = "0.11.9"
  317. prost-types = "0.11.9"
  318. protobuf-src = "1.1.0"
  319. qstring = "0.7.2"
  320. qualifier_attr = { version = "0.2.2", default-features = false }
  321. quinn = "0.11.4"
  322. quinn-proto = "0.11.7"
  323. quote = "1.0"
  324. rand = "0.8.5"
  325. rand_chacha = "0.3.1"
  326. rayon = "1.10.0"
  327. reed-solomon-erasure = "6.0.0"
  328. regex = "1.10.6"
  329. reqwest = { version = "0.11.27", default-features = false }
  330. reqwest-middleware = "0.2.5"
  331. rolling-file = "0.2.0"
  332. rpassword = "7.3"
  333. rustls = { version = "0.23.13", default-features = false }
  334. scopeguard = "1.2.0"
  335. semver = "1.0.23"
  336. seqlock = "0.2.0"
  337. serde = "1.0.210" # must match the serde_derive version, see https://github.com/serde-rs/serde/issues/2584#issuecomment-1685252251
  338. serde_bytes = "0.11.15"
  339. serde_derive = "1.0.210" # must match the serde version, see https://github.com/serde-rs/serde/issues/2584#issuecomment-1685252251
  340. serde_json = "1.0.128"
  341. serde_with = { version = "2.3.3", default-features = false }
  342. serde_yaml = "0.9.34"
  343. serial_test = "2.0.0"
  344. sha2 = "0.10.8"
  345. sha3 = "0.10.8"
  346. shuttle = "0.7.1"
  347. signal-hook = "0.3.17"
  348. siphasher = "0.3.11"
  349. smallvec = "1.13.2"
  350. smpl_jwt = "0.7.1"
  351. socket2 = "0.5.7"
  352. soketto = "0.7"
  353. solana-account-decoder = { path = "account-decoder", version = "=2.1.0" }
  354. solana-accounts-db = { path = "accounts-db", version = "=2.1.0" }
  355. solana-address-lookup-table-program = { path = "programs/address-lookup-table", version = "=2.1.0" }
  356. solana-atomic-u64 = { path = "sdk/atomic-u64", version = "=2.1.0" }
  357. solana-banks-client = { path = "banks-client", version = "=2.1.0" }
  358. solana-banks-interface = { path = "banks-interface", version = "=2.1.0" }
  359. solana-banks-server = { path = "banks-server", version = "=2.1.0" }
  360. solana-bench-tps = { path = "bench-tps", version = "=2.1.0" }
  361. solana-bloom = { path = "bloom", version = "=2.1.0" }
  362. solana-bn254 = { path = "curves/bn254", version = "=2.1.0" }
  363. solana-bpf-loader-program = { path = "programs/bpf_loader", version = "=2.1.0" }
  364. solana-bucket-map = { path = "bucket_map", version = "=2.1.0" }
  365. solana-builtins-default-costs = { path = "builtins-default-costs", version = "=2.1.0" }
  366. agave-cargo-registry = { path = "cargo-registry", version = "=2.1.0" }
  367. solana-clap-utils = { path = "clap-utils", version = "=2.1.0" }
  368. solana-clap-v3-utils = { path = "clap-v3-utils", version = "=2.1.0" }
  369. solana-cli = { path = "cli", version = "=2.1.0" }
  370. solana-cli-config = { path = "cli-config", version = "=2.1.0" }
  371. solana-cli-output = { path = "cli-output", version = "=2.1.0" }
  372. solana-client = { path = "client", version = "=2.1.0" }
  373. solana-clock = { path = "sdk/clock", version = "=2.1.0" }
  374. solana-compute-budget = { path = "compute-budget", version = "=2.1.0" }
  375. solana-compute-budget-program = { path = "programs/compute-budget", version = "=2.1.0" }
  376. solana-config-program = { path = "programs/config", version = "=2.1.0" }
  377. solana-connection-cache = { path = "connection-cache", version = "=2.1.0", default-features = false }
  378. solana-core = { path = "core", version = "=2.1.0" }
  379. solana-cost-model = { path = "cost-model", version = "=2.1.0" }
  380. solana-curve25519 = { path = "curves/curve25519", version = "=2.1.0" }
  381. solana-decode-error = { path = "sdk/decode-error", version = "=2.1.0" }
  382. solana-define-syscall = { path = "define-syscall", version = "=2.1.0" }
  383. solana-derivation-path = { path = "sdk/derivation-path", version = "=2.1.0" }
  384. solana-download-utils = { path = "download-utils", version = "=2.1.0" }
  385. solana-entry = { path = "entry", version = "=2.1.0" }
  386. solana-faucet = { path = "faucet", version = "=2.1.0" }
  387. solana-feature-set = { path = "sdk/feature-set", version = "=2.1.0" }
  388. solana-fee = { path = "fee", version = "=2.1.0" }
  389. solana-frozen-abi = { path = "frozen-abi", version = "=2.1.0" }
  390. solana-frozen-abi-macro = { path = "frozen-abi/macro", version = "=2.1.0" }
  391. solana-tps-client = { path = "tps-client", version = "=2.1.0" }
  392. solana-genesis = { path = "genesis", version = "=2.1.0" }
  393. solana-genesis-utils = { path = "genesis-utils", version = "=2.1.0" }
  394. agave-geyser-plugin-interface = { path = "geyser-plugin-interface", version = "=2.1.0" }
  395. solana-geyser-plugin-manager = { path = "geyser-plugin-manager", version = "=2.1.0" }
  396. solana-gossip = { path = "gossip", version = "=2.1.0" }
  397. solana-hash = { path = "sdk/hash", version = "=2.1.0" }
  398. solana-inline-spl = { path = "inline-spl", version = "=2.1.0" }
  399. solana-instruction = { path = "sdk/instruction", version = "=2.1.0", default-features = false }
  400. solana-lattice-hash = { path = "lattice-hash", version = "=2.1.0" }
  401. solana-ledger = { path = "ledger", version = "=2.1.0" }
  402. solana-loader-v4-program = { path = "programs/loader-v4", version = "=2.1.0" }
  403. solana-local-cluster = { path = "local-cluster", version = "=2.1.0" }
  404. solana-log-collector = { path = "log-collector", version = "=2.1.0" }
  405. solana-logger = { path = "logger", version = "=2.1.0" }
  406. solana-measure = { path = "measure", version = "=2.1.0" }
  407. solana-merkle-tree = { path = "merkle-tree", version = "=2.1.0" }
  408. solana-metrics = { path = "metrics", version = "=2.1.0" }
  409. solana-msg = { path = "sdk/msg", version = "=2.1.0" }
  410. solana-net-utils = { path = "net-utils", version = "=2.1.0" }
  411. solana-nohash-hasher = "0.2.1"
  412. solana-notifier = { path = "notifier", version = "=2.1.0" }
  413. solana-package-metadata-macro = { path = "sdk/package-metadata-macro", version = "=2.1.0" }
  414. solana-perf = { path = "perf", version = "=2.1.0" }
  415. solana-poh = { path = "poh", version = "=2.1.0" }
  416. solana-poseidon = { path = "poseidon", version = "=2.1.0" }
  417. solana-program = { path = "sdk/program", version = "=2.1.0", default-features = false }
  418. solana-program-error = { path = "sdk/program-error", version = "=2.1.0" }
  419. solana-program-memory = { path = "sdk/program-memory", version = "=2.1.0" }
  420. solana-program-option = { path = "sdk/program-option", version = "=2.1.0" }
  421. solana-program-runtime = { path = "program-runtime", version = "=2.1.0" }
  422. solana-program-test = { path = "program-test", version = "=2.1.0" }
  423. solana-pubkey = { path = "sdk/pubkey", version = "=2.1.0", default-features = false }
  424. solana-pubsub-client = { path = "pubsub-client", version = "=2.1.0" }
  425. solana-quic-client = { path = "quic-client", version = "=2.1.0" }
  426. solana-rayon-threadlimit = { path = "rayon-threadlimit", version = "=2.1.0" }
  427. solana-remote-wallet = { path = "remote-wallet", version = "=2.1.0", default-features = false }
  428. solana-sanitize = { path = "sanitize", version = "=2.1.0" }
  429. solana-serde-varint = { path = "sdk/serde-varint", version = "=2.1.0" }
  430. solana-sha256-hasher = { path = "sdk/sha256-hasher", version = "=2.1.0" }
  431. solana-signature = { path = "sdk/signature", version = "=2.1.0", default-features = false }
  432. solana-timings = { path = "timings", version = "=2.1.0" }
  433. solana-unified-scheduler-logic = { path = "unified-scheduler-logic", version = "=2.1.0" }
  434. solana-unified-scheduler-pool = { path = "unified-scheduler-pool", version = "=2.1.0" }
  435. solana-rpc = { path = "rpc", version = "=2.1.0" }
  436. solana-rpc-client = { path = "rpc-client", version = "=2.1.0", default-features = false }
  437. solana-rpc-client-api = { path = "rpc-client-api", version = "=2.1.0" }
  438. solana-rpc-client-nonce-utils = { path = "rpc-client-nonce-utils", version = "=2.1.0" }
  439. solana-runtime = { path = "runtime", version = "=2.1.0" }
  440. solana-runtime-transaction = { path = "runtime-transaction", version = "=2.1.0" }
  441. solana-sdk = { path = "sdk", version = "=2.1.0" }
  442. solana-sdk-macro = { path = "sdk/macro", version = "=2.1.0" }
  443. solana-secp256k1-recover = { path = "curves/secp256k1-recover", version = "=2.1.0", default-features = false }
  444. solana-send-transaction-service = { path = "send-transaction-service", version = "=2.1.0" }
  445. solana-short-vec = { path = "short-vec", version = "=2.1.0" }
  446. solana-stake-program = { path = "programs/stake", version = "=2.1.0" }
  447. solana-storage-bigtable = { path = "storage-bigtable", version = "=2.1.0" }
  448. solana-storage-proto = { path = "storage-proto", version = "=2.1.0" }
  449. solana-streamer = { path = "streamer", version = "=2.1.0" }
  450. solana-svm = { path = "svm", version = "=2.1.0" }
  451. solana-svm-conformance = { path = "svm-conformance", version = "=2.1.0" }
  452. solana-svm-example-paytube = { path = "svm/examples/paytube", version = "=2.1.0" }
  453. solana-svm-rent-collector = { path = "svm-rent-collector", version = "=2.1.0" }
  454. solana-svm-transaction = { path = "svm-transaction", version = "=2.1.0" }
  455. solana-system-program = { path = "programs/system", version = "=2.1.0" }
  456. solana-test-validator = { path = "test-validator", version = "=2.1.0" }
  457. solana-thin-client = { path = "thin-client", version = "=2.1.0" }
  458. solana-tpu-client = { path = "tpu-client", version = "=2.1.0", default-features = false }
  459. solana-transaction-status = { path = "transaction-status", version = "=2.1.0" }
  460. solana-transaction-status-client-types = { path = "transaction-status-client-types", version = "=2.1.0" }
  461. solana-transaction-metrics-tracker = { path = "transaction-metrics-tracker", version = "=2.1.0" }
  462. solana-turbine = { path = "turbine", version = "=2.1.0" }
  463. solana-type-overrides = { path = "type-overrides", version = "=2.1.0" }
  464. solana-udp-client = { path = "udp-client", version = "=2.1.0" }
  465. solana-version = { path = "version", version = "=2.1.0" }
  466. solana-vote = { path = "vote", version = "=2.1.0" }
  467. solana-vote-program = { path = "programs/vote", version = "=2.1.0" }
  468. solana-wen-restart = { path = "wen-restart", version = "=2.1.0" }
  469. solana-zk-elgamal-proof-program = { path = "programs/zk-elgamal-proof", version = "=2.1.0" }
  470. solana-zk-keygen = { path = "zk-keygen", version = "=2.1.0" }
  471. solana-zk-sdk = { path = "zk-sdk", version = "=2.1.0" }
  472. solana-zk-token-proof-program = { path = "programs/zk-token-proof", version = "=2.1.0" }
  473. solana-zk-token-sdk = { path = "zk-token-sdk", version = "=2.1.0" }
  474. solana_rbpf = "=0.8.5"
  475. spl-associated-token-account = "=4.0.0"
  476. spl-instruction-padding = "0.2"
  477. spl-memo = "=5.0.0"
  478. spl-pod = "=0.3.0"
  479. spl-token = "=6.0.0"
  480. spl-token-2022 = "=4.0.0"
  481. spl-token-group-interface = "=0.3.0"
  482. spl-token-metadata-interface = "=0.4.0"
  483. static_assertions = "1.1.0"
  484. stream-cancel = "0.8.2"
  485. strum = "0.24"
  486. strum_macros = "0.24"
  487. subtle = "2.6.1"
  488. symlink = "0.1.0"
  489. syn = "2.0"
  490. sys-info = "0.9.1"
  491. sysctl = "0.4.6"
  492. systemstat = "0.2.3"
  493. tar = "0.4.41"
  494. tarpc = "0.29.0"
  495. tempfile = "3.12.0"
  496. test-case = "3.3.1"
  497. thiserror = "1.0.63"
  498. tiny-bip39 = "0.8.2"
  499. # Update solana-tokio patch below when updating this version
  500. tokio = "1.29.1"
  501. tokio-serde = "0.8"
  502. tokio-stream = "0.1.16"
  503. tokio-tungstenite = "0.20.1"
  504. tokio-util = "0.7"
  505. toml = "0.8.12"
  506. tonic = "0.9.2"
  507. tonic-build = "0.9.2"
  508. trees = "0.4.2"
  509. tungstenite = "0.20.1"
  510. uriparse = "0.6.4"
  511. url = "2.5.2"
  512. vec_extract_if_polyfill = "0.1.0"
  513. wasm-bindgen = "0.2"
  514. winapi = "0.3.8"
  515. winreg = "0.50"
  516. x509-parser = "0.14.0"
  517. # See "zeroize versioning issues" below if you are updating this version.
  518. zeroize = { version = "1.7", default-features = false }
  519. zstd = "0.13.2"
  520. [patch.crates-io]
  521. # for details, see https://github.com/anza-xyz/crossbeam/commit/fd279d707025f0e60951e429bf778b4813d1b6bf
  522. crossbeam-epoch = { git = "https://github.com/anza-xyz/crossbeam", rev = "fd279d707025f0e60951e429bf778b4813d1b6bf" }
  523. # We include the following crates as our dependencies above from crates.io:
  524. #
  525. # * spl-associated-token-account
  526. # * spl-instruction-padding
  527. # * spl-memo
  528. # * spl-pod
  529. # * spl-token
  530. # * spl-token-2022
  531. # * spl-token-metadata-interface
  532. #
  533. # They, in turn, depend on a number of crates that we also include directly
  534. # using `path` specifications. For example, `spl-token` depends on
  535. # `solana-program`. And we explicitly specify `solana-program` above as a local
  536. # path dependency:
  537. #
  538. # solana-program = { path = "../../sdk/program", version = "=1.16.0" }
  539. #
  540. # Unfortunately, Cargo will try to resolve the `spl-token` `solana-program`
  541. # dependency only using what is available on crates.io. Crates.io normally
  542. # contains a previous version of these crates, and we end up with two versions
  543. # of `solana-program` and `solana-zk-token-sdk` and all of their dependencies in
  544. # our build tree.
  545. #
  546. # If you are developing downstream using non-crates-io solana-program (local or
  547. # forked repo, or from github rev, eg), duplicate the following patch statements
  548. # in your Cargo.toml. If you still hit duplicate-type errors with the patch
  549. # statements in place, run `cargo update -p solana-program` and/or `cargo update
  550. # -p solana-zk-token-sdk` to remove extraneous versions from your Cargo.lock
  551. # file.
  552. #
  553. # There is a similar override in `programs/sbf/Cargo.toml`. Please keep both
  554. # comments and the overrides in sync.
  555. solana-curve25519 = { path = "curves/curve25519" }
  556. solana-program = { path = "sdk/program" }
  557. solana-zk-sdk = { path = "zk-sdk" }
  558. solana-zk-token-sdk = { path = "zk-token-sdk" }
  559. # curve25519-dalek uses the simd backend by default in v4 if possible,
  560. # which has very slow performance on some platforms with opt-level 0,
  561. # which is the default for dev and test builds.
  562. # This slowdown causes certain interactions in the solana-test-validator,
  563. # such as verifying ZK proofs in transactions, to take much more than 400ms,
  564. # creating problems in the testing environment.
  565. # To enable better performance in solana-test-validator during tests and dev builds,
  566. # we override the opt-level to 3 for the crate.
  567. [profile.dev.package.curve25519-dalek]
  568. opt-level = 3
  569. # Solana RPC nodes experience stalls when running with `tokio` containing this
  570. # commit:
  571. # https://github.com/tokio-rs/tokio/commit/4eed411519783ef6f58cbf74f886f91142b5cfa6
  572. #
  573. # Tokio maintainers believe performance degradation is due to application bugs:
  574. # https://github.com/tokio-rs/tokio/issues/4873#issuecomment-1198277677
  575. #
  576. # This may indeed be true of the code in this monorepo, but we haven't yet
  577. # identified the bug or a way to fix. As a stopgap, this patches `tokio` to the
  578. # tagged version specified above with commit `4eed411` reverted.
  579. #
  580. # Comparison:
  581. # https://github.com/tokio-rs/tokio/compare/tokio-1.29.1...solana-labs:solana-tokio:tokio-1.29.1-revert-4eed411
  582. #
  583. [patch.crates-io.tokio]
  584. git = "https://github.com/anza-xyz/solana-tokio.git"
  585. rev = "7cf47705faacf7bf0e43e4131a5377b3291fce21"