Cargo.toml 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. [package]
  2. name = "hermes"
  3. version = "0.8.5"
  4. description = "Hermes is an agent that provides Verified Prices from the Pythnet Pyth Oracle."
  5. edition = "2021"
  6. [dependencies]
  7. anyhow = { version = "1.0.69" }
  8. async-trait = { version = "0.1.73" }
  9. axum = { version = "0.6.20", features = ["json", "ws", "macros"] }
  10. axum-macros = { version = "0.3.8" }
  11. base64 = { version = "0.21.0" }
  12. borsh = { version = "0.10.3" }
  13. byteorder = { version = "1.4.3" }
  14. chrono = { version = "0.4.28" }
  15. clap = { version = "4.4.4", features = ["derive", "env", "cargo"] }
  16. dashmap = { version = "5.4.0" }
  17. derive_more = { version = "0.99.17" }
  18. env_logger = { version = "0.10.0" }
  19. futures = { version = "0.3.28" }
  20. hex = { version = "0.4.3", features = ["serde"] }
  21. humantime = { version = "2.1.0" }
  22. ipnet = { version = "2.8.0" }
  23. governor = { version = "0.6.0" }
  24. lazy_static = { version = "1.4.0" }
  25. libc = { version = "0.2.140" }
  26. log = { version = "0.4.17" }
  27. mock_instant = { version = "0.3.1", features = ["sync"] }
  28. nonzero_ext = { version = "0.3.0" }
  29. prometheus-client = { version = "0.21.2" }
  30. prost = { version = "0.12.1" }
  31. pyth-sdk = { version = "0.8.0" }
  32. pyth-sdk-solana = { version = "0.10.3" }
  33. pythnet-sdk = { path = "../../../pythnet/pythnet_sdk/", version = "2.0.0", features = ["strum"] }
  34. rand = { version = "0.8.5" }
  35. reqwest = { version = "0.11.14", features = ["blocking", "json"] }
  36. rust_decimal = { version = "1.36.0" }
  37. secp256k1 = { version = "0.27.0", features = ["rand", "recovery", "serde"] }
  38. serde = { version = "1.0.152", features = ["derive"] }
  39. serde_json = { version = "1.0.93" }
  40. serde_qs = { version = "0.12.0", features = ["axum"] }
  41. serde_wormhole = { git = "https://github.com/wormhole-foundation/wormhole", tag = "v2.17.1" }
  42. sha3 = { version = "0.10.4" }
  43. strum = { version = "0.24.1", features = ["derive"] }
  44. tokio = { version = "1.26.0", features = ["full"] }
  45. tokio-stream = { version = "0.1.15", features = ["full"] }
  46. tonic = { version = "0.10.1", features = ["tls"] }
  47. tower-http = { version = "0.4.0", features = ["cors"] }
  48. tracing = { version = "0.1.37", features = ["log"] }
  49. tracing-subscriber = { version = "0.3.17", features = ["env-filter", "json"] }
  50. utoipa = { version = "3.4.0", features = ["axum_extras", "decimal"] }
  51. utoipa-swagger-ui = { version = "3.1.4", features = ["axum"] }
  52. wormhole-sdk = { git = "https://github.com/wormhole-foundation/wormhole", tag = "v2.17.1" }
  53. # We are bound to this Solana version in order to match pyth-oracle.
  54. solana-client = { version = "=1.16.19" }
  55. solana-sdk = { version = "=1.16.19" }
  56. solana-account-decoder = { version = "=1.16.19" }
  57. [build-dependencies]
  58. prost-build = { version = "0.12.1" }
  59. tonic-build = { version = "0.10.1" }
  60. # Wormhole uses patching to resolve some of its own dependencies. We need to
  61. # make sure that we use the same patch instead of simply pointing the original
  62. # dependency at git otherwise those relative imports will fail.
  63. [patch.crates-io]
  64. serde_wormhole = { git = "https://github.com/wormhole-foundation/wormhole", tag = "v2.17.1" }
  65. [profile.release]
  66. panic = 'abort'
  67. [profile.dev]
  68. panic = 'abort'