@@ -28,6 +28,7 @@ export class OrdersController extends BaseApiController {
2828 private swaps ( request : express . Request , response : express . Response ) {
2929 const {
3030 pubKeyHashes,
31+ stakeKeyHashes,
3132 } = request . body ;
3233 const {
3334 poolIdentifier,
@@ -44,7 +45,7 @@ export class OrdersController extends BaseApiController {
4445 ? ( token as string ) . split ( '.' )
4546 : [ null , null ] ;
4647
47- if ( pubKeyHashes . length === 0 ) {
48+ if ( ! pubKeyHashes && ! stakeKeyHashes ) {
4849 response . send ( super . formatPaginatedResponse (
4950 Number ( page ?? 1 ) ,
5051 Number ( limit ?? MAX_PER_PAGE ) ,
@@ -69,9 +70,24 @@ export class OrdersController extends BaseApiController {
6970 operationType : LiquidityPoolSwap . name ,
7071 }
7172 )
72- . where ( 'swaps.senderPubKeyHash IN(:...hashes)' , { hashes : pubKeyHashes } )
7373 . andWhere (
7474 new Brackets ( ( query ) => {
75+ query . andWhere (
76+ new Brackets ( ( query1 ) => {
77+ if ( pubKeyHashes && pubKeyHashes . length > 0 ) {
78+ query1 . orWhere ( 'swaps.senderPubKeyHash IN(:...pkHashes)' , {
79+ pkHashes : pubKeyHashes ,
80+ } ) ;
81+ }
82+
83+ if ( stakeKeyHashes && stakeKeyHashes . length > 0 ) {
84+ query1 . orWhere ( 'swaps.senderStakeKeyHash IN(:...skHashes)' , {
85+ skHashes : stakeKeyHashes ,
86+ } ) ;
87+ }
88+ } )
89+ ) ;
90+
7591 if ( poolIdentifier ) {
7692 query . andWhere ( 'liquidityPool.identifier = :identifier' , {
7793 identifier : poolIdentifier ,
@@ -131,6 +147,7 @@ export class OrdersController extends BaseApiController {
131147 private deposits ( request : express . Request , response : express . Response ) {
132148 const {
133149 pubKeyHashes,
150+ stakeKeyHashes,
134151 } = request . body ;
135152 const {
136153 poolIdentifier,
@@ -146,7 +163,7 @@ export class OrdersController extends BaseApiController {
146163 ? ( token as string ) . split ( '.' )
147164 : [ null , null ] ;
148165
149- if ( pubKeyHashes . length === 0 ) {
166+ if ( ! pubKeyHashes && ! stakeKeyHashes ) {
150167 response . send ( super . formatPaginatedResponse (
151168 Number ( page ?? 1 ) ,
152169 Number ( limit ?? MAX_PER_PAGE ) ,
@@ -171,7 +188,6 @@ export class OrdersController extends BaseApiController {
171188 operationType : LiquidityPoolDeposit . name ,
172189 }
173190 )
174- . where ( 'deposits.senderPubKeyHash IN(:...hashes)' , { hashes : pubKeyHashes } )
175191 . andWhere (
176192 new Brackets ( ( query ) => {
177193 if ( poolIdentifier ) {
@@ -180,6 +196,18 @@ export class OrdersController extends BaseApiController {
180196 } ) ;
181197 }
182198
199+ if ( pubKeyHashes && pubKeyHashes . length > 0 ) {
200+ query . andWhere ( 'deposits.senderPubKeyHash IN(:...pkHashes)' , {
201+ pkHashes : pubKeyHashes ,
202+ } ) ;
203+ }
204+
205+ if ( stakeKeyHashes && stakeKeyHashes . length > 0 ) {
206+ query . andWhere ( 'deposits.senderStakeKeyHash IN(:...skHashes)' , {
207+ skHashes : stakeKeyHashes ,
208+ } ) ;
209+ }
210+
183211 if ( policyId && nameHex ) {
184212 query . andWhere ( new Brackets ( ( query1 ) => {
185213 query1 . where ( 'depositAToken.policyId = :policyId' , {
@@ -218,6 +246,7 @@ export class OrdersController extends BaseApiController {
218246 private withdraws ( request : express . Request , response : express . Response ) {
219247 const {
220248 pubKeyHashes,
249+ stakeKeyHashes,
221250 } = request . body ;
222251 const {
223252 poolIdentifier,
@@ -228,7 +257,7 @@ export class OrdersController extends BaseApiController {
228257 const take : number = Math . min ( Number ( ( limit ? + limit : undefined ) || MAX_PER_PAGE ) , MAX_PER_PAGE ) ;
229258 const skip : number = ( Math . max ( Number ( ( page ? + page : undefined ) || 1 ) , 1 ) - 1 ) * take ;
230259
231- if ( pubKeyHashes . length === 0 ) {
260+ if ( ! pubKeyHashes && ! stakeKeyHashes ) {
232261 response . send ( super . formatPaginatedResponse (
233262 Number ( page ?? 1 ) ,
234263 Number ( limit ?? MAX_PER_PAGE ) ,
@@ -252,7 +281,6 @@ export class OrdersController extends BaseApiController {
252281 operationType : LiquidityPoolWithdraw . name ,
253282 }
254283 )
255- . where ( 'withdraws.senderPubKeyHash IN(:...hashes)' , { hashes : pubKeyHashes } )
256284 . andWhere (
257285 new Brackets ( ( query ) => {
258286 if ( poolIdentifier ) {
@@ -261,6 +289,18 @@ export class OrdersController extends BaseApiController {
261289 } ) ;
262290 }
263291
292+ if ( pubKeyHashes && pubKeyHashes . length > 0 ) {
293+ query . andWhere ( 'withdraws.senderPubKeyHash IN(:...pkHashes)' , {
294+ pkHashes : pubKeyHashes ,
295+ } ) ;
296+ }
297+
298+ if ( stakeKeyHashes && stakeKeyHashes . length > 0 ) {
299+ query . andWhere ( 'withdraws.senderStakeKeyHash IN(:...skHashes)' , {
300+ skHashes : stakeKeyHashes ,
301+ } ) ;
302+ }
303+
264304 return query ;
265305 } ) ,
266306 )
0 commit comments