@@ -88,7 +88,7 @@ export function useUserPositionsTotalShares(
88
88
const lcdClient = useLcdClient ( ) ;
89
89
const selectedPoolDeposits = useUserDeposits ( poolDepositFilter ) || [ ] ;
90
90
91
- return useQueries ( {
91
+ const { data } = useQueries ( {
92
92
queries : [
93
93
...selectedPoolDeposits . flatMap (
94
94
( { pairID : { token0, token1 } = { } , centerTickIndex, fee } ) => {
@@ -107,7 +107,15 @@ export function useUserPositionsTotalShares(
107
107
}
108
108
) ,
109
109
] ,
110
+ combine ( results ) {
111
+ return {
112
+ data : results . map ( ( result ) => result . data ) ,
113
+ pending : results . some ( ( result ) => result . isPending ) ,
114
+ } ;
115
+ } ,
110
116
} ) ;
117
+
118
+ return data ;
111
119
}
112
120
113
121
// select a single token pair of user shares
@@ -135,7 +143,7 @@ export function useUserPositionsTotalReserves(
135
143
const lcdClient = useLcdClient ( ) ;
136
144
const selectedPoolDeposits = useUserDeposits ( poolDepositFilter ) || [ ] ;
137
145
138
- return useQueries ( {
146
+ const { data } = useQueries ( {
139
147
queries : [
140
148
...selectedPoolDeposits . flatMap (
141
149
( {
@@ -173,7 +181,15 @@ export function useUserPositionsTotalReserves(
173
181
}
174
182
) ,
175
183
] ,
184
+ combine ( results ) {
185
+ return {
186
+ data : results . map ( ( result ) => result . data ) ,
187
+ pending : results . some ( ( result ) => result . isPending ) ,
188
+ } ;
189
+ } ,
176
190
} ) ;
191
+
192
+ return data ;
177
193
}
178
194
179
195
export interface ShareValueContext {
@@ -207,15 +223,17 @@ export function useUserPositionsContext(
207
223
return useMemo < UserPositionDepositContext [ ] > ( ( ) => {
208
224
return ( selectedPoolDeposits || [ ] ) . flatMap < UserPositionDepositContext > (
209
225
( deposit ) => {
210
- const totalSharesResponse = userPositionsTotalShares . find (
211
- ( { data } ) => {
212
- return ! ! data ;
213
- }
214
- ) ;
226
+ const totalSharesResponse =
227
+ userPositionsTotalShares ?. find (
228
+ // todo: FIX
229
+ ( data ) => {
230
+ return ! ! data ;
231
+ }
232
+ ) ?? undefined ;
215
233
216
234
// find the upper and lower reserves that match this position
217
- const lowerReserveResponse = userPositionsTotalReserves . find (
218
- ( { data } ) => {
235
+ const lowerReserveResponse =
236
+ userPositionsTotalReserves ?. find ( ( data ) => {
219
237
return (
220
238
data ?. poolReserves ?. tokenIn === deposit . pairID ?. token0 &&
221
239
data ?. poolReserves ?. pairID ?. token0 === deposit . pairID ?. token0 &&
@@ -224,10 +242,9 @@ export function useUserPositionsContext(
224
242
deposit . lowerTickIndex . toString ( ) &&
225
243
data ?. poolReserves ?. fee . toString ( ) === deposit . fee . toString ( )
226
244
) ;
227
- }
228
- ) ;
229
- const upperReserveResponse = userPositionsTotalReserves . find (
230
- ( { data } ) => {
245
+ } ) ?? undefined ;
246
+ const upperReserveResponse =
247
+ userPositionsTotalReserves ?. find ( ( data ) => {
231
248
return (
232
249
data ?. poolReserves ?. tokenIn === deposit . pairID ?. token1 &&
233
250
data ?. poolReserves ?. pairID ?. token0 === deposit . pairID ?. token0 &&
@@ -236,8 +253,7 @@ export function useUserPositionsContext(
236
253
deposit . upperTickIndex . toString ( ) &&
237
254
data ?. poolReserves ?. fee . toString ( ) === deposit . fee . toString ( )
238
255
) ;
239
- }
240
- ) ;
256
+ } ) ?? undefined ;
241
257
const token0 = allTokens . find (
242
258
( token ) => token . address === deposit . pairID . token0
243
259
) ;
@@ -250,38 +266,36 @@ export function useUserPositionsContext(
250
266
const token0Context : ShareValueContext | undefined = deposit &&
251
267
totalSharesResponse &&
252
268
lowerReserveResponse && {
253
- token : lowerReserveResponse . data ?. poolReserves ?. tokenIn ?? '' ,
269
+ token : lowerReserveResponse . poolReserves ?. tokenIn ?? '' ,
254
270
tickIndex : new BigNumber (
255
- lowerReserveResponse . data ?. poolReserves ?. tickIndex . toString ( ) ??
256
- 0
271
+ lowerReserveResponse . poolReserves ?. tickIndex . toString ( ) ?? 0
257
272
) ,
258
273
userShares : new BigNumber ( deposit . sharesOwned ) ,
259
274
dexTotalShares : new BigNumber (
260
- totalSharesResponse ?. data ? .amount ?. amount ?? 0
275
+ totalSharesResponse . amount ?. amount ?? 0
261
276
) ,
262
277
// start with empty value, will be filled in next step
263
278
userReserves : new BigNumber ( 0 ) ,
264
279
dexTotalReserves : new BigNumber (
265
- lowerReserveResponse . data ?. poolReserves ?. reserves ?? 0
280
+ lowerReserveResponse . poolReserves ?. reserves ?? 0
266
281
) ,
267
282
} ;
268
283
269
284
const token1Context : ShareValueContext | undefined = deposit &&
270
285
totalSharesResponse &&
271
286
upperReserveResponse && {
272
- token : upperReserveResponse . data ?. poolReserves ?. tokenIn ?? '' ,
287
+ token : upperReserveResponse . poolReserves ?. tokenIn ?? '' ,
273
288
tickIndex : new BigNumber (
274
- upperReserveResponse . data ?. poolReserves ?. tickIndex . toString ( ) ??
275
- 0
289
+ upperReserveResponse . poolReserves ?. tickIndex . toString ( ) ?? 0
276
290
) ,
277
291
userShares : new BigNumber ( deposit . sharesOwned ) ,
278
292
dexTotalShares : new BigNumber (
279
- totalSharesResponse ?. data ?. amount ?. amount ?? 0
293
+ totalSharesResponse ?. amount ?. amount ?? 0
280
294
) ,
281
295
// start with empty value, will be filled in next step
282
296
userReserves : new BigNumber ( 0 ) ,
283
297
dexTotalReserves : new BigNumber (
284
- upperReserveResponse . data ?. poolReserves ?. reserves ?? 0
298
+ upperReserveResponse . poolReserves ?. reserves ?? 0
285
299
) ,
286
300
} ;
287
301
return [
0 commit comments