@@ -513,9 +513,9 @@ pub mod pallet {
513513 let mut base_decimals_adjustment = None ;
514514 let mut quote_decimals_adjustment = None ;
515515 if base_decimals > quote_decimals {
516- base_decimals_adjustment = Some ( base_decimals - quote_decimals) ;
516+ quote_decimals_adjustment = Some ( base_decimals - quote_decimals) ;
517517 } else if base_decimals < quote_decimals {
518- quote_decimals_adjustment = Some ( quote_decimals - base_decimals) ;
518+ base_decimals_adjustment = Some ( quote_decimals - base_decimals) ;
519519 }
520520
521521 if T :: Assets :: should_touch ( * base_asset. clone ( ) , & pool_account) {
@@ -917,6 +917,7 @@ pub mod pallet {
917917 T :: PalletId :: get ( ) . into_account_truncating ( )
918918 }
919919
920+ // TODO: Benchmark
920921 pub fn get_pool_query (
921922 base_asset : & T :: AssetKind ,
922923 quote_asset : & T :: AssetKind ,
@@ -1094,10 +1095,10 @@ pub mod pallet {
10941095 quantity : T :: Unit ,
10951096 ) -> DispatchResult {
10961097 if is_bid {
1097- // Freeze the `price*quantity* amount of `quote_asset`
1098- Self :: freeze_asset ( maker, quote_asset, price * quantity) ?;
1098+ Self :: freeze_asset ( maker, quote_asset, ( price* quantity) . denom (
1099+ pool. pool_decimals . unwrap_or ( 0 ) + pool. quote_adjustment . unwrap_or ( 0 )
1100+ ) ) ?;
10991101 } else {
1100- // Freeze the `quantity` amount of `base_asset`
11011102 Self :: freeze_asset ( maker, base_asset, quantity) ?;
11021103 }
11031104 let ( price, order_id) = pool
@@ -1323,6 +1324,7 @@ pub mod pallet {
13231324 quote_decimals_adjustment : Option < u8 > ,
13241325 ) -> Result < T :: Unit , Error < T > > {
13251326 let ( base_reserve, quote_reserve) = Self :: get_reserves ( base_asset, quote_asset) ?;
1327+
13261328 Ok (
13271329 Self :: quote (
13281330 & One :: one ( ) ,
0 commit comments