[hermes] fix cors bug (#896)

* Fix cors policy error

* Bump version

* Remove unused dependencies
This commit is contained in:
Ali Behjati 2023-06-19 17:15:12 +02:00 committed by GitHub
parent 92aa157e85
commit 4c2dfad755
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 81 additions and 422 deletions

394
hermes/Cargo.lock generated
View File

@ -532,18 +532,6 @@ dependencies = [
"typenum",
]
[[package]]
name = "bitvec"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
dependencies = [
"funty",
"radium",
"tap",
"wyz",
]
[[package]]
name = "blake2"
version = "0.9.2"
@ -709,12 +697,6 @@ dependencies = [
"serde",
]
[[package]]
name = "byte-slice-cast"
version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c"
[[package]]
name = "bytecount"
version = "0.6.3"
@ -1135,41 +1117,6 @@ dependencies = [
"zeroize",
]
[[package]]
name = "darling"
version = "0.13.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c"
dependencies = [
"darling_core",
"darling_macro",
]
[[package]]
name = "darling_core"
version = "0.13.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610"
dependencies = [
"fnv",
"ident_case",
"proc-macro2 1.0.56",
"quote 1.0.27",
"strsim 0.10.0",
"syn 1.0.109",
]
[[package]]
name = "darling_macro"
version = "0.13.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835"
dependencies = [
"darling_core",
"quote 1.0.27",
"syn 1.0.109",
]
[[package]]
name = "dashmap"
version = "5.4.0"
@ -1198,12 +1145,6 @@ dependencies = [
"const-oid",
]
[[package]]
name = "der"
version = "0.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05e58dffcdcc8ee7b22f0c1f71a69243d7c2d9ad87b5a14361f2424a1565c219"
[[package]]
name = "der-parser"
version = "8.2.0"
@ -1502,68 +1443,12 @@ dependencies = [
"version_check",
]
[[package]]
name = "ethabi"
version = "18.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7413c5f74cc903ea37386a8965a936cbeb334bd270862fdece542c1b2dcbc898"
dependencies = [
"ethereum-types",
"hex",
"once_cell",
"regex",
"serde",
"serde_json",
"sha3 0.10.8",
"thiserror",
"uint",
]
[[package]]
name = "ethbloom"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60"
dependencies = [
"crunchy",
"fixed-hash",
"impl-rlp",
"impl-serde",
"tiny-keccak",
]
[[package]]
name = "ethereum-types"
version = "0.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee"
dependencies = [
"ethbloom",
"fixed-hash",
"impl-rlp",
"impl-serde",
"primitive-types",
"uint",
]
[[package]]
name = "event-listener"
version = "2.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
[[package]]
name = "fallible-iterator"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7"
[[package]]
name = "fallible-streaming-iterator"
version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a"
[[package]]
name = "fast-math"
version = "0.1.1"
@ -1588,18 +1473,6 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da"
[[package]]
name = "fixed-hash"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534"
dependencies = [
"byteorder",
"rand 0.8.5",
"rustc-hex",
"static_assertions",
]
[[package]]
name = "fixedbitset"
version = "0.4.2"
@ -1647,12 +1520,6 @@ dependencies = [
"percent-encoding",
]
[[package]]
name = "funty"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
[[package]]
name = "futures"
version = "0.3.28"
@ -1876,12 +1743,6 @@ dependencies = [
"tracing",
]
[[package]]
name = "half"
version = "1.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
[[package]]
name = "hashbrown"
version = "0.11.2"
@ -1900,15 +1761,6 @@ dependencies = [
"ahash",
]
[[package]]
name = "hashlink"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69fe1fcf8b4278d860ad0548329f892a3631fb63f82574df68275f34cdbe0ffa"
dependencies = [
"hashbrown 0.12.3",
]
[[package]]
name = "heck"
version = "0.3.3"
@ -1926,7 +1778,7 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
[[package]]
name = "hermes"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"anyhow",
"async-trait",
@ -1934,13 +1786,10 @@ dependencies = [
"axum-macros",
"base64 0.21.0",
"borsh",
"bs58",
"byteorder",
"dashmap",
"der 0.7.5",
"derive_more",
"env_logger 0.10.0",
"ethabi",
"futures",
"hex",
"humantime",
@ -1954,16 +1803,11 @@ dependencies = [
"pythnet-sdk",
"rand 0.8.5",
"reqwest",
"ring",
"rusqlite",
"secp256k1",
"serde",
"serde_arrays",
"serde_cbor",
"serde_json",
"serde_qs",
"serde_wormhole",
"sha256",
"sha3 0.10.8",
"solana-account-decoder",
"solana-client",
@ -1971,7 +1815,7 @@ dependencies = [
"structopt",
"strum",
"tokio",
"typescript-type-def",
"tower-http",
"wormhole-sdk",
]
@ -2083,6 +1927,12 @@ dependencies = [
"pin-project-lite 0.2.9",
]
[[package]]
name = "http-range-header"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29"
[[package]]
name = "httparse"
version = "1.8.0"
@ -2174,12 +2024,6 @@ dependencies = [
"cc",
]
[[package]]
name = "ident_case"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
[[package]]
name = "idna"
version = "0.2.3"
@ -2251,44 +2095,6 @@ dependencies = [
"version_check",
]
[[package]]
name = "impl-codec"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f"
dependencies = [
"parity-scale-codec",
]
[[package]]
name = "impl-rlp"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808"
dependencies = [
"rlp",
]
[[package]]
name = "impl-serde"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd"
dependencies = [
"serde",
]
[[package]]
name = "impl-trait-for-tuples"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb"
dependencies = [
"proc-macro2 1.0.56",
"quote 1.0.27",
"syn 1.0.109",
]
[[package]]
name = "indexmap"
version = "1.9.3"
@ -3068,17 +2874,6 @@ dependencies = [
"libsecp256k1-core 0.3.0",
]
[[package]]
name = "libsqlite3-sys"
version = "0.25.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29f835d03d717946d28b1d1ed632eb6f0e24a299388ee623d0c23118d3e8a7fa"
dependencies = [
"cc",
"pkg-config",
"vcpkg",
]
[[package]]
name = "libz-sys"
version = "1.1.9"
@ -3699,32 +3494,6 @@ dependencies = [
"stable_deref_trait",
]
[[package]]
name = "parity-scale-codec"
version = "3.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ddb756ca205bd108aee3c62c6d3c994e1df84a59b9d6d4a5ea42ee1fd5a9a28"
dependencies = [
"arrayvec 0.7.2",
"bitvec",
"byte-slice-cast",
"impl-trait-for-tuples",
"parity-scale-codec-derive",
"serde",
]
[[package]]
name = "parity-scale-codec-derive"
version = "3.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86b26a931f824dd4eca30b3e43bb4f31cd5f0d3a403c5f5ff27106b805bfde7b"
dependencies = [
"proc-macro-crate 1.3.1",
"proc-macro2 1.0.56",
"quote 1.0.27",
"syn 1.0.109",
]
[[package]]
name = "parity-send-wrapper"
version = "0.1.0"
@ -3923,7 +3692,7 @@ version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0"
dependencies = [
"der 0.5.1",
"der",
"spki",
"zeroize",
]
@ -3979,19 +3748,6 @@ version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
[[package]]
name = "primitive-types"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66"
dependencies = [
"fixed-hash",
"impl-codec",
"impl-rlp",
"impl-serde",
"uint",
]
[[package]]
name = "proc-macro-crate"
version = "0.1.5"
@ -4276,12 +4032,6 @@ dependencies = [
"proc-macro2 1.0.56",
]
[[package]]
name = "radium"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
[[package]]
name = "rand"
version = "0.7.3"
@ -4526,16 +4276,6 @@ dependencies = [
"winapi",
]
[[package]]
name = "rlp"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec"
dependencies = [
"bytes",
"rustc-hex",
]
[[package]]
name = "rpassword"
version = "6.0.1"
@ -4563,32 +4303,12 @@ dependencies = [
"thiserror",
]
[[package]]
name = "rusqlite"
version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "01e213bc3ecb39ac32e81e51ebe31fd888a940515173e3a18a35f8c6e896422a"
dependencies = [
"bitflags",
"fallible-iterator",
"fallible-streaming-iterator",
"hashlink",
"libsqlite3-sys",
"smallvec",
]
[[package]]
name = "rustc-hash"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
[[package]]
name = "rustc-hex"
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6"
[[package]]
name = "rustc_version"
version = "0.3.3"
@ -4850,15 +4570,6 @@ dependencies = [
"serde_derive",
]
[[package]]
name = "serde_arrays"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38636132857f68ec3d5f3eb121166d2af33cb55174c4d5ff645db6165cbef0fd"
dependencies = [
"serde",
]
[[package]]
name = "serde_bytes"
version = "0.11.9"
@ -4868,16 +4579,6 @@ dependencies = [
"serde",
]
[[package]]
name = "serde_cbor"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5"
dependencies = [
"half",
"serde",
]
[[package]]
name = "serde_derive"
version = "1.0.163"
@ -5028,16 +4729,6 @@ dependencies = [
"digest 0.10.6",
]
[[package]]
name = "sha256"
version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f9f8b5de2bac3a4ae28e9b611072a8e326d9b26c8189c0972d4c321fa684f1f"
dependencies = [
"hex",
"sha2 0.10.6",
]
[[package]]
name = "sha3"
version = "0.9.1"
@ -5756,7 +5447,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27"
dependencies = [
"base64ct",
"der 0.5.1",
"der",
]
[[package]]
@ -5971,12 +5662,6 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417"
[[package]]
name = "tap"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
[[package]]
name = "tempfile"
version = "3.5.0"
@ -6091,15 +5776,6 @@ dependencies = [
"zeroize",
]
[[package]]
name = "tiny-keccak"
version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
dependencies = [
"crunchy",
]
[[package]]
name = "tinyvec"
version = "1.6.0"
@ -6261,6 +5937,24 @@ dependencies = [
"tracing",
]
[[package]]
name = "tower-http"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d1d42a9b3f3ec46ba828e8d376aec14592ea199f70a06a548587ecd1c4ab658"
dependencies = [
"bitflags",
"bytes",
"futures-core",
"futures-util",
"http",
"http-body",
"http-range-header",
"pin-project-lite 0.2.9",
"tower-layer",
"tower-service",
]
[[package]]
name = "tower-layer"
version = "0.3.2"
@ -6408,29 +6102,6 @@ version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
[[package]]
name = "typescript-type-def"
version = "0.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4e6b74ffbd5684d318252bb7182051df8c4ecc098b542f63fddf792e7f42aa02"
dependencies = [
"typescript-type-def-derive",
]
[[package]]
name = "typescript-type-def-derive"
version = "0.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b10a4f5dd87c279f90beef31edb7055bfd1ceb66e73148de107a5c9005e9f864"
dependencies = [
"darling",
"ident_case",
"proc-macro-error",
"proc-macro2 1.0.56",
"quote 1.0.27",
"syn 1.0.109",
]
[[package]]
name = "ucd-trie"
version = "0.1.5"
@ -7028,15 +6699,6 @@ dependencies = [
"thiserror",
]
[[package]]
name = "wyz"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
dependencies = [
"tap",
]
[[package]]
name = "x25519-dalek"
version = "1.2.0"

View File

@ -1,41 +1,24 @@
[package]
name = "hermes"
version = "0.1.1"
version = "0.1.2"
edition = "2021"
[dependencies]
anyhow = { version = "1.0.69" }
async-trait = { version = "0.1.68" }
axum = { version = "0.6.9", features = ["json", "ws", "macros"] }
axum-macros = { version = "0.3.4" }
anyhow = { version = "1.0.69" }
base64 = { version = "0.21.0" }
borsh = { version = "0.9.0" }
bs58 = { version = "0.4.0" }
byteorder = { version = "1.4.3" }
dashmap = { version = "5.4.0" }
der = { version = "0.7.0" }
derive_more = { version = "0.99.17" }
env_logger = { version = "0.10.0" }
futures = { version = "0.3.28" }
hex = { version = "0.4.3" }
rand = { version = "0.8.5" }
reqwest = { version = "0.11.14", features = ["blocking", "json"] }
ring = { version = "0.16.20" }
rusqlite = { version = "0.28.0", features = ["bundled"] }
humantime = { version = "2.1.0" }
lazy_static = { version = "1.4.0" }
libc = { version = "0.2.140" }
pyth-sdk = { version = "0.7.0" }
secp256k1 = { version = "0.26.0", features = ["rand", "recovery", "serde"] }
serde = { version = "1.0.152", features = ["derive"] }
serde_arrays = { version = "0.1.0" }
serde_cbor = { version = "0.11.2" }
serde_json = { version = "1.0.93" }
sha256 = { version = "1.1.2" }
structopt = { version = "0.3.26" }
tokio = { version = "1.26.0", features = ["full"] }
typescript-type-def = { version = "0.5.5" }
log = { version = "0.4.17" }
# Parse Wormhole attester price attestations.
pythnet-sdk = { path = "../pythnet/pythnet_sdk/", version = "=1.13.6" }
# Setup LibP2P. Unfortunately the dependencies required by libp2p are shared
# with the dependencies required by solana's geyser plugin. This means that we
@ -51,26 +34,38 @@ libp2p = { version = "0.42.2", features = [
"yamux",
]}
async-trait = "0.1.68"
log = { version = "0.4.17" }
moka = { version = "0.11.0", features = ["future"] }
pyth-sdk = { version = "0.7.0" }
# Parse Wormhole attester price attestations.
pythnet-sdk = { path = "../pythnet/pythnet_sdk/", version = "=1.13.6" }
rand = { version = "0.8.5" }
reqwest = { version = "0.11.14", features = ["blocking", "json"] }
secp256k1 = { version = "0.26.0", features = ["rand", "recovery", "serde"] }
serde = { version = "1.0.152", features = ["derive"] }
serde_json = { version = "1.0.93" }
serde_qs = { version = "0.12.0", features = ["axum"] }
serde_wormhole = { git = "https://github.com/wormhole-foundation/wormhole", tag = "v2.17.1" }
sha3 = { version = "0.10.4" }
# We around bound to this version because of pyth-oracle
solana-client = "=1.13.3"
solana-sdk = "=1.13.3"
solana-account-decoder = "=1.13.3"
solana-client = { version = "=1.13.3" }
solana-sdk = { version = "=1.13.3" }
solana-account-decoder = { version = "=1.13.3" }
moka = { version = "0.11.0", features = ["future"] }
byteorder = "1.4.3"
serde_qs = { version = "0.12.0", features = ["axum"] }
serde_wormhole = { git = "https://github.com/wormhole-foundation/wormhole", tag = "v2.17.1"}
structopt = { version = "0.3.26" }
strum = { version = "0.24.1", features = ["derive"] }
tokio = { version = "1.26.0", features = ["full"] }
tower-http = { version = "0.4.0", features = ["cors"] }
wormhole-sdk = { git = "https://github.com/wormhole-foundation/wormhole", tag = "v2.17.1" }
pyth-oracle = { git = "https://github.com/pyth-network/pyth-client", rev = "1bdac0d2ee39a5a9f27eb86e4fd01229bd68aa5a" , features = ["library", "strum", "serde"] }
strum = { version = "0.24", features = ["derive"] }
ethabi = { version = "18.0.0", features = ["serde"] }
sha3 = "0.10.4"
humantime = "2.1.0"
# Oracle message types
[dependencies.pyth-oracle]
git = "https://github.com/pyth-network/pyth-client"
rev = "1bdac0d2ee39a5a9f27eb86e4fd01229bd68aa5a"
features = ["library", "strum", "serde"]
[patch.crates-io]
serde_wormhole = { git = "https://github.com/wormhole-foundation/wormhole", tag = "v2.17.1" }

View File

@ -11,6 +11,7 @@ use {
signal,
sync::mpsc::Receiver,
},
tower_http::cors::CorsLayer,
};
mod rest;
@ -52,7 +53,8 @@ pub async fn run(store: Arc<Store>, mut update_rx: Receiver<()>, rpc_addr: Strin
.route("/api/get_vaa", get(rest::get_vaa))
.route("/api/get_vaa_ccip", get(rest::get_vaa_ccip))
.route("/api/price_feed_ids", get(rest::price_feed_ids))
.with_state(state.clone());
.with_state(state.clone())
.layer(CorsLayer::permissive()); // Permissive CORS layer to allow all origins
// Call dispatch updates to websocket every 1 seconds