1
+ import 'package:logging/logging.dart' show Logger;
1
2
import 'package:rational/rational.dart' ;
2
3
import 'package:web_dex/app_config/app_config.dart' ;
3
4
import 'package:web_dex/mm2/mm2_api/mm2_api.dart' ;
4
5
import 'package:web_dex/mm2/mm2_api/rpc/base.dart' ;
5
6
import 'package:web_dex/mm2/mm2_api/rpc/best_orders/best_orders.dart' ;
6
7
import 'package:web_dex/mm2/mm2_api/rpc/best_orders/best_orders_request.dart' ;
7
- import 'package:web_dex/mm2/mm2_api/rpc/setprice/setprice_request.dart' ;
8
8
import 'package:web_dex/mm2/mm2_api/rpc/max_taker_vol/max_taker_vol_request.dart' ;
9
9
import 'package:web_dex/mm2/mm2_api/rpc/max_taker_vol/max_taker_vol_response.dart' ;
10
10
import 'package:web_dex/mm2/mm2_api/rpc/min_trading_vol/min_trading_vol.dart' ;
@@ -13,6 +13,7 @@ import 'package:web_dex/mm2/mm2_api/rpc/my_recent_swaps/my_recent_swaps_request.
13
13
import 'package:web_dex/mm2/mm2_api/rpc/my_swap_status/my_swap_status_req.dart' ;
14
14
import 'package:web_dex/mm2/mm2_api/rpc/sell/sell_request.dart' ;
15
15
import 'package:web_dex/mm2/mm2_api/rpc/sell/sell_response.dart' ;
16
+ import 'package:web_dex/mm2/mm2_api/rpc/setprice/setprice_request.dart' ;
16
17
import 'package:web_dex/mm2/mm2_api/rpc/trade_preimage/trade_preimage_errors.dart' ;
17
18
import 'package:web_dex/mm2/mm2_api/rpc/trade_preimage/trade_preimage_request.dart' ;
18
19
import 'package:web_dex/mm2/mm2_api/rpc/trade_preimage/trade_preimage_response.dart' ;
@@ -21,12 +22,13 @@ import 'package:web_dex/model/swap.dart';
21
22
import 'package:web_dex/model/text_error.dart' ;
22
23
import 'package:web_dex/model/trade_preimage.dart' ;
23
24
import 'package:web_dex/services/mappers/trade_preimage_mappers.dart' ;
24
- import 'package:web_dex/shared/utils/utils.dart' ;
25
+ import 'package:web_dex/shared/utils/utils.dart' show fract2rat ;
25
26
26
27
class DexRepository {
27
28
DexRepository (this ._mm2Api);
28
29
29
30
final Mm2Api _mm2Api;
31
+ final _log = Logger ('DexRepository' );
30
32
31
33
Future <SellResponse > sell (SellRequest request) async {
32
34
try {
@@ -37,17 +39,27 @@ class DexRepository {
37
39
}
38
40
}
39
41
40
- Future <Map < String , dynamic >? > setPrice (SetPriceRequest request) async {
42
+ Future <String > setPrice (SetPriceRequest request) async {
41
43
try {
42
- return await _mm2Api.setprice (request);
44
+ final Map <String , dynamic >? response = await _mm2Api.setprice (request);
45
+ if (response == null ) {
46
+ throw Exception ('Null response from setprice' );
47
+ }
48
+
49
+ final Object ? error = response['error' ];
50
+ if (error != null ) {
51
+ throw Exception (error.toString ());
52
+ }
53
+
54
+ final String ? uuid = response['result' ]? ['uuid' ] as String ? ;
55
+ if (uuid == null ) {
56
+ throw Exception ('Missing uuid in setprice response' );
57
+ }
58
+
59
+ return uuid;
43
60
} catch (e, s) {
44
- log (
45
- 'Error setprice ${request .base }/${request .rel }: $e ' ,
46
- path: 'dex_repository => setPrice' ,
47
- trace: s,
48
- isError: true ,
49
- ).ignore ();
50
- return < String , dynamic > {'error' : e.toString ()};
61
+ _log.severe ('Error setprice ${request .base }/${request .rel }' , e, s);
62
+ rethrow ;
51
63
}
52
64
}
53
65
@@ -89,12 +101,10 @@ class DexRepository {
89
101
),
90
102
);
91
103
} catch (e, s) {
92
- log (
93
- e.toString (),
94
- path:
95
- 'swaps_service => getTradePreimage => mapTradePreimageResponseToTradePreimage' ,
96
- trace: s,
97
- isError: true ,
104
+ _log.severe (
105
+ 'swaps_service => getTradePreimage => mapTradePreimageResponseToTradePreimage' ,
106
+ e,
107
+ s,
98
108
);
99
109
return DataFromService (error: TextError (error: 'Something wrong' ));
100
110
}
@@ -148,7 +158,7 @@ class DexRepository {
148
158
try {
149
159
return BestOrders .fromJson (response! );
150
160
} catch (e, s) {
151
- log ('Error parsing best_orders response: $ e ' , trace : s, isError : true );
161
+ _log. severe ('Error parsing best_orders response' , e, s );
152
162
153
163
return BestOrders (
154
164
error: TextError (
0 commit comments