diff --git a/Cargo.lock b/Cargo.lock index 68285a0..70ac3e5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -663,21 +663,6 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - [[package]] name = "form_urlencoded" version = "1.2.2" @@ -1544,59 +1529,12 @@ version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" -[[package]] -name = "openssl" -version = "0.10.79" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf0b434746ee2832f4f0baf10137e1cabb18cbe6912c69e2e33263c45250f542" -dependencies = [ - "bitflags 2.11.1", - "cfg-if", - "foreign-types", - "libc", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "openssl-probe" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" -[[package]] -name = "openssl-src" -version = "300.6.1+3.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46eb8fb9fb3b61ce1c0f8a026c4c1a0714d3a9e138e7fbde78753ce2babc3846" -dependencies = [ - "cc", -] - -[[package]] -name = "openssl-sys" -version = "0.9.115" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "158fe5b292746440aa6e7a7e690e55aeb72d41505e2804c23c6973ad0e9c9781" -dependencies = [ - "cc", - "libc", - "openssl-src", - "pkg-config", - "vcpkg", -] - [[package]] name = "oracle" version = "0.1.0" @@ -1608,7 +1546,6 @@ dependencies = [ "ed25519-dalek", "futures", "hex", - "openssl", "reqwest 0.11.27", "reqwest 0.13.4", "serde", @@ -1701,12 +1638,6 @@ dependencies = [ "spki", ] -[[package]] -name = "pkg-config" -version = "0.3.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" - [[package]] name = "potential_utf" version = "0.1.5" @@ -3020,12 +2951,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - [[package]] name = "version_check" version = "0.9.5" diff --git a/oracle/Cargo.toml b/oracle/Cargo.toml index 373c946..bef3376 100644 --- a/oracle/Cargo.toml +++ b/oracle/Cargo.toml @@ -40,6 +40,6 @@ digest = "0.10" futures = "0.3" wiremock = "0.6" tokio = { version = "1", features = ["full"] } -reqwest = { version = "0.11", default-features = false, features = ["json", "rustls-tls"] } -openssl = { version = "0.10", features = ["vendored"] } +reqwest_dev = { package = "reqwest", version = "0.11", default-features = false, features = ["json", "rustls-tls"] } + tower = { version = "0.5", features = ["util"] } diff --git a/oracle/src/price_loop.rs b/oracle/src/price_loop.rs index 71345e9..357b8d8 100644 --- a/oracle/src/price_loop.rs +++ b/oracle/src/price_loop.rs @@ -328,8 +328,8 @@ mod tests { assert_eq!(cached.token_address, "CBAN5YU3KRDKPTQ2H76D6S7HQFPRBGUD524F65BUM2RQCITPTRLKWKES"); assert_eq!(cached.symbol, "TUSDC"); assert_eq!(cached.display_symbol, "USDC"); - assert_eq!(cached.min, 1_000_000_000_000_000_000_000_000_000_000); - assert_eq!(cached.max, 1_000_000_000_000_000_000_000_000_000_000); + assert_eq!(cached.min, 990_000_000_000_000_000_000_000_000_000); + assert_eq!(cached.max, 1_010_000_000_000_000_000_000_000_000_000); assert_eq!(cached.median, 1_000_000_000_000_000_000_000_000_000_000); assert_eq!(cached.ledger_seq, 123); assert_eq!(cached.sources_used, vec!["fixed"]); diff --git a/oracle/src/signing.rs b/oracle/src/signing.rs index 785df67..a66d462 100644 --- a/oracle/src/signing.rs +++ b/oracle/src/signing.rs @@ -45,36 +45,6 @@ pub fn build_price_message( } /// Sign a price update message using the ed25519 keeper key. -/// -/// Layout: `network_passphrase || ledger_seq || token_strkey || min || max || timestamp` -/// -/// Data types: -/// - `network_passphrase`: UTF-8 bytes -/// - `ledger_seq`: u32 Big-Endian -/// - `token_strkey`: UTF-8 bytes -/// - `min`: i128 Big-Endian -/// - `max`: i128 Big-Endian -/// - `timestamp`: u64 Big-Endian -pub fn build_price_message( - network_passphrase: &str, - ledger_seq: u32, - token_strkey: &str, - min: i128, - max: i128, - timestamp: u64, -) -> Vec { - let mut payload = Vec::new(); - payload.extend_from_slice(network_passphrase.as_bytes()); - payload.extend_from_slice(&ledger_seq.to_be_bytes()); - payload.extend_from_slice(token_strkey.as_bytes()); - payload.extend_from_slice(&min.to_be_bytes()); - payload.extend_from_slice(&max.to_be_bytes()); - payload.extend_from_slice(×tamp.to_be_bytes()); - payload -} - -/// Sign a price update message using the ed25519 keeper key. - //Fix size implementation for i128 and u64 to ensure correct byte representation pub fn sign_price( private_key_hex: &str, @@ -96,20 +66,6 @@ pub fn sign_price( let payload = build_price_message(network_passphrase, ledger_seq, token_strkey, min, max, timestamp); let signature = signing_key.sign(&payload); - Ok(signature) - // 2. Construct the byte layout - let payload = build_price_message( - network_passphrase, - ledger_seq, - token_strkey, - min, - max, - timestamp, - ); - - // 3. Sign the payload - let signature = signing_key.sign(&payload); - Ok(signature) } diff --git a/shared/config/src/lib.rs b/shared/config/src/lib.rs index a7a6158..d96d04b 100644 --- a/shared/config/src/lib.rs +++ b/shared/config/src/lib.rs @@ -89,7 +89,7 @@ impl TokenConfig { // ── Loading helpers ────────────────────────────────────────────────────────── /// Error type for configuration loading. -#[derive(Debug)] +#[derive(Debug, PartialEq, Eq)] pub enum ConfigError { /// The `PRICE_FEED_CONFIG` env var is missing. MissingEnvVar,