@ercworldio/blockchain-shared 1.0.3-dev.0 → 1.0.3-dev.0-PROJ-1281
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/chains/networks_prod-bu.json +52 -13
- package/build/chains/networks_prod-dz.json +64 -16
- package/build/chains/networks_stg-bu.json +52 -13
- package/build/chains/networks_stg-dz.json +64 -16
- package/build/chains/networks_stg-sh.json +55 -16
- package/build/chains/networks_stg-yb.json +149 -11
- package/build/services/Redis.d.ts +9 -0
- package/build/services/Redis.d.ts.map +1 -1
- package/build/services/Redis.js +63 -0
- package/package.json +1 -1
|
@@ -82,7 +82,10 @@
|
|
|
82
82
|
"decimals": 18,
|
|
83
83
|
"address": "0x0000000000000000000000000000000000000000",
|
|
84
84
|
"sweepThreshold": 0.004,
|
|
85
|
-
"sweepWalletMinBalance": 0.0002
|
|
85
|
+
"sweepWalletMinBalance": 0.0002,
|
|
86
|
+
"recommendedMinBalanceFundingWallet": 0.025,
|
|
87
|
+
"recommendedMinBalanceEscrow": 0.5,
|
|
88
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
86
89
|
},
|
|
87
90
|
{
|
|
88
91
|
"name": "Tether Token",
|
|
@@ -93,7 +96,10 @@
|
|
|
93
96
|
"decimals": 6,
|
|
94
97
|
"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
|
|
95
98
|
"sweepThreshold": 5,
|
|
96
|
-
"sweepWalletMinBalance": 1
|
|
99
|
+
"sweepWalletMinBalance": 1,
|
|
100
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
101
|
+
"recommendedMinBalanceEscrow": 100,
|
|
102
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
97
103
|
}
|
|
98
104
|
]
|
|
99
105
|
},
|
|
@@ -180,7 +186,10 @@
|
|
|
180
186
|
"decimals": 18,
|
|
181
187
|
"address": "0x0000000000000000000000000000000000000000",
|
|
182
188
|
"sweepThreshold": 0.008,
|
|
183
|
-
"sweepWalletMinBalance": 0.0002
|
|
189
|
+
"sweepWalletMinBalance": 0.0002,
|
|
190
|
+
"recommendedMinBalanceFundingWallet": 0.1,
|
|
191
|
+
"recommendedMinBalanceEscrow": 1,
|
|
192
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
184
193
|
},
|
|
185
194
|
{
|
|
186
195
|
"name": "Tether Token",
|
|
@@ -191,7 +200,10 @@
|
|
|
191
200
|
"decimals": 18,
|
|
192
201
|
"address": "0x55d398326f99059fF775485246999027B3197955",
|
|
193
202
|
"sweepThreshold": 5,
|
|
194
|
-
"sweepWalletMinBalance": 1
|
|
203
|
+
"sweepWalletMinBalance": 1,
|
|
204
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
205
|
+
"recommendedMinBalanceEscrow": 100,
|
|
206
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
195
207
|
}
|
|
196
208
|
]
|
|
197
209
|
},
|
|
@@ -276,7 +288,10 @@
|
|
|
276
288
|
"decimals": 9,
|
|
277
289
|
"address": "11111111111111111111111111111111",
|
|
278
290
|
"sweepThreshold": 0.05,
|
|
279
|
-
"sweepWalletMinBalance": 0.01
|
|
291
|
+
"sweepWalletMinBalance": 0.01,
|
|
292
|
+
"recommendedMinBalanceFundingWallet": 0.1,
|
|
293
|
+
"recommendedMinBalanceEscrow": 1,
|
|
294
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
280
295
|
},
|
|
281
296
|
{
|
|
282
297
|
"name": "Circle Token",
|
|
@@ -287,7 +302,10 @@
|
|
|
287
302
|
"decimals": 6,
|
|
288
303
|
"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
|
|
289
304
|
"sweepThreshold": 1,
|
|
290
|
-
"sweepWalletMinBalance": 1
|
|
305
|
+
"sweepWalletMinBalance": 1,
|
|
306
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
307
|
+
"recommendedMinBalanceEscrow": 100,
|
|
308
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
291
309
|
}
|
|
292
310
|
]
|
|
293
311
|
},
|
|
@@ -374,7 +392,10 @@
|
|
|
374
392
|
"decimals": 18,
|
|
375
393
|
"address": "0x0000000000000000000000000000000000000000",
|
|
376
394
|
"sweepThreshold": 10,
|
|
377
|
-
"sweepWalletMinBalance": 0.1
|
|
395
|
+
"sweepWalletMinBalance": 0.1,
|
|
396
|
+
"recommendedMinBalanceFundingWallet": 50,
|
|
397
|
+
"recommendedMinBalanceEscrow": 1000,
|
|
398
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
378
399
|
},
|
|
379
400
|
{
|
|
380
401
|
"name": "Tether Token",
|
|
@@ -385,7 +406,10 @@
|
|
|
385
406
|
"decimals": 6,
|
|
386
407
|
"address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F",
|
|
387
408
|
"sweepThreshold": 0,
|
|
388
|
-
"sweepWalletMinBalance": 1
|
|
409
|
+
"sweepWalletMinBalance": 1,
|
|
410
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
411
|
+
"recommendedMinBalanceEscrow": 100,
|
|
412
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
389
413
|
}
|
|
390
414
|
]
|
|
391
415
|
},
|
|
@@ -472,7 +496,10 @@
|
|
|
472
496
|
"address": "0x0000000000000000000000000000000000000000",
|
|
473
497
|
"isStableCoin": false,
|
|
474
498
|
"sweepThreshold": 10,
|
|
475
|
-
"sweepWalletMinBalance": 0.1
|
|
499
|
+
"sweepWalletMinBalance": 0.1,
|
|
500
|
+
"recommendedMinBalanceFundingWallet": 100,
|
|
501
|
+
"recommendedMinBalanceEscrow": 1000,
|
|
502
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
476
503
|
}
|
|
477
504
|
]
|
|
478
505
|
},
|
|
@@ -559,7 +586,10 @@
|
|
|
559
586
|
"decimals": 18,
|
|
560
587
|
"address": "0x0000000000000000000000000000000000000000",
|
|
561
588
|
"sweepThreshold": 0.05,
|
|
562
|
-
"sweepWalletMinBalance": 0.01
|
|
589
|
+
"sweepWalletMinBalance": 0.01,
|
|
590
|
+
"recommendedMinBalanceFundingWallet": 1,
|
|
591
|
+
"recommendedMinBalanceEscrow": 10,
|
|
592
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
563
593
|
},
|
|
564
594
|
{
|
|
565
595
|
"name": "Tether Token",
|
|
@@ -570,7 +600,10 @@
|
|
|
570
600
|
"decimals": 6,
|
|
571
601
|
"address": "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7",
|
|
572
602
|
"sweepThreshold": 5,
|
|
573
|
-
"sweepWalletMinBalance": 1
|
|
603
|
+
"sweepWalletMinBalance": 1,
|
|
604
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
605
|
+
"recommendedMinBalanceEscrow": 100,
|
|
606
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
574
607
|
}
|
|
575
608
|
]
|
|
576
609
|
},
|
|
@@ -632,7 +665,10 @@
|
|
|
632
665
|
"decimals": 6,
|
|
633
666
|
"address": "0000000000000000000000000000000000000000",
|
|
634
667
|
"sweepThreshold": 10,
|
|
635
|
-
"sweepWalletMinBalance": 6
|
|
668
|
+
"sweepWalletMinBalance": 6,
|
|
669
|
+
"recommendedMinBalanceFundingWallet": 333,
|
|
670
|
+
"recommendedMinBalanceEscrow": 0,
|
|
671
|
+
"recommendedMinBalanceRentEnergy": 50
|
|
636
672
|
},
|
|
637
673
|
{
|
|
638
674
|
"name": "Tether Token",
|
|
@@ -643,7 +679,10 @@
|
|
|
643
679
|
"decimals": 6,
|
|
644
680
|
"address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
|
|
645
681
|
"sweepThreshold": 5,
|
|
646
|
-
"sweepWalletMinBalance": 1
|
|
682
|
+
"sweepWalletMinBalance": 1,
|
|
683
|
+
"recommendedMinBalanceFundingWallet": 100,
|
|
684
|
+
"recommendedMinBalanceEscrow": 0,
|
|
685
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
647
686
|
}
|
|
648
687
|
]
|
|
649
688
|
},
|
|
@@ -82,7 +82,10 @@
|
|
|
82
82
|
"decimals": 18,
|
|
83
83
|
"address": "0x0000000000000000000000000000000000000000",
|
|
84
84
|
"sweepThreshold": 0.004,
|
|
85
|
-
"sweepWalletMinBalance": 0.0002
|
|
85
|
+
"sweepWalletMinBalance": 0.0002,
|
|
86
|
+
"recommendedMinBalanceFundingWallet": 0.025,
|
|
87
|
+
"recommendedMinBalanceEscrow": 0.5,
|
|
88
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
86
89
|
},
|
|
87
90
|
{
|
|
88
91
|
"name": "Tether Token",
|
|
@@ -93,7 +96,10 @@
|
|
|
93
96
|
"decimals": 6,
|
|
94
97
|
"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
|
|
95
98
|
"sweepThreshold": 4,
|
|
96
|
-
"sweepWalletMinBalance": 1
|
|
99
|
+
"sweepWalletMinBalance": 1,
|
|
100
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
101
|
+
"recommendedMinBalanceEscrow": 100,
|
|
102
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
97
103
|
},
|
|
98
104
|
{
|
|
99
105
|
"name": "Circle Token",
|
|
@@ -104,7 +110,10 @@
|
|
|
104
110
|
"decimals": 6,
|
|
105
111
|
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
106
112
|
"sweepThreshold": 4,
|
|
107
|
-
"sweepWalletMinBalance": 1
|
|
113
|
+
"sweepWalletMinBalance": 1,
|
|
114
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
115
|
+
"recommendedMinBalanceEscrow": 100,
|
|
116
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
108
117
|
},
|
|
109
118
|
{
|
|
110
119
|
"name": "PalmUSD",
|
|
@@ -115,7 +124,10 @@
|
|
|
115
124
|
"decimals": 6,
|
|
116
125
|
"address": "0xFAF0cEe6B20e2Aaa4B80748a6AF4CD89609a3d78",
|
|
117
126
|
"sweepThreshold": 1,
|
|
118
|
-
"sweepWalletMinBalance": 0.1
|
|
127
|
+
"sweepWalletMinBalance": 0.1,
|
|
128
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
129
|
+
"recommendedMinBalanceEscrow": 100,
|
|
130
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
119
131
|
}
|
|
120
132
|
]
|
|
121
133
|
},
|
|
@@ -202,7 +214,10 @@
|
|
|
202
214
|
"decimals": 18,
|
|
203
215
|
"address": "0x0000000000000000000000000000000000000000",
|
|
204
216
|
"sweepThreshold": 0.008,
|
|
205
|
-
"sweepWalletMinBalance": 0.0002
|
|
217
|
+
"sweepWalletMinBalance": 0.0002,
|
|
218
|
+
"recommendedMinBalanceFundingWallet": 0.1,
|
|
219
|
+
"recommendedMinBalanceEscrow": 1,
|
|
220
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
206
221
|
},
|
|
207
222
|
{
|
|
208
223
|
"name": "Tether Token",
|
|
@@ -213,7 +228,10 @@
|
|
|
213
228
|
"decimals": 18,
|
|
214
229
|
"address": "0x55d398326f99059fF775485246999027B3197955",
|
|
215
230
|
"sweepThreshold": 5,
|
|
216
|
-
"sweepWalletMinBalance": 1
|
|
231
|
+
"sweepWalletMinBalance": 1,
|
|
232
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
233
|
+
"recommendedMinBalanceEscrow": 100,
|
|
234
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
217
235
|
}
|
|
218
236
|
]
|
|
219
237
|
},
|
|
@@ -300,7 +318,10 @@
|
|
|
300
318
|
"decimals": 9,
|
|
301
319
|
"address": "11111111111111111111111111111111",
|
|
302
320
|
"sweepThreshold": 0.05,
|
|
303
|
-
"sweepWalletMinBalance": 0.01
|
|
321
|
+
"sweepWalletMinBalance": 0.01,
|
|
322
|
+
"recommendedMinBalanceFundingWallet": 0.1,
|
|
323
|
+
"recommendedMinBalanceEscrow": 1,
|
|
324
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
304
325
|
},
|
|
305
326
|
{
|
|
306
327
|
"name": "Circle Token",
|
|
@@ -311,7 +332,10 @@
|
|
|
311
332
|
"decimals": 6,
|
|
312
333
|
"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
|
|
313
334
|
"sweepThreshold": 1,
|
|
314
|
-
"sweepWalletMinBalance": 1
|
|
335
|
+
"sweepWalletMinBalance": 1,
|
|
336
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
337
|
+
"recommendedMinBalanceEscrow": 100,
|
|
338
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
315
339
|
},
|
|
316
340
|
{
|
|
317
341
|
"name": "PalmUSD",
|
|
@@ -322,7 +346,10 @@
|
|
|
322
346
|
"decimals": 6,
|
|
323
347
|
"address": "CZzgUBvxaMLwMhVSLgqJn3npmxoTo6nzMNQPAnwtHF3s",
|
|
324
348
|
"sweepThreshold": 1,
|
|
325
|
-
"sweepWalletMinBalance": 0.1
|
|
349
|
+
"sweepWalletMinBalance": 0.1,
|
|
350
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
351
|
+
"recommendedMinBalanceEscrow": 100,
|
|
352
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
326
353
|
}
|
|
327
354
|
]
|
|
328
355
|
},
|
|
@@ -409,7 +436,10 @@
|
|
|
409
436
|
"decimals": 18,
|
|
410
437
|
"address": "0x0000000000000000000000000000000000000000",
|
|
411
438
|
"sweepThreshold": 10,
|
|
412
|
-
"sweepWalletMinBalance": 0.1
|
|
439
|
+
"sweepWalletMinBalance": 0.1,
|
|
440
|
+
"recommendedMinBalanceFundingWallet": 50,
|
|
441
|
+
"recommendedMinBalanceEscrow": 1000,
|
|
442
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
413
443
|
},
|
|
414
444
|
{
|
|
415
445
|
"name": "Tether Token",
|
|
@@ -420,7 +450,10 @@
|
|
|
420
450
|
"decimals": 6,
|
|
421
451
|
"address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F",
|
|
422
452
|
"sweepThreshold": 0,
|
|
423
|
-
"sweepWalletMinBalance": 1
|
|
453
|
+
"sweepWalletMinBalance": 1,
|
|
454
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
455
|
+
"recommendedMinBalanceEscrow": 100,
|
|
456
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
424
457
|
}
|
|
425
458
|
]
|
|
426
459
|
},
|
|
@@ -507,7 +540,10 @@
|
|
|
507
540
|
"address": "0x0000000000000000000000000000000000000000",
|
|
508
541
|
"isStableCoin": false,
|
|
509
542
|
"sweepThreshold": 10,
|
|
510
|
-
"sweepWalletMinBalance": 0.1
|
|
543
|
+
"sweepWalletMinBalance": 0.1,
|
|
544
|
+
"recommendedMinBalanceFundingWallet": 100,
|
|
545
|
+
"recommendedMinBalanceEscrow": 1000,
|
|
546
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
511
547
|
}
|
|
512
548
|
]
|
|
513
549
|
},
|
|
@@ -594,7 +630,10 @@
|
|
|
594
630
|
"decimals": 18,
|
|
595
631
|
"address": "0x0000000000000000000000000000000000000000",
|
|
596
632
|
"sweepThreshold": 0.05,
|
|
597
|
-
"sweepWalletMinBalance": 0.01
|
|
633
|
+
"sweepWalletMinBalance": 0.01,
|
|
634
|
+
"recommendedMinBalanceFundingWallet": 1,
|
|
635
|
+
"recommendedMinBalanceEscrow": 10,
|
|
636
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
598
637
|
},
|
|
599
638
|
{
|
|
600
639
|
"name": "Tether Token",
|
|
@@ -605,7 +644,10 @@
|
|
|
605
644
|
"decimals": 6,
|
|
606
645
|
"address": "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7",
|
|
607
646
|
"sweepThreshold": 4,
|
|
608
|
-
"sweepWalletMinBalance": 1
|
|
647
|
+
"sweepWalletMinBalance": 1,
|
|
648
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
649
|
+
"recommendedMinBalanceEscrow": 100,
|
|
650
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
609
651
|
}
|
|
610
652
|
]
|
|
611
653
|
},
|
|
@@ -669,7 +711,10 @@
|
|
|
669
711
|
"decimals": 6,
|
|
670
712
|
"address": "0000000000000000000000000000000000000000",
|
|
671
713
|
"sweepThreshold": 10,
|
|
672
|
-
"sweepWalletMinBalance": 6
|
|
714
|
+
"sweepWalletMinBalance": 6,
|
|
715
|
+
"recommendedMinBalanceFundingWallet": 333,
|
|
716
|
+
"recommendedMinBalanceEscrow": 0,
|
|
717
|
+
"recommendedMinBalanceRentEnergy": 50
|
|
673
718
|
},
|
|
674
719
|
{
|
|
675
720
|
"name": "Tether Token",
|
|
@@ -680,7 +725,10 @@
|
|
|
680
725
|
"decimals": 6,
|
|
681
726
|
"address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
|
|
682
727
|
"sweepThreshold": 5,
|
|
683
|
-
"sweepWalletMinBalance": 1
|
|
728
|
+
"sweepWalletMinBalance": 1,
|
|
729
|
+
"recommendedMinBalanceFundingWallet": 100,
|
|
730
|
+
"recommendedMinBalanceEscrow": 0,
|
|
731
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
684
732
|
}
|
|
685
733
|
]
|
|
686
734
|
},
|
|
@@ -68,7 +68,10 @@
|
|
|
68
68
|
"decimals": 18,
|
|
69
69
|
"address": "0x0000000000000000000000000000000000000000",
|
|
70
70
|
"sweepThreshold": 0.004,
|
|
71
|
-
"sweepWalletMinBalance": 0.0002
|
|
71
|
+
"sweepWalletMinBalance": 0.0002,
|
|
72
|
+
"recommendedMinBalanceFundingWallet": 0.025,
|
|
73
|
+
"recommendedMinBalanceEscrow": 0.5,
|
|
74
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
72
75
|
},
|
|
73
76
|
{
|
|
74
77
|
"name": "Tether Token",
|
|
@@ -79,7 +82,10 @@
|
|
|
79
82
|
"decimals": 6,
|
|
80
83
|
"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
|
|
81
84
|
"sweepThreshold": 5,
|
|
82
|
-
"sweepWalletMinBalance": 1
|
|
85
|
+
"sweepWalletMinBalance": 1,
|
|
86
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
87
|
+
"recommendedMinBalanceEscrow": 100,
|
|
88
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
83
89
|
}
|
|
84
90
|
]
|
|
85
91
|
},
|
|
@@ -152,7 +158,10 @@
|
|
|
152
158
|
"decimals": 18,
|
|
153
159
|
"address": "0x0000000000000000000000000000000000000000",
|
|
154
160
|
"sweepThreshold": 0.008,
|
|
155
|
-
"sweepWalletMinBalance": 0.0002
|
|
161
|
+
"sweepWalletMinBalance": 0.0002,
|
|
162
|
+
"recommendedMinBalanceFundingWallet": 0.1,
|
|
163
|
+
"recommendedMinBalanceEscrow": 1,
|
|
164
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
156
165
|
},
|
|
157
166
|
{
|
|
158
167
|
"name": "Tether Token",
|
|
@@ -163,7 +172,10 @@
|
|
|
163
172
|
"decimals": 18,
|
|
164
173
|
"address": "0x55d398326f99059fF775485246999027B3197955",
|
|
165
174
|
"sweepThreshold": 5,
|
|
166
|
-
"sweepWalletMinBalance": 1
|
|
175
|
+
"sweepWalletMinBalance": 1,
|
|
176
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
177
|
+
"recommendedMinBalanceEscrow": 100,
|
|
178
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
167
179
|
}
|
|
168
180
|
]
|
|
169
181
|
},
|
|
@@ -234,7 +246,10 @@
|
|
|
234
246
|
"decimals": 9,
|
|
235
247
|
"address": "11111111111111111111111111111111",
|
|
236
248
|
"sweepThreshold": 0.05,
|
|
237
|
-
"sweepWalletMinBalance": 0.01
|
|
249
|
+
"sweepWalletMinBalance": 0.01,
|
|
250
|
+
"recommendedMinBalanceFundingWallet": 0.1,
|
|
251
|
+
"recommendedMinBalanceEscrow": 1,
|
|
252
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
238
253
|
},
|
|
239
254
|
{
|
|
240
255
|
"name": "Circle Token",
|
|
@@ -245,7 +260,10 @@
|
|
|
245
260
|
"decimals": 6,
|
|
246
261
|
"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
|
|
247
262
|
"sweepThreshold": 1,
|
|
248
|
-
"sweepWalletMinBalance": 1
|
|
263
|
+
"sweepWalletMinBalance": 1,
|
|
264
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
265
|
+
"recommendedMinBalanceEscrow": 100,
|
|
266
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
249
267
|
}
|
|
250
268
|
]
|
|
251
269
|
},
|
|
@@ -318,7 +336,10 @@
|
|
|
318
336
|
"decimals": 18,
|
|
319
337
|
"address": "0x0000000000000000000000000000000000000000",
|
|
320
338
|
"sweepThreshold": 10,
|
|
321
|
-
"sweepWalletMinBalance": 0.1
|
|
339
|
+
"sweepWalletMinBalance": 0.1,
|
|
340
|
+
"recommendedMinBalanceFundingWallet": 50,
|
|
341
|
+
"recommendedMinBalanceEscrow": 1000,
|
|
342
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
322
343
|
},
|
|
323
344
|
{
|
|
324
345
|
"name": "Tether Token",
|
|
@@ -329,7 +350,10 @@
|
|
|
329
350
|
"decimals": 6,
|
|
330
351
|
"address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F",
|
|
331
352
|
"sweepThreshold": 0,
|
|
332
|
-
"sweepWalletMinBalance": 1
|
|
353
|
+
"sweepWalletMinBalance": 1,
|
|
354
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
355
|
+
"recommendedMinBalanceEscrow": 100,
|
|
356
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
333
357
|
}
|
|
334
358
|
]
|
|
335
359
|
},
|
|
@@ -402,7 +426,10 @@
|
|
|
402
426
|
"decimals": 18,
|
|
403
427
|
"address": "0x0000000000000000000000000000000000000000",
|
|
404
428
|
"sweepThreshold": 10,
|
|
405
|
-
"sweepWalletMinBalance": 0.1
|
|
429
|
+
"sweepWalletMinBalance": 0.1,
|
|
430
|
+
"recommendedMinBalanceFundingWallet": 100,
|
|
431
|
+
"recommendedMinBalanceEscrow": 10000,
|
|
432
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
406
433
|
}
|
|
407
434
|
]
|
|
408
435
|
},
|
|
@@ -475,7 +502,10 @@
|
|
|
475
502
|
"decimals": 18,
|
|
476
503
|
"address": "0x0000000000000000000000000000000000000000",
|
|
477
504
|
"sweepThreshold": 0.05,
|
|
478
|
-
"sweepWalletMinBalance": 0.01
|
|
505
|
+
"sweepWalletMinBalance": 0.01,
|
|
506
|
+
"recommendedMinBalanceFundingWallet": 1,
|
|
507
|
+
"recommendedMinBalanceEscrow": 10,
|
|
508
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
479
509
|
},
|
|
480
510
|
{
|
|
481
511
|
"name": "Tether Token",
|
|
@@ -486,7 +516,10 @@
|
|
|
486
516
|
"decimals": 6,
|
|
487
517
|
"address": "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7",
|
|
488
518
|
"sweepThreshold": 5,
|
|
489
|
-
"sweepWalletMinBalance": 1
|
|
519
|
+
"sweepWalletMinBalance": 1,
|
|
520
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
521
|
+
"recommendedMinBalanceEscrow": 100,
|
|
522
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
490
523
|
}
|
|
491
524
|
]
|
|
492
525
|
},
|
|
@@ -551,7 +584,10 @@
|
|
|
551
584
|
"decimals": 6,
|
|
552
585
|
"address": "0000000000000000000000000000000000000000",
|
|
553
586
|
"sweepThreshold": 10,
|
|
554
|
-
"sweepWalletMinBalance": 6
|
|
587
|
+
"sweepWalletMinBalance": 6,
|
|
588
|
+
"recommendedMinBalanceFundingWallet": 333,
|
|
589
|
+
"recommendedMinBalanceEscrow": 0,
|
|
590
|
+
"recommendedMinBalanceRentEnergy": 50
|
|
555
591
|
},
|
|
556
592
|
{
|
|
557
593
|
"name": "Tether Token",
|
|
@@ -562,7 +598,10 @@
|
|
|
562
598
|
"decimals": 6,
|
|
563
599
|
"address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
|
|
564
600
|
"sweepThreshold": 2,
|
|
565
|
-
"sweepWalletMinBalance": 0.1
|
|
601
|
+
"sweepWalletMinBalance": 0.1,
|
|
602
|
+
"recommendedMinBalanceFundingWallet": 100,
|
|
603
|
+
"recommendedMinBalanceEscrow": 0,
|
|
604
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
566
605
|
}
|
|
567
606
|
]
|
|
568
607
|
},
|
|
@@ -68,7 +68,10 @@
|
|
|
68
68
|
"address": "0x0000000000000000000000000000000000000000",
|
|
69
69
|
"isStableCoin": false,
|
|
70
70
|
"sweepThreshold": 0.004,
|
|
71
|
-
"sweepWalletMinBalance": 0.0002
|
|
71
|
+
"sweepWalletMinBalance": 0.0002,
|
|
72
|
+
"recommendedMinBalanceFundingWallet": 0.025,
|
|
73
|
+
"recommendedMinBalanceEscrow": 0.5,
|
|
74
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
72
75
|
},
|
|
73
76
|
{
|
|
74
77
|
"name": "Tether Token",
|
|
@@ -79,7 +82,10 @@
|
|
|
79
82
|
"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
|
|
80
83
|
"isStableCoin": true,
|
|
81
84
|
"sweepThreshold": 1,
|
|
82
|
-
"sweepWalletMinBalance": 0
|
|
85
|
+
"sweepWalletMinBalance": 0,
|
|
86
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
87
|
+
"recommendedMinBalanceEscrow": 100,
|
|
88
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
83
89
|
},
|
|
84
90
|
{
|
|
85
91
|
"name": "Circle Token",
|
|
@@ -90,7 +96,10 @@
|
|
|
90
96
|
"decimals": 6,
|
|
91
97
|
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
92
98
|
"sweepThreshold": 1,
|
|
93
|
-
"sweepWalletMinBalance": 0.1
|
|
99
|
+
"sweepWalletMinBalance": 0.1,
|
|
100
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
101
|
+
"recommendedMinBalanceEscrow": 100,
|
|
102
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
94
103
|
},
|
|
95
104
|
{
|
|
96
105
|
"name": "PalmUSD",
|
|
@@ -101,7 +110,10 @@
|
|
|
101
110
|
"decimals": 6,
|
|
102
111
|
"address": "0xFAF0cEe6B20e2Aaa4B80748a6AF4CD89609a3d78",
|
|
103
112
|
"sweepThreshold": 1,
|
|
104
|
-
"sweepWalletMinBalance": 0.1
|
|
113
|
+
"sweepWalletMinBalance": 0.1,
|
|
114
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
115
|
+
"recommendedMinBalanceEscrow": 100,
|
|
116
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
105
117
|
}
|
|
106
118
|
]
|
|
107
119
|
},
|
|
@@ -174,7 +186,10 @@
|
|
|
174
186
|
"decimals": 18,
|
|
175
187
|
"address": "0x0000000000000000000000000000000000000000",
|
|
176
188
|
"sweepThreshold": 0.008,
|
|
177
|
-
"sweepWalletMinBalance": 0.0002
|
|
189
|
+
"sweepWalletMinBalance": 0.0002,
|
|
190
|
+
"recommendedMinBalanceFundingWallet": 0.1,
|
|
191
|
+
"recommendedMinBalanceEscrow": 1,
|
|
192
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
178
193
|
},
|
|
179
194
|
{
|
|
180
195
|
"name": "Tether Token",
|
|
@@ -185,7 +200,10 @@
|
|
|
185
200
|
"isStableCoin": true,
|
|
186
201
|
"address": "0x55d398326f99059fF775485246999027B3197955",
|
|
187
202
|
"sweepThreshold": 1,
|
|
188
|
-
"sweepWalletMinBalance": 0.1
|
|
203
|
+
"sweepWalletMinBalance": 0.1,
|
|
204
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
205
|
+
"recommendedMinBalanceEscrow": 100,
|
|
206
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
189
207
|
}
|
|
190
208
|
]
|
|
191
209
|
},
|
|
@@ -256,7 +274,10 @@
|
|
|
256
274
|
"decimals": 9,
|
|
257
275
|
"address": "11111111111111111111111111111111",
|
|
258
276
|
"sweepThreshold": 0.05,
|
|
259
|
-
"sweepWalletMinBalance": 0.01
|
|
277
|
+
"sweepWalletMinBalance": 0.01,
|
|
278
|
+
"recommendedMinBalanceFundingWallet": 0.1,
|
|
279
|
+
"recommendedMinBalanceEscrow": 1,
|
|
280
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
260
281
|
},
|
|
261
282
|
{
|
|
262
283
|
"name": "Circle Token",
|
|
@@ -267,7 +288,10 @@
|
|
|
267
288
|
"decimals": 6,
|
|
268
289
|
"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
|
|
269
290
|
"sweepThreshold": 1,
|
|
270
|
-
"sweepWalletMinBalance": 0.1
|
|
291
|
+
"sweepWalletMinBalance": 0.1,
|
|
292
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
293
|
+
"recommendedMinBalanceEscrow": 100,
|
|
294
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
271
295
|
},
|
|
272
296
|
{
|
|
273
297
|
"name": "PalmUSD",
|
|
@@ -278,7 +302,10 @@
|
|
|
278
302
|
"decimals": 6,
|
|
279
303
|
"address": "CZzgUBvxaMLwMhVSLgqJn3npmxoTo6nzMNQPAnwtHF3s",
|
|
280
304
|
"sweepThreshold": 1,
|
|
281
|
-
"sweepWalletMinBalance": 0.1
|
|
305
|
+
"sweepWalletMinBalance": 0.1,
|
|
306
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
307
|
+
"recommendedMinBalanceEscrow": 100,
|
|
308
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
282
309
|
}
|
|
283
310
|
]
|
|
284
311
|
},
|
|
@@ -351,7 +378,10 @@
|
|
|
351
378
|
"decimals": 18,
|
|
352
379
|
"address": "0x0000000000000000000000000000000000000000",
|
|
353
380
|
"sweepThreshold": 10,
|
|
354
|
-
"sweepWalletMinBalance": 0.1
|
|
381
|
+
"sweepWalletMinBalance": 0.1,
|
|
382
|
+
"recommendedMinBalanceFundingWallet": 50,
|
|
383
|
+
"recommendedMinBalanceEscrow": 1000,
|
|
384
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
355
385
|
},
|
|
356
386
|
{
|
|
357
387
|
"name": "Tether Token",
|
|
@@ -362,7 +392,10 @@
|
|
|
362
392
|
"decimals": 6,
|
|
363
393
|
"address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F",
|
|
364
394
|
"sweepThreshold": 1,
|
|
365
|
-
"sweepWalletMinBalance": 0.1
|
|
395
|
+
"sweepWalletMinBalance": 0.1,
|
|
396
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
397
|
+
"recommendedMinBalanceEscrow": 100,
|
|
398
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
366
399
|
}
|
|
367
400
|
]
|
|
368
401
|
},
|
|
@@ -435,7 +468,10 @@
|
|
|
435
468
|
"isStableCoin": false,
|
|
436
469
|
"address": "0x0000000000000000000000000000000000000000",
|
|
437
470
|
"sweepThreshold": 10,
|
|
438
|
-
"sweepWalletMinBalance": 0.1
|
|
471
|
+
"sweepWalletMinBalance": 0.1,
|
|
472
|
+
"recommendedMinBalanceFundingWallet": 10,
|
|
473
|
+
"recommendedMinBalanceEscrow": 1000,
|
|
474
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
439
475
|
}
|
|
440
476
|
]
|
|
441
477
|
},
|
|
@@ -508,7 +544,10 @@
|
|
|
508
544
|
"decimals": 18,
|
|
509
545
|
"address": "0x0000000000000000000000000000000000000000",
|
|
510
546
|
"sweepThreshold": 0.05,
|
|
511
|
-
"sweepWalletMinBalance": 0.01
|
|
547
|
+
"sweepWalletMinBalance": 0.01,
|
|
548
|
+
"recommendedMinBalanceFundingWallet": 1,
|
|
549
|
+
"recommendedMinBalanceEscrow": 10,
|
|
550
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
512
551
|
},
|
|
513
552
|
{
|
|
514
553
|
"name": "Tether Token",
|
|
@@ -519,7 +558,10 @@
|
|
|
519
558
|
"decimals": 6,
|
|
520
559
|
"address": "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7",
|
|
521
560
|
"sweepThreshold": 1,
|
|
522
|
-
"sweepWalletMinBalance": 0.1
|
|
561
|
+
"sweepWalletMinBalance": 0.1,
|
|
562
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
563
|
+
"recommendedMinBalanceEscrow": 100,
|
|
564
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
523
565
|
}
|
|
524
566
|
]
|
|
525
567
|
},
|
|
@@ -584,7 +626,10 @@
|
|
|
584
626
|
"decimals": 6,
|
|
585
627
|
"address": "0000000000000000000000000000000000000000",
|
|
586
628
|
"sweepThreshold": 10,
|
|
587
|
-
"sweepWalletMinBalance": 6
|
|
629
|
+
"sweepWalletMinBalance": 6,
|
|
630
|
+
"recommendedMinBalanceFundingWallet": 333,
|
|
631
|
+
"recommendedMinBalanceEscrow": 0,
|
|
632
|
+
"recommendedMinBalanceRentEnergy": 50
|
|
588
633
|
},
|
|
589
634
|
{
|
|
590
635
|
"name": "Tether Token",
|
|
@@ -595,7 +640,10 @@
|
|
|
595
640
|
"decimals": 6,
|
|
596
641
|
"address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
|
|
597
642
|
"sweepThreshold": 1,
|
|
598
|
-
"sweepWalletMinBalance": 0.1
|
|
643
|
+
"sweepWalletMinBalance": 0.1,
|
|
644
|
+
"recommendedMinBalanceFundingWallet": 100,
|
|
645
|
+
"recommendedMinBalanceEscrow": 0,
|
|
646
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
599
647
|
}
|
|
600
648
|
]
|
|
601
649
|
}
|
|
@@ -64,7 +64,10 @@
|
|
|
64
64
|
"decimals": 18,
|
|
65
65
|
"address": "0x0000000000000000000000000000000000000000",
|
|
66
66
|
"sweepThreshold": 0.004,
|
|
67
|
-
"sweepWalletMinBalance": 0.0002
|
|
67
|
+
"sweepWalletMinBalance": 0.0002,
|
|
68
|
+
"recommendedMinBalanceFundingWallet": 0.025,
|
|
69
|
+
"recommendedMinBalanceEscrow": 0.5,
|
|
70
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
68
71
|
},
|
|
69
72
|
{
|
|
70
73
|
"name": "Tether Token",
|
|
@@ -75,7 +78,10 @@
|
|
|
75
78
|
"decimals": 6,
|
|
76
79
|
"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
|
|
77
80
|
"sweepThreshold": 5,
|
|
78
|
-
"sweepWalletMinBalance": 1
|
|
81
|
+
"sweepWalletMinBalance": 1,
|
|
82
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
83
|
+
"recommendedMinBalanceEscrow": 100,
|
|
84
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
79
85
|
},
|
|
80
86
|
{
|
|
81
87
|
"name": "Circle Token",
|
|
@@ -86,7 +92,10 @@
|
|
|
86
92
|
"decimals": 6,
|
|
87
93
|
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
88
94
|
"sweepThreshold": 1,
|
|
89
|
-
"sweepWalletMinBalance": 0.1
|
|
95
|
+
"sweepWalletMinBalance": 0.1,
|
|
96
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
97
|
+
"recommendedMinBalanceEscrow": 100,
|
|
98
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
90
99
|
}
|
|
91
100
|
]
|
|
92
101
|
},
|
|
@@ -155,7 +164,10 @@
|
|
|
155
164
|
"decimals": 18,
|
|
156
165
|
"address": "0x0000000000000000000000000000000000000000",
|
|
157
166
|
"sweepThreshold": 0.008,
|
|
158
|
-
"sweepWalletMinBalance": 0.0002
|
|
167
|
+
"sweepWalletMinBalance": 0.0002,
|
|
168
|
+
"recommendedMinBalanceFundingWallet": 0.1,
|
|
169
|
+
"recommendedMinBalanceEscrow": 1,
|
|
170
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
159
171
|
},
|
|
160
172
|
{
|
|
161
173
|
"name": "Tether Token",
|
|
@@ -166,7 +178,10 @@
|
|
|
166
178
|
"decimals": 18,
|
|
167
179
|
"address": "0x55d398326f99059fF775485246999027B3197955",
|
|
168
180
|
"sweepThreshold": 5,
|
|
169
|
-
"sweepWalletMinBalance": 1
|
|
181
|
+
"sweepWalletMinBalance": 1,
|
|
182
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
183
|
+
"recommendedMinBalanceEscrow": 100,
|
|
184
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
170
185
|
}
|
|
171
186
|
]
|
|
172
187
|
},
|
|
@@ -181,14 +196,14 @@
|
|
|
181
196
|
"rpcBaseUrlWss": "wss://rpc.ankr.com/solana/ws",
|
|
182
197
|
"targetConfirmations": 32,
|
|
183
198
|
"accounting": {
|
|
184
|
-
"funding_wallet": "
|
|
199
|
+
"funding_wallet": "4sqzWCATZ6ZkyZtdgQCB3CFpuuC9feVvRdDzfB6KB7QR",
|
|
185
200
|
"treasury_receiver": "57vC54RYuNVVNHBuzfAn5kxpvFSFUZ28VXnKcYCGnvPS",
|
|
186
201
|
"overflow_treasury_receiver": "57vC54RYuNVVNHBuzfAn5kxpvFSFUZ28VXnKcYCGnvPS",
|
|
187
202
|
"overflow_threshold_decimal": 100000,
|
|
188
203
|
"min_funding_wallet_balance_usd": 5,
|
|
189
204
|
"allowed_receivers": [
|
|
190
205
|
"57vC54RYuNVVNHBuzfAn5kxpvFSFUZ28VXnKcYCGnvPS",
|
|
191
|
-
"
|
|
206
|
+
"4sqzWCATZ6ZkyZtdgQCB3CFpuuC9feVvRdDzfB6KB7QR"
|
|
192
207
|
]
|
|
193
208
|
},
|
|
194
209
|
"custodialAlchemyWebhooks": [
|
|
@@ -240,7 +255,7 @@
|
|
|
240
255
|
"startingBlock": 45852351,
|
|
241
256
|
"escrowAlchemyWebhooks": [],
|
|
242
257
|
"addresses": [
|
|
243
|
-
"
|
|
258
|
+
"4sqzWCATZ6ZkyZtdgQCB3CFpuuC9feVvRdDzfB6KB7QR"
|
|
244
259
|
]
|
|
245
260
|
}
|
|
246
261
|
],
|
|
@@ -254,7 +269,10 @@
|
|
|
254
269
|
"decimals": 9,
|
|
255
270
|
"address": "11111111111111111111111111111111",
|
|
256
271
|
"sweepThreshold": 0.05,
|
|
257
|
-
"sweepWalletMinBalance": 0.01
|
|
272
|
+
"sweepWalletMinBalance": 0.01,
|
|
273
|
+
"recommendedMinBalanceFundingWallet": 0.1,
|
|
274
|
+
"recommendedMinBalanceEscrow": 1,
|
|
275
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
258
276
|
},
|
|
259
277
|
{
|
|
260
278
|
"name": "Circle Token",
|
|
@@ -265,7 +283,10 @@
|
|
|
265
283
|
"decimals": 6,
|
|
266
284
|
"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
|
|
267
285
|
"sweepThreshold": 1,
|
|
268
|
-
"sweepWalletMinBalance": 1
|
|
286
|
+
"sweepWalletMinBalance": 1,
|
|
287
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
288
|
+
"recommendedMinBalanceEscrow": 100,
|
|
289
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
269
290
|
}
|
|
270
291
|
]
|
|
271
292
|
},
|
|
@@ -334,7 +355,10 @@
|
|
|
334
355
|
"decimals": 18,
|
|
335
356
|
"address": "0x0000000000000000000000000000000000000000",
|
|
336
357
|
"sweepThreshold": 10,
|
|
337
|
-
"sweepWalletMinBalance": 0.1
|
|
358
|
+
"sweepWalletMinBalance": 0.1,
|
|
359
|
+
"recommendedMinBalanceFundingWallet": 50,
|
|
360
|
+
"recommendedMinBalanceEscrow": 1000,
|
|
361
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
338
362
|
},
|
|
339
363
|
{
|
|
340
364
|
"name": "Tether Token",
|
|
@@ -345,7 +369,10 @@
|
|
|
345
369
|
"decimals": 6,
|
|
346
370
|
"address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F",
|
|
347
371
|
"sweepThreshold": 0,
|
|
348
|
-
"sweepWalletMinBalance": 1
|
|
372
|
+
"sweepWalletMinBalance": 1,
|
|
373
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
374
|
+
"recommendedMinBalanceEscrow": 100,
|
|
375
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
349
376
|
}
|
|
350
377
|
]
|
|
351
378
|
},
|
|
@@ -414,7 +441,10 @@
|
|
|
414
441
|
"decimals": 18,
|
|
415
442
|
"address": "0x0000000000000000000000000000000000000000",
|
|
416
443
|
"sweepThreshold": 0.05,
|
|
417
|
-
"sweepWalletMinBalance": 0.01
|
|
444
|
+
"sweepWalletMinBalance": 0.01,
|
|
445
|
+
"recommendedMinBalanceFundingWallet": 1,
|
|
446
|
+
"recommendedMinBalanceEscrow": 10,
|
|
447
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
418
448
|
},
|
|
419
449
|
{
|
|
420
450
|
"name": "Tether Token",
|
|
@@ -425,7 +455,10 @@
|
|
|
425
455
|
"decimals": 6,
|
|
426
456
|
"address": "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7",
|
|
427
457
|
"sweepThreshold": 5,
|
|
428
|
-
"sweepWalletMinBalance": 1
|
|
458
|
+
"sweepWalletMinBalance": 1,
|
|
459
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
460
|
+
"recommendedMinBalanceEscrow": 100,
|
|
461
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
429
462
|
}
|
|
430
463
|
]
|
|
431
464
|
},
|
|
@@ -490,7 +523,10 @@
|
|
|
490
523
|
"decimals": 6,
|
|
491
524
|
"address": "0000000000000000000000000000000000000000",
|
|
492
525
|
"sweepThreshold": 10,
|
|
493
|
-
"sweepWalletMinBalance": 6
|
|
526
|
+
"sweepWalletMinBalance": 6,
|
|
527
|
+
"recommendedMinBalanceFundingWallet": 333,
|
|
528
|
+
"recommendedMinBalanceEscrow": 0,
|
|
529
|
+
"recommendedMinBalanceRentEnergy": 50
|
|
494
530
|
},
|
|
495
531
|
{
|
|
496
532
|
"name": "Tether Token",
|
|
@@ -501,7 +537,10 @@
|
|
|
501
537
|
"decimals": 6,
|
|
502
538
|
"address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
|
|
503
539
|
"sweepThreshold": 2,
|
|
504
|
-
"sweepWalletMinBalance": 0.1
|
|
540
|
+
"sweepWalletMinBalance": 0.1,
|
|
541
|
+
"recommendedMinBalanceFundingWallet": 100,
|
|
542
|
+
"recommendedMinBalanceEscrow": 0,
|
|
543
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
505
544
|
}
|
|
506
545
|
]
|
|
507
546
|
},
|
|
@@ -64,7 +64,10 @@
|
|
|
64
64
|
"decimals": 18,
|
|
65
65
|
"address": "0x0000000000000000000000000000000000000000",
|
|
66
66
|
"sweepThreshold": 0.004,
|
|
67
|
-
"sweepWalletMinBalance": 0.0002
|
|
67
|
+
"sweepWalletMinBalance": 0.0002,
|
|
68
|
+
"recommendedMinBalanceFundingWallet": 0.025,
|
|
69
|
+
"recommendedMinBalanceEscrow": 0.5,
|
|
70
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
68
71
|
},
|
|
69
72
|
{
|
|
70
73
|
"name": "Tether Token",
|
|
@@ -75,7 +78,10 @@
|
|
|
75
78
|
"decimals": 6,
|
|
76
79
|
"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
|
|
77
80
|
"sweepThreshold": 5,
|
|
78
|
-
"sweepWalletMinBalance": 1
|
|
81
|
+
"sweepWalletMinBalance": 1,
|
|
82
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
83
|
+
"recommendedMinBalanceEscrow": 100,
|
|
84
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
79
85
|
},
|
|
80
86
|
{
|
|
81
87
|
"name": "Circle Token",
|
|
@@ -86,7 +92,10 @@
|
|
|
86
92
|
"decimals": 6,
|
|
87
93
|
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
88
94
|
"sweepThreshold": 1,
|
|
89
|
-
"sweepWalletMinBalance": 0.1
|
|
95
|
+
"sweepWalletMinBalance": 0.1,
|
|
96
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
97
|
+
"recommendedMinBalanceEscrow": 100,
|
|
98
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
90
99
|
}
|
|
91
100
|
]
|
|
92
101
|
},
|
|
@@ -155,7 +164,10 @@
|
|
|
155
164
|
"decimals": 18,
|
|
156
165
|
"address": "0x0000000000000000000000000000000000000000",
|
|
157
166
|
"sweepThreshold": 0.008,
|
|
158
|
-
"sweepWalletMinBalance": 0.0002
|
|
167
|
+
"sweepWalletMinBalance": 0.0002,
|
|
168
|
+
"recommendedMinBalanceFundingWallet": 0.1,
|
|
169
|
+
"recommendedMinBalanceEscrow": 1,
|
|
170
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
159
171
|
},
|
|
160
172
|
{
|
|
161
173
|
"name": "Tether Token",
|
|
@@ -166,7 +178,115 @@
|
|
|
166
178
|
"decimals": 18,
|
|
167
179
|
"address": "0x55d398326f99059fF775485246999027B3197955",
|
|
168
180
|
"sweepThreshold": 5,
|
|
169
|
-
"sweepWalletMinBalance": 1
|
|
181
|
+
"sweepWalletMinBalance": 1,
|
|
182
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
183
|
+
"recommendedMinBalanceEscrow": 100,
|
|
184
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
185
|
+
}
|
|
186
|
+
]
|
|
187
|
+
},
|
|
188
|
+
"101": {
|
|
189
|
+
"status": true,
|
|
190
|
+
"isTestnet": false,
|
|
191
|
+
"name": "Solana",
|
|
192
|
+
"blockchainType": "solana",
|
|
193
|
+
"chainId": 101,
|
|
194
|
+
"blockexplorerUrl": "https://solscan.io",
|
|
195
|
+
"rpcBaseUrl": "https://rpc.ankr.com/solana",
|
|
196
|
+
"rpcBaseUrlWss": "wss://rpc.ankr.com/solana/ws",
|
|
197
|
+
"targetConfirmations": 32,
|
|
198
|
+
"accounting": {
|
|
199
|
+
"funding_wallet": "AeuBUW7EHTD2Er5FrtZKbMHLwdHmMmMtHi6sFJvfHAKL",
|
|
200
|
+
"treasury_receiver": "Etsf9vBYTwrJP69AFmvgJifFJ5FnNAufBPujPxxg1Y3z",
|
|
201
|
+
"overflow_treasury_receiver": "Etsf9vBYTwrJP69AFmvgJifFJ5FnNAufBPujPxxg1Y3z",
|
|
202
|
+
"overflow_threshold_decimal": 100000,
|
|
203
|
+
"min_funding_wallet_balance_usd": 5,
|
|
204
|
+
"allowed_receivers": [
|
|
205
|
+
"Etsf9vBYTwrJP69AFmvgJifFJ5FnNAufBPujPxxg1Y3z",
|
|
206
|
+
"AeuBUW7EHTD2Er5FrtZKbMHLwdHmMmMtHi6sFJvfHAKL"
|
|
207
|
+
]
|
|
208
|
+
},
|
|
209
|
+
"custodialAlchemyWebhooks": [
|
|
210
|
+
{
|
|
211
|
+
"chainId": "101",
|
|
212
|
+
"network_symbol": "sol",
|
|
213
|
+
"network": "SOLANA_MAINNET",
|
|
214
|
+
"total_wallet_count": 10,
|
|
215
|
+
"endpoint": "webhook/alchemy/address-activity-sol",
|
|
216
|
+
"source": "wallet"
|
|
217
|
+
}
|
|
218
|
+
],
|
|
219
|
+
"quicknodeNotificationConfig": [
|
|
220
|
+
{
|
|
221
|
+
"name": "escrow-sol-stg-sh",
|
|
222
|
+
"network": "solana-mainnet",
|
|
223
|
+
"template": "solanaWalletFilter",
|
|
224
|
+
"source": "contract",
|
|
225
|
+
"chain_id": 101
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"name": "qn-custodial-webhook-sol-stg-sh",
|
|
229
|
+
"network": "solana-mainnet",
|
|
230
|
+
"template": "solanaWalletFilter"
|
|
231
|
+
}
|
|
232
|
+
],
|
|
233
|
+
"contracts": [
|
|
234
|
+
{
|
|
235
|
+
"type": "Escrow",
|
|
236
|
+
"version": "1",
|
|
237
|
+
"startingBlock": 416497745,
|
|
238
|
+
"escrowAlchemyWebhooks": [
|
|
239
|
+
{
|
|
240
|
+
"chainId": "101",
|
|
241
|
+
"network_symbol": "sol",
|
|
242
|
+
"network": "SOLANA_MAINNET",
|
|
243
|
+
"type": "ADDRESS_ACTIVITY",
|
|
244
|
+
"endpoint": "webhook/alchemy/solana/escrow-events",
|
|
245
|
+
"source": "contract"
|
|
246
|
+
}
|
|
247
|
+
],
|
|
248
|
+
"addresses": [
|
|
249
|
+
"Etsf9vBYTwrJP69AFmvgJifFJ5FnNAufBPujPxxg1Y3z"
|
|
250
|
+
]
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"type": "FundingWallet",
|
|
254
|
+
"version": "1",
|
|
255
|
+
"startingBlock": 45852351,
|
|
256
|
+
"escrowAlchemyWebhooks": [],
|
|
257
|
+
"addresses": [
|
|
258
|
+
"AeuBUW7EHTD2Er5FrtZKbMHLwdHmMmMtHi6sFJvfHAKL"
|
|
259
|
+
]
|
|
260
|
+
}
|
|
261
|
+
],
|
|
262
|
+
"paymentTokens": [
|
|
263
|
+
{
|
|
264
|
+
"name": "Solana",
|
|
265
|
+
"symbol": "SOL",
|
|
266
|
+
"token_standard": "SOL",
|
|
267
|
+
"type": "native",
|
|
268
|
+
"isStableCoin": false,
|
|
269
|
+
"decimals": 9,
|
|
270
|
+
"address": "11111111111111111111111111111111",
|
|
271
|
+
"sweepThreshold": 0.05,
|
|
272
|
+
"sweepWalletMinBalance": 0.01,
|
|
273
|
+
"recommendedMinBalanceFundingWallet": 0.1,
|
|
274
|
+
"recommendedMinBalanceEscrow": 1,
|
|
275
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"name": "Circle Token",
|
|
279
|
+
"symbol": "USDC",
|
|
280
|
+
"token_standard": "SOL",
|
|
281
|
+
"type": "erc20",
|
|
282
|
+
"isStableCoin": true,
|
|
283
|
+
"decimals": 6,
|
|
284
|
+
"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
|
|
285
|
+
"sweepThreshold": 1,
|
|
286
|
+
"sweepWalletMinBalance": 1,
|
|
287
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
288
|
+
"recommendedMinBalanceEscrow": 100,
|
|
289
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
170
290
|
}
|
|
171
291
|
]
|
|
172
292
|
},
|
|
@@ -235,7 +355,10 @@
|
|
|
235
355
|
"decimals": 18,
|
|
236
356
|
"address": "0x0000000000000000000000000000000000000000",
|
|
237
357
|
"sweepThreshold": 10,
|
|
238
|
-
"sweepWalletMinBalance": 0.1
|
|
358
|
+
"sweepWalletMinBalance": 0.1,
|
|
359
|
+
"recommendedMinBalanceFundingWallet": 50,
|
|
360
|
+
"recommendedMinBalanceEscrow": 1000,
|
|
361
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
239
362
|
},
|
|
240
363
|
{
|
|
241
364
|
"name": "Tether Token",
|
|
@@ -246,7 +369,10 @@
|
|
|
246
369
|
"decimals": 6,
|
|
247
370
|
"address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F",
|
|
248
371
|
"sweepThreshold": 0,
|
|
249
|
-
"sweepWalletMinBalance": 1
|
|
372
|
+
"sweepWalletMinBalance": 1,
|
|
373
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
374
|
+
"recommendedMinBalanceEscrow": 100,
|
|
375
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
250
376
|
}
|
|
251
377
|
]
|
|
252
378
|
},
|
|
@@ -315,7 +441,10 @@
|
|
|
315
441
|
"decimals": 18,
|
|
316
442
|
"address": "0x0000000000000000000000000000000000000000",
|
|
317
443
|
"sweepThreshold": 0.05,
|
|
318
|
-
"sweepWalletMinBalance": 0.01
|
|
444
|
+
"sweepWalletMinBalance": 0.01,
|
|
445
|
+
"recommendedMinBalanceFundingWallet": 1,
|
|
446
|
+
"recommendedMinBalanceEscrow": 10,
|
|
447
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
319
448
|
},
|
|
320
449
|
{
|
|
321
450
|
"name": "Tether Token",
|
|
@@ -326,7 +455,10 @@
|
|
|
326
455
|
"decimals": 6,
|
|
327
456
|
"address": "0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7",
|
|
328
457
|
"sweepThreshold": 5,
|
|
329
|
-
"sweepWalletMinBalance": 1
|
|
458
|
+
"sweepWalletMinBalance": 1,
|
|
459
|
+
"recommendedMinBalanceFundingWallet": 0,
|
|
460
|
+
"recommendedMinBalanceEscrow": 100,
|
|
461
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
330
462
|
}
|
|
331
463
|
]
|
|
332
464
|
},
|
|
@@ -391,7 +523,10 @@
|
|
|
391
523
|
"decimals": 6,
|
|
392
524
|
"address": "0000000000000000000000000000000000000000",
|
|
393
525
|
"sweepThreshold": 10,
|
|
394
|
-
"sweepWalletMinBalance": 6
|
|
526
|
+
"sweepWalletMinBalance": 6,
|
|
527
|
+
"recommendedMinBalanceFundingWallet": 333,
|
|
528
|
+
"recommendedMinBalanceEscrow": 0,
|
|
529
|
+
"recommendedMinBalanceRentEnergy": 50
|
|
395
530
|
},
|
|
396
531
|
{
|
|
397
532
|
"name": "Tether Token",
|
|
@@ -402,7 +537,10 @@
|
|
|
402
537
|
"decimals": 6,
|
|
403
538
|
"address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
|
|
404
539
|
"sweepThreshold": 2,
|
|
405
|
-
"sweepWalletMinBalance": 0.1
|
|
540
|
+
"sweepWalletMinBalance": 0.1,
|
|
541
|
+
"recommendedMinBalanceFundingWallet": 100,
|
|
542
|
+
"recommendedMinBalanceEscrow": 0,
|
|
543
|
+
"recommendedMinBalanceRentEnergy": 0
|
|
406
544
|
}
|
|
407
545
|
]
|
|
408
546
|
},
|
|
@@ -14,6 +14,7 @@ declare class Redis {
|
|
|
14
14
|
subscriber?: RedisClientType;
|
|
15
15
|
private prefix;
|
|
16
16
|
private logger;
|
|
17
|
+
private duplicates;
|
|
17
18
|
private connectPromise;
|
|
18
19
|
private subscriberConnectPromise;
|
|
19
20
|
private expiryPattern;
|
|
@@ -21,8 +22,16 @@ declare class Redis {
|
|
|
21
22
|
private constructor();
|
|
22
23
|
static getInstance(config: IConfig): Redis;
|
|
23
24
|
private createClient;
|
|
25
|
+
create_managed_duplicate(): Promise<RedisClientType>;
|
|
24
26
|
private attachMainClientListeners;
|
|
25
27
|
private attachSubscriberListeners;
|
|
28
|
+
/**
|
|
29
|
+
* Attaches listeners and attempts to reconnect duplicate on 'end'
|
|
30
|
+
* @param duplicate The duplicate client from the main Redis Client
|
|
31
|
+
*/
|
|
32
|
+
private attachDuplicateListeners;
|
|
33
|
+
private wait_for_main_client;
|
|
34
|
+
private recreate_duplicate;
|
|
26
35
|
private connectClient;
|
|
27
36
|
private connectSubscriber;
|
|
28
37
|
private _doConnectSubscriber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Redis.d.ts","sourceRoot":"","sources":["../../src/services/Redis.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,UAAU,UAAU;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9B;AAED,cAAM,KAAK;IACP,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC;IACvB,OAAO,CAAC,MAAM,CAAU;IACjB,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,CAAC,EAAE,eAAe,CAAC;IACpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;
|
|
1
|
+
{"version":3,"file":"Redis.d.ts","sourceRoot":"","sources":["../../src/services/Redis.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,UAAU,UAAU;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9B;AAED,cAAM,KAAK;IACP,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC;IACvB,OAAO,CAAC,MAAM,CAAU;IACjB,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,CAAC,EAAE,eAAe,CAAC;IACpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAuB;IAGzC,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,wBAAwB,CAA8B;IAG9D,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,aAAa,CAAiD;IAEtE,OAAO;IAQP,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK;IAW1C,OAAO,CAAC,YAAY;IA8BP,wBAAwB,IAAI,OAAO,CAAC,eAAe,CAAC;IAWjE,OAAO,CAAC,yBAAyB;IAsCjC,OAAO,CAAC,yBAAyB;IAYjC;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,oBAAoB;YAad,kBAAkB;YAWlB,aAAa;YASb,iBAAiB;YAQjB,oBAAoB;IAclC;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IA0Bb,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAkB1B,aAAa;IAed,iBAAiB,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CpF,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,UAAO,GAAG,MAAM;YAQxC,eAAe;YAIf,IAAI;YAKJ,IAAI;YAuBJ,OAAO;IASR,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIzC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAIxE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIrC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5E,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,UAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAOzD,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAQ3C,WAAW;CA4B5B;AAED,eAAe,KAAK,CAAC"}
|
package/build/services/Redis.js
CHANGED
|
@@ -28,6 +28,7 @@ class Redis {
|
|
|
28
28
|
this.prefix = `${config.serverConfig.projectName}-${config.serverConfig.environment}`;
|
|
29
29
|
this.logger = (0, Logger_1.createLogger)("Redis", config.pipelineConfig.azureAppName);
|
|
30
30
|
this.client = this.createClient();
|
|
31
|
+
this.duplicates = new Set();
|
|
31
32
|
}
|
|
32
33
|
static getInstance(config) {
|
|
33
34
|
if (!this.instance) {
|
|
@@ -67,6 +68,16 @@ class Redis {
|
|
|
67
68
|
this.attachMainClientListeners(client);
|
|
68
69
|
return client;
|
|
69
70
|
}
|
|
71
|
+
create_managed_duplicate() {
|
|
72
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
yield this.wait_for_main_client();
|
|
74
|
+
const duplicate = this.client.duplicate();
|
|
75
|
+
yield duplicate.connect();
|
|
76
|
+
this.duplicates.add(duplicate);
|
|
77
|
+
this.attachDuplicateListeners(duplicate);
|
|
78
|
+
return duplicate;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
70
81
|
attachMainClientListeners(client) {
|
|
71
82
|
client.on("error", (err) => {
|
|
72
83
|
var _a;
|
|
@@ -90,6 +101,14 @@ class Redis {
|
|
|
90
101
|
return; // already recovering
|
|
91
102
|
this.client = this.createClient();
|
|
92
103
|
this.connectPromise = this.connectClient(this.client)
|
|
104
|
+
.then(() => {
|
|
105
|
+
// All existing duplicates were cloned from the dead client — they must be
|
|
106
|
+
// recreated from the new this.client now that it is connected.
|
|
107
|
+
const dead_duplicates = [...this.duplicates];
|
|
108
|
+
for (const dup of dead_duplicates) {
|
|
109
|
+
this.recreate_duplicate(dup).catch((err) => this.logger.error("Redis: duplicate recreation after main reconnect failed", { data: { error: err } }));
|
|
110
|
+
}
|
|
111
|
+
})
|
|
93
112
|
.catch((err) => this.logger.error("Redis: fresh client connect failed", { data: { error: err } }))
|
|
94
113
|
.finally(() => { this.connectPromise = null; });
|
|
95
114
|
});
|
|
@@ -105,6 +124,50 @@ class Redis {
|
|
|
105
124
|
this.recreateSubscriber();
|
|
106
125
|
});
|
|
107
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Attaches listeners and attempts to reconnect duplicate on 'end'
|
|
129
|
+
* @param duplicate The duplicate client from the main Redis Client
|
|
130
|
+
*/
|
|
131
|
+
attachDuplicateListeners(duplicate) {
|
|
132
|
+
duplicate.on("error", (err) => this.logger.warn("Redis: duplicate error", { data: { error: err === null || err === void 0 ? void 0 : err.message } }));
|
|
133
|
+
duplicate.on("reconnecting", () => this.logger.warn("Redis: duplicate reconnecting"));
|
|
134
|
+
duplicate.on("connect", () => this.logger.info("Redis: duplicate connected"));
|
|
135
|
+
duplicate.on("ready", () => {
|
|
136
|
+
this.logger.info("Redis: duplicate ready");
|
|
137
|
+
const stream = duplicate.socket;
|
|
138
|
+
if (stream === null || stream === void 0 ? void 0 : stream.setKeepAlive)
|
|
139
|
+
stream.setKeepAlive(true, 10000);
|
|
140
|
+
});
|
|
141
|
+
duplicate.on("end", () => {
|
|
142
|
+
this.logger.warn("Redis: duplicate ended — recreating");
|
|
143
|
+
this.recreate_duplicate(duplicate).catch(err => this.logger.error("Redis: duplicate recreation failed", { data: { error: err } }));
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
// Waits until the main client is open and ready.
|
|
147
|
+
// Re-registers on this.client at each step so it follows the reference if the main
|
|
148
|
+
// client was replaced by a fresh one in the 'end' handler.
|
|
149
|
+
wait_for_main_client() {
|
|
150
|
+
if (this.client.isOpen)
|
|
151
|
+
return Promise.resolve();
|
|
152
|
+
return new Promise((resolve) => {
|
|
153
|
+
const check = () => {
|
|
154
|
+
if (this.client.isOpen)
|
|
155
|
+
return resolve();
|
|
156
|
+
this.client.once("ready", check);
|
|
157
|
+
};
|
|
158
|
+
this.client.once("ready", check);
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
// Removes the dead duplicate from the managed set and creates a fresh one.
|
|
162
|
+
// Defers creation until the main client is ready so we never duplicate a dead socket.
|
|
163
|
+
recreate_duplicate(dead) {
|
|
164
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
165
|
+
this.duplicates.delete(dead);
|
|
166
|
+
yield this.wait_for_main_client();
|
|
167
|
+
yield this.create_managed_duplicate();
|
|
168
|
+
this.logger.info("Redis: duplicate recreated successfully");
|
|
169
|
+
});
|
|
170
|
+
}
|
|
108
171
|
// -------------------------------------------------------------------------
|
|
109
172
|
// Connection management
|
|
110
173
|
// -------------------------------------------------------------------------
|