@@ -125,7 +125,7 @@ pub fn decode_full_report(payload: &[u8]) -> Result<(Vec<[u8; 32]>, Vec<u8>), Re
125125mod 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( "" ) ) ) ;
0 commit comments