Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 0 additions & 75 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions oracle/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"] }
4 changes: 2 additions & 2 deletions oracle/src/price_loop.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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"]);
Expand Down
44 changes: 0 additions & 44 deletions oracle/src/signing.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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<u8> {
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(&timestamp.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,
Expand All @@ -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)
}

Expand Down
2 changes: 1 addition & 1 deletion shared/config/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down