@@ -44,6 +44,8 @@ enum SyncStage {
44
44
@Injectable ( )
45
45
export class Lnv3Service implements OnModuleInit {
46
46
private readonly logger = new Logger ( 'lnv3' ) ;
47
+ private readonly requestTooManyError = 'Request failed with status code 429' ;
48
+ private readonly hangUpError = 'socket hang up' ;
47
49
48
50
private fetchCache = new Array ( this . transferService . transfers . length ) . fill ( '' ) . map ( ( _ ) => ( {
49
51
latestRelayerInfoNonce : - 1 ,
@@ -55,7 +57,8 @@ export class Lnv3Service implements OnModuleInit {
55
57
56
58
protected fetchSendDataInterval = 5000 ;
57
59
58
- private readonly takeEachTime = 2 ;
60
+ private readonly takeEachTime = 20 ;
61
+ private readonly takeWithdrawStatusEachTime = 50 ;
59
62
private skip : SkipInfo [ ] = [ ] ;
60
63
private skipForWithdrawLiquidity = new Array ( this . transferService . transfers . length ) . fill ( 0 ) ;
61
64
private sourceServices = new Map ( ) ;
@@ -177,9 +180,11 @@ export class Lnv3Service implements OnModuleInit {
177
180
} ) ;
178
181
}
179
182
} catch ( err ) {
180
- this . logger . warn (
181
- `try to get records failed, id ${ transfer . chainConfig . id } , type ${ level0Indexer . indexerType } , err ${ err } `
182
- ) ;
183
+ if ( typeof err !== 'object' || err === null || ( err . message !== this . requestTooManyError && err . message !== this . hangUpError ) ) {
184
+ this . logger . warn (
185
+ `try to get records failed, id ${ transfer . chainConfig . id } , type ${ level0Indexer . indexerType } , err ${ err } `
186
+ ) ;
187
+ }
183
188
}
184
189
}
185
190
return results ;
@@ -199,9 +204,11 @@ export class Lnv3Service implements OnModuleInit {
199
204
result = response ;
200
205
}
201
206
} catch ( err ) {
202
- this . logger . warn (
203
- `try to get provider infos failed, id ${ transfer . chainConfig . id } , type ${ level0Indexer . indexerType } , err ${ err } `
204
- ) ;
207
+ if ( typeof err !== 'object' || err === null || ( err . message !== this . requestTooManyError && err . message !== this . hangUpError ) ) {
208
+ this . logger . warn (
209
+ `try to get provider infos failed, id ${ transfer . chainConfig . id } , type ${ level0Indexer . indexerType } , err ${ err } `
210
+ ) ;
211
+ }
205
212
}
206
213
}
207
214
return result ;
@@ -220,9 +227,11 @@ export class Lnv3Service implements OnModuleInit {
220
227
return response ;
221
228
}
222
229
} catch ( err ) {
223
- this . logger . warn (
224
- `try to get relay status failed, id ${ toChain . chainConfig . id } , type ${ level0Indexer . indexerType } , transferId ${ transferId } err ${ err } `
225
- ) ;
230
+ if ( typeof err !== 'object' || err === null || ( err . message !== this . requestTooManyError && err . message !== this . hangUpError ) ) {
231
+ this . logger . warn (
232
+ `try to get relay status failed, id ${ toChain . chainConfig . id } , type ${ level0Indexer . indexerType } , transferId ${ transferId } err ${ err } `
233
+ ) ;
234
+ }
226
235
}
227
236
}
228
237
}
@@ -239,9 +248,11 @@ export class Lnv3Service implements OnModuleInit {
239
248
) ) ?? [ ]
240
249
) ;
241
250
} catch ( err ) {
242
- this . logger . warn (
243
- `try to get multi relay status failed, id ${ toChain . chainConfig . id } , type ${ level0Indexer . indexerType } , transferIds ${ transferIds } err ${ err } `
244
- ) ;
251
+ if ( typeof err !== 'object' || err === null || ( err . message !== this . requestTooManyError && err . message !== this . hangUpError ) ) {
252
+ this . logger . warn (
253
+ `try to get multi relay status failed, id ${ toChain . chainConfig . id } , type ${ level0Indexer . indexerType } , transferIds ${ transferIds } err ${ err } `
254
+ ) ;
255
+ }
245
256
return [ ] ;
246
257
}
247
258
}
@@ -260,9 +271,11 @@ export class Lnv3Service implements OnModuleInit {
260
271
return response ;
261
272
}
262
273
} catch ( err ) {
263
- this . logger . warn (
264
- `try to get withdraw status failed, id ${ transfer . chainConfig . id } , type ${ level0Indexer . indexerType } , err ${ err } `
265
- ) ;
274
+ if ( typeof err !== 'object' || err === null || ( err . message !== this . requestTooManyError && err . message !== this . hangUpError ) ) {
275
+ this . logger . warn (
276
+ `try to get withdraw status failed, id ${ transfer . chainConfig . id } , type ${ level0Indexer . indexerType } , err ${ err } `
277
+ ) ;
278
+ }
266
279
}
267
280
}
268
281
}
@@ -457,9 +470,11 @@ export class Lnv3Service implements OnModuleInit {
457
470
} ) ;
458
471
}
459
472
} catch ( err ) {
460
- this . logger . warn (
461
- `try to batch get fill infos failed, id ${ transfer . chainConfig . id } , type ${ level0Indexer . indexerType } , err ${ err } `
462
- ) ;
473
+ if ( typeof err !== 'object' || err === null || ( err . message !== this . requestTooManyError && err . message !== this . hangUpError ) ) {
474
+ this . logger . warn (
475
+ `try to batch get fill infos failed, id ${ transfer . chainConfig . id } , type ${ level0Indexer . indexerType } , err ${ err } `
476
+ ) ;
477
+ }
463
478
}
464
479
}
465
480
return results ;
@@ -486,15 +501,17 @@ export class Lnv3Service implements OnModuleInit {
486
501
cache . syncingStage = SyncStage . SyncFinished ;
487
502
}
488
503
} catch ( error ) {
489
- this . logger . warn ( `batch fetch lnv3 status failed, error ${ error } ` ) ;
504
+ if ( typeof error !== 'object' || error === null || ( error . message !== this . requestTooManyError && error . message !== this . hangUpError ) ) {
505
+ this . logger . warn ( `batch fetch lnv3 status failed, error ${ error } ` ) ;
506
+ }
490
507
}
491
508
}
492
509
493
510
async fetchWithdrawCacheStatus ( transfer : PartnerT2 , index : number ) {
494
511
const records = await this . aggregationService
495
512
. queryHistoryRecords ( {
496
513
skip : this . skipForWithdrawLiquidity [ index ] ,
497
- take : this . takeEachTime ,
514
+ take : this . takeWithdrawStatusEachTime ,
498
515
where : {
499
516
fromChain : transfer . chainConfig . code ,
500
517
bridge : `lnv3` ,
@@ -505,10 +522,10 @@ export class Lnv3Service implements OnModuleInit {
505
522
} )
506
523
. then ( ( result ) => result . records ) ;
507
524
508
- if ( records . length < this . takeEachTime ) {
525
+ if ( records . length < this . takeWithdrawStatusEachTime ) {
509
526
this . skipForWithdrawLiquidity [ index ] = 0 ;
510
527
} else {
511
- this . skipForWithdrawLiquidity [ index ] += this . takeEachTime ;
528
+ this . skipForWithdrawLiquidity [ index ] += this . takeWithdrawStatusEachTime ;
512
529
}
513
530
514
531
const transferIdMap = new Map < string , string [ ] > ( ) ;
@@ -545,6 +562,9 @@ export class Lnv3Service implements OnModuleInit {
545
562
lastRequestWithdraw : requestWithdrawTimestamp ,
546
563
} ,
547
564
} ) ;
565
+ if ( transferRecord . hasWithdrawn ) {
566
+ this . logger . log ( `withdrawLiquidity find one finished, id ${ id } , chain ${ chainId } ` ) ;
567
+ }
548
568
}
549
569
}
550
570
}
@@ -659,7 +679,9 @@ export class Lnv3Service implements OnModuleInit {
659
679
this . logger . log ( `lnv3 [${ transfer . chainConfig . code } ] update record status, size: ${ size } ` ) ;
660
680
}
661
681
} catch ( error ) {
662
- this . logger . warn ( `fetch lnv3 status failed, error ${ error } ` ) ;
682
+ if ( typeof error !== 'object' || error === null || ( error . message !== this . requestTooManyError && error . message !== this . hangUpError ) ) {
683
+ this . logger . warn ( `fetch lnv3 status failed, error ${ error } ` ) ;
684
+ }
663
685
}
664
686
}
665
687
@@ -816,7 +838,9 @@ export class Lnv3Service implements OnModuleInit {
816
838
this . logger . log ( `lnv3 [${ transfer . chainConfig . code } ] update relayer info, size: ${ size } ` ) ;
817
839
}
818
840
} catch ( error ) {
819
- this . logger . warn ( `fetch lnv3bridge relayer records failed, error ${ error } ` ) ;
841
+ if ( typeof error !== 'object' || error === null || ( error . message !== this . requestTooManyError && error . message !== this . hangUpError ) ) {
842
+ this . logger . warn ( `fetch lnv3bridge relayer records failed, error ${ error } ` ) ;
843
+ }
820
844
}
821
845
}
822
846
}
0 commit comments