Cargo.toml 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. [package]
  2. name = "hermes"
  3. version = "0.5.4"
  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.9.0" }
  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. secp256k1 = { version = "0.27.0", features = ["rand", "recovery", "serde"] }
  37. serde = { version = "1.0.152", features = ["derive"] }
  38. serde_json = { version = "1.0.93" }
  39. serde_qs = { version = "0.12.0", features = ["axum"] }
  40. serde_wormhole = { git = "https://github.com/wormhole-foundation/wormhole", tag = "v2.17.1" }
  41. sha3 = { version = "0.10.4" }
  42. strum = { version = "0.24.1", features = ["derive"] }
  43. tokio = { version = "1.26.0", features = ["full"] }
  44. tonic = { version = "0.10.1", features = ["tls"] }
  45. tower-http = { version = "0.4.0", features = ["cors"] }
  46. tracing = { version = "0.1.37", features = ["log"] }
  47. tracing-subscriber = { version = "0.3.17", features = ["env-filter", "json"] }
  48. utoipa = { version = "3.4.0", features = ["axum_extras"] }
  49. utoipa-swagger-ui = { version = "3.1.4", features = ["axum"] }
  50. wormhole-sdk = { git = "https://github.com/wormhole-foundation/wormhole", tag = "v2.17.1" }
  51. # We are bound to this Solana version in order to match pyth-oracle.
  52. solana-client = { version = "=1.16.19" }
  53. solana-sdk = { version = "=1.16.19" }
  54. solana-account-decoder = { version = "=1.16.19" }
  55. [build-dependencies]
  56. prost-build = { version = "0.12.1" }
  57. tonic-build = { version = "0.10.1" }
  58. # Wormhole uses patching to resolve some of its own dependencies. We need to
  59. # make sure that we use the same patch instead of simply pointing the original
  60. # dependency at git otherwise those relative imports will fail.
  61. [patch.crates-io]
  62. serde_wormhole = { git = "https://github.com/wormhole-foundation/wormhole", tag = "v2.17.1" }
  63. [profile.release]
  64. panic = 'abort'
  65. [profile.dev]
  66. panic = 'abort'