Skip to content

Commit 31adb59

Browse files
committed
Use more realistic values in Rust.
1 parent b56465d commit 31adb59

File tree

2 files changed

+22
-18
lines changed

2 files changed

+22
-18
lines changed

rust/crates/report/src/report.rs

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ pub fn decode_full_report(payload: &[u8]) -> Result<(Vec<[u8; 32]>, Vec<u8>), Re
125125
mod tests {
126126
use super::*;
127127
use crate::report::{v1::ReportDataV1, v2::ReportDataV2, v3::ReportDataV3, v4::ReportDataV4, v5::ReportDataV5, v6::ReportDataV6, v7::ReportDataV7, v8::ReportDataV8, v9::ReportDataV9, v10::ReportDataV10, v13::ReportDataV13};
128-
use num_bigint::BigInt;
128+
use num_bigint::{BigInt};
129129

130130
const V1_FEED_ID: ID = ID([
131131
0, 1, 107, 74, 167, 229, 124, 167, 182, 138, 225, 191, 69, 101, 63, 86, 182, 86, 253, 58,
@@ -358,18 +358,20 @@ mod tests {
358358
}
359359

360360
pub fn generate_mock_report_data_v13() -> ReportDataV13 {
361+
let multiplier: BigInt = "1000000000000000000".parse::<BigInt>().unwrap(); // 1.0 with 18 decimals
362+
361363
let report_data = ReportDataV13 {
362364
feed_id: V13_FEED_ID,
363365
valid_from_timestamp: MOCK_TIMESTAMP,
364366
observations_timestamp: MOCK_TIMESTAMP,
365367
native_fee: BigInt::from(MOCK_FEE),
366368
link_fee: BigInt::from(MOCK_FEE),
367369
expires_at: MOCK_TIMESTAMP + 100,
368-
best_ask: BigInt::from(MOCK_BEST_ASK),
369-
best_bid: BigInt::from(MOCK_BEST_BID),
370+
best_ask: BigInt::from(MOCK_BEST_ASK).checked_mul(&multiplier).unwrap(),
371+
best_bid: BigInt::from(MOCK_BEST_BID).checked_mul(&multiplier).unwrap(),
370372
ask_volume: MOCK_ASK_VOLUME,
371373
bid_volume: MOCK_BID_VOLUME,
372-
last_traded_price: BigInt::from(MOCK_LAST_TRADED_PRICE),
374+
last_traded_price: BigInt::from(MOCK_LAST_TRADED_PRICE).checked_mul(&multiplier).unwrap(),
373375
};
374376

375377
report_data
@@ -735,17 +737,17 @@ mod tests {
735737
let (_report_context, report_blob) = decode_full_report(&report).unwrap();
736738

737739
let expected_report_blob = vec![
738-
"000d13a9b9c5e37a099f374e92c37914af5c268f3a8a9721f1725135bfb4cbb8",
739-
"0000000000000000000000000000000000000000000000000000000066741d8c",
740-
"0000000000000000000000000000000000000000000000000000000066741d8c",
741-
"000000000000000000000000000000000000000000000000000000000000000a",
742-
"000000000000000000000000000000000000000000000000000000000000000a",
743-
"0000000000000000000000000000000000000000000000000000000066741df0",
744-
"00000000000000000000000000000000000000000000000000000000000000e3",
745-
"00000000000000000000000000000000000000000000000000000000000000e5",
746-
"00000000000000000000000000000000000000000000000000000000000005dc",
747-
"00000000000000000000000000000000000000000000000000000000000004b0",
748-
"00000000000000000000000000000000000000000000000000000000000000e4",
740+
"000d13a9b9c5e37a099f374e92c37914af5c268f3a8a9721f1725135bfb4cbb8", // feed_id
741+
"0000000000000000000000000000000000000000000000000000000066741d8c", // valid_from_timestamp
742+
"0000000000000000000000000000000000000000000000000000000066741d8c", // observations_timestamp
743+
"000000000000000000000000000000000000000000000000000000000000000a", // native_fee
744+
"000000000000000000000000000000000000000000000000000000000000000a", // link_fee
745+
"0000000000000000000000000000000000000000000000000000000066741df0", // expires_at
746+
"00000000000000000000000000000000000000000000000c4e42014d6dac0000", // best_ask: 227 * 10^18
747+
"00000000000000000000000000000000000000000000000c6a036eb4bc740000", // best_bid: 229 * 10^18
748+
"00000000000000000000000000000000000000000000000000000000000005dc", // ask_volume: 1500
749+
"00000000000000000000000000000000000000000000000000000000000004b0", // bid_volume: 1200
750+
"00000000000000000000000000000000000000000000000c5c22b80115100000", // last_traded_price: 228 * 10^18
749751
];
750752

751753
let expected = bytes(&format!("0x{}", expected_report_blob.join("")));

rust/crates/report/src/report/v13.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,18 +141,20 @@ mod tests {
141141

142142
#[test]
143143
fn test_decode_report_data_v13() {
144+
let multiplier: BigInt = "1000000000000000000".parse::<BigInt>().unwrap(); // 1.0 with 18 decimals
145+
144146
let report_data = generate_mock_report_data_v13();
145147
let encoded = report_data.abi_encode().unwrap();
146148
let decoded = ReportDataV13::decode(&encoded).unwrap();
147149

148150
let expected_feed_id = ID::from_hex_str(V13_FEED_ID_STR).unwrap();
149151
let expected_timestamp: u32 = MOCK_TIMESTAMP;
150152
let expected_fee = BigInt::from(MOCK_FEE);
151-
let expected_best_ask = BigInt::from(MOCK_BEST_ASK);
152-
let expected_best_bid = BigInt::from(MOCK_BEST_BID);
153+
let expected_best_ask = BigInt::from(MOCK_BEST_ASK).checked_mul(&multiplier).unwrap();
154+
let expected_best_bid = BigInt::from(MOCK_BEST_BID).checked_mul(&multiplier).unwrap();
153155
let expected_ask_volume: u64 = MOCK_ASK_VOLUME;
154156
let expected_bid_volume: u64 = MOCK_BID_VOLUME;
155-
let expected_last_traded_price = BigInt::from(MOCK_LAST_TRADED_PRICE);
157+
let expected_last_traded_price = BigInt::from(MOCK_LAST_TRADED_PRICE).checked_mul(&multiplier).unwrap();
156158

157159
assert_eq!(decoded.feed_id, expected_feed_id);
158160
assert_eq!(decoded.valid_from_timestamp, expected_timestamp);

0 commit comments

Comments
 (0)