@rosen-bridge/watcher-data-extractor 2.0.0 → 2.1.2

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.
Files changed (55) hide show
  1. package/dist/actions/{EventTriggerDB.d.ts → EventTriggerAction.d.ts} +7 -5
  2. package/dist/actions/EventTriggerAction.d.ts.map +1 -0
  3. package/dist/actions/EventTriggerAction.js +123 -0
  4. package/dist/actions/{commitmentDB.d.ts → commitmentAction.d.ts} +8 -7
  5. package/dist/actions/commitmentAction.d.ts.map +1 -0
  6. package/dist/actions/commitmentAction.js +111 -0
  7. package/dist/actions/permitAction.d.ts +64 -0
  8. package/dist/actions/permitAction.d.ts.map +1 -0
  9. package/dist/actions/permitAction.js +171 -0
  10. package/dist/constants.d.ts +2 -1
  11. package/dist/constants.d.ts.map +1 -1
  12. package/dist/constants.js +3 -2
  13. package/dist/entities/CommitmentEntity.d.ts +1 -1
  14. package/dist/entities/CommitmentEntity.d.ts.map +1 -1
  15. package/dist/entities/CommitmentEntity.js +3 -3
  16. package/dist/entities/EventTriggerEntity.d.ts +1 -1
  17. package/dist/entities/EventTriggerEntity.d.ts.map +1 -1
  18. package/dist/entities/EventTriggerEntity.js +3 -3
  19. package/dist/entities/PermitEntity.d.ts +1 -1
  20. package/dist/entities/PermitEntity.d.ts.map +1 -1
  21. package/dist/entities/PermitEntity.js +3 -3
  22. package/dist/extractor/EventTriggerExtractor.d.ts.map +1 -1
  23. package/dist/extractor/EventTriggerExtractor.js +5 -5
  24. package/dist/extractor/commitmentExtractor.d.ts.map +1 -1
  25. package/dist/extractor/commitmentExtractor.js +5 -5
  26. package/dist/extractor/permitExtractor.d.ts +114 -5
  27. package/dist/extractor/permitExtractor.d.ts.map +1 -1
  28. package/dist/extractor/permitExtractor.js +129 -33
  29. package/dist/interfaces/extractedPermit.d.ts +2 -0
  30. package/dist/interfaces/extractedPermit.d.ts.map +1 -1
  31. package/dist/interfaces/extractedPermit.js +1 -1
  32. package/dist/migrations/index.d.ts.map +1 -1
  33. package/dist/migrations/index.js +5 -3
  34. package/dist/migrations/postgres/1689175974257-migration.d.ts +7 -0
  35. package/dist/migrations/postgres/1689175974257-migration.d.ts.map +1 -0
  36. package/dist/migrations/postgres/1689175974257-migration.js +50 -0
  37. package/dist/migrations/sqlite/1689175103163-migration.d.ts +7 -0
  38. package/dist/migrations/sqlite/1689175103163-migration.d.ts.map +1 -0
  39. package/dist/migrations/sqlite/1689175103163-migration.js +392 -0
  40. package/dist/{network/parser.d.ts → utils.d.ts} +3 -2
  41. package/dist/utils.d.ts.map +1 -0
  42. package/dist/utils.js +6 -0
  43. package/package.json +3 -2
  44. package/dist/actions/EventTriggerDB.d.ts.map +0 -1
  45. package/dist/actions/EventTriggerDB.js +0 -145
  46. package/dist/actions/commitmentDB.d.ts.map +0 -1
  47. package/dist/actions/commitmentDB.js +0 -129
  48. package/dist/actions/permitDB.d.ts +0 -39
  49. package/dist/actions/permitDB.d.ts.map +0 -1
  50. package/dist/actions/permitDB.js +0 -166
  51. package/dist/network/ergoNetworkApi.d.ts +0 -15
  52. package/dist/network/ergoNetworkApi.d.ts.map +0 -1
  53. package/dist/network/ergoNetworkApi.js +0 -27
  54. package/dist/network/parser.d.ts.map +0 -1
  55. package/dist/network/parser.js +0 -5
@@ -0,0 +1,392 @@
1
+ export class migration1689175103163 {
2
+ name = 'migration1689175103163';
3
+ async up(queryRunner) {
4
+ await queryRunner.query(`
5
+ CREATE TABLE "temporary_event_trigger_entity" (
6
+ "id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
7
+ "eventId" varchar NOT NULL DEFAULT ('Not-set'),
8
+ "txId" varchar NOT NULL,
9
+ "extractor" varchar NOT NULL,
10
+ "boxId" varchar NOT NULL,
11
+ "boxSerialized" varchar NOT NULL,
12
+ "block" varchar NOT NULL,
13
+ "height" integer NOT NULL,
14
+ "fromChain" varchar NOT NULL,
15
+ "toChain" varchar NOT NULL,
16
+ "fromAddress" varchar NOT NULL,
17
+ "toAddress" varchar NOT NULL,
18
+ "amount" varchar NOT NULL,
19
+ "bridgeFee" varchar NOT NULL,
20
+ "networkFee" varchar NOT NULL,
21
+ "sourceChainTokenId" varchar NOT NULL,
22
+ "sourceChainHeight" integer NOT NULL,
23
+ "targetChainTokenId" varchar NOT NULL,
24
+ "sourceTxId" varchar NOT NULL,
25
+ "sourceBlockId" varchar NOT NULL,
26
+ "WIDs" varchar NOT NULL,
27
+ "spendBlock" text,
28
+ "spendHeight" integer,
29
+ "spendTxId" varchar,
30
+ CONSTRAINT "UQ_c905f221a1b6271ca4405dbbe5f" UNIQUE ("boxId", "extractor")
31
+ )
32
+ `);
33
+ await queryRunner.query(`
34
+ INSERT INTO "temporary_event_trigger_entity"(
35
+ "id",
36
+ "eventId",
37
+ "txId",
38
+ "extractor",
39
+ "boxId",
40
+ "boxSerialized",
41
+ "block",
42
+ "height",
43
+ "fromChain",
44
+ "toChain",
45
+ "fromAddress",
46
+ "toAddress",
47
+ "amount",
48
+ "bridgeFee",
49
+ "networkFee",
50
+ "sourceChainTokenId",
51
+ "sourceChainHeight",
52
+ "targetChainTokenId",
53
+ "sourceTxId",
54
+ "sourceBlockId",
55
+ "WIDs",
56
+ "spendBlock",
57
+ "spendHeight",
58
+ "spendTxId"
59
+ )
60
+ SELECT "id",
61
+ "eventId",
62
+ "txId",
63
+ "extractor",
64
+ "boxId",
65
+ "boxSerialized",
66
+ "block",
67
+ "height",
68
+ "fromChain",
69
+ "toChain",
70
+ "fromAddress",
71
+ "toAddress",
72
+ "amount",
73
+ "bridgeFee",
74
+ "networkFee",
75
+ "sourceChainTokenId",
76
+ "sourceChainHeight",
77
+ "targetChainTokenId",
78
+ "sourceTxId",
79
+ "sourceBlockId",
80
+ "WIDs",
81
+ "spendBlock",
82
+ "spendHeight",
83
+ "spendTxId"
84
+ FROM "event_trigger_entity"
85
+ `);
86
+ await queryRunner.query(`
87
+ DROP TABLE "event_trigger_entity"
88
+ `);
89
+ await queryRunner.query(`
90
+ ALTER TABLE "temporary_event_trigger_entity"
91
+ RENAME TO "event_trigger_entity"
92
+ `);
93
+ await queryRunner.query(`
94
+ CREATE TABLE "temporary_commitment_entity" (
95
+ "id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
96
+ "txId" varchar NOT NULL,
97
+ "extractor" varchar NOT NULL,
98
+ "eventId" varchar NOT NULL,
99
+ "commitment" varchar NOT NULL,
100
+ "WID" varchar NOT NULL,
101
+ "boxId" varchar NOT NULL,
102
+ "block" varchar NOT NULL,
103
+ "height" integer NOT NULL,
104
+ "boxSerialized" varchar NOT NULL,
105
+ "spendBlock" text,
106
+ "spendHeight" integer,
107
+ "rwtCount" varchar,
108
+ CONSTRAINT "UQ_cc294fc304a66f8f194840f1ece" UNIQUE ("boxId", "extractor")
109
+ )
110
+ `);
111
+ await queryRunner.query(`
112
+ INSERT INTO "temporary_commitment_entity"(
113
+ "id",
114
+ "txId",
115
+ "extractor",
116
+ "eventId",
117
+ "commitment",
118
+ "WID",
119
+ "boxId",
120
+ "block",
121
+ "height",
122
+ "boxSerialized",
123
+ "spendBlock",
124
+ "spendHeight",
125
+ "rwtCount"
126
+ )
127
+ SELECT "id",
128
+ "txId",
129
+ "extractor",
130
+ "eventId",
131
+ "commitment",
132
+ "WID",
133
+ "boxId",
134
+ "block",
135
+ "height",
136
+ "boxSerialized",
137
+ "spendBlock",
138
+ "spendHeight",
139
+ "rwtCount"
140
+ FROM "commitment_entity"
141
+ `);
142
+ await queryRunner.query(`
143
+ DROP TABLE "commitment_entity"
144
+ `);
145
+ await queryRunner.query(`
146
+ ALTER TABLE "temporary_commitment_entity"
147
+ RENAME TO "commitment_entity"
148
+ `);
149
+ await queryRunner.query(`
150
+ CREATE TABLE "temporary_permit_entity" (
151
+ "id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
152
+ "extractor" varchar NOT NULL,
153
+ "boxId" varchar NOT NULL,
154
+ "boxSerialized" varchar NOT NULL,
155
+ "WID" varchar NOT NULL,
156
+ "block" varchar NOT NULL,
157
+ "height" integer NOT NULL,
158
+ "spendBlock" text,
159
+ "spendHeight" integer,
160
+ "txId" varchar NOT NULL,
161
+ CONSTRAINT "UQ_d3226602b909b64bcaeadc39c3c" UNIQUE ("boxId", "extractor")
162
+ )
163
+ `);
164
+ await queryRunner.query(`
165
+ INSERT INTO "temporary_permit_entity"(
166
+ "id",
167
+ "extractor",
168
+ "boxId",
169
+ "boxSerialized",
170
+ "WID",
171
+ "block",
172
+ "height",
173
+ "spendBlock",
174
+ "spendHeight",
175
+ "txId"
176
+ )
177
+ SELECT "id",
178
+ "extractor",
179
+ "boxId",
180
+ "boxSerialized",
181
+ "WID",
182
+ "block",
183
+ "height",
184
+ "spendBlock",
185
+ "spendHeight",
186
+ "txId"
187
+ FROM "permit_entity"
188
+ `);
189
+ await queryRunner.query(`
190
+ DROP TABLE "permit_entity"
191
+ `);
192
+ await queryRunner.query(`
193
+ ALTER TABLE "temporary_permit_entity"
194
+ RENAME TO "permit_entity"
195
+ `);
196
+ }
197
+ async down(queryRunner) {
198
+ await queryRunner.query(`
199
+ ALTER TABLE "permit_entity"
200
+ RENAME TO "temporary_permit_entity"
201
+ `);
202
+ await queryRunner.query(`
203
+ CREATE TABLE "permit_entity" (
204
+ "id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
205
+ "extractor" varchar NOT NULL,
206
+ "boxId" varchar NOT NULL,
207
+ "boxSerialized" varchar NOT NULL,
208
+ "WID" varchar NOT NULL,
209
+ "block" varchar NOT NULL,
210
+ "height" integer NOT NULL,
211
+ "spendBlock" varchar,
212
+ "spendHeight" integer,
213
+ "txId" varchar NOT NULL,
214
+ CONSTRAINT "UQ_d3226602b909b64bcaeadc39c3c" UNIQUE ("boxId", "extractor")
215
+ )
216
+ `);
217
+ await queryRunner.query(`
218
+ INSERT INTO "permit_entity"(
219
+ "id",
220
+ "extractor",
221
+ "boxId",
222
+ "boxSerialized",
223
+ "WID",
224
+ "block",
225
+ "height",
226
+ "spendBlock",
227
+ "spendHeight",
228
+ "txId"
229
+ )
230
+ SELECT "id",
231
+ "extractor",
232
+ "boxId",
233
+ "boxSerialized",
234
+ "WID",
235
+ "block",
236
+ "height",
237
+ "spendBlock",
238
+ "spendHeight",
239
+ "txId"
240
+ FROM "temporary_permit_entity"
241
+ `);
242
+ await queryRunner.query(`
243
+ DROP TABLE "temporary_permit_entity"
244
+ `);
245
+ await queryRunner.query(`
246
+ ALTER TABLE "commitment_entity"
247
+ RENAME TO "temporary_commitment_entity"
248
+ `);
249
+ await queryRunner.query(`
250
+ CREATE TABLE "commitment_entity" (
251
+ "id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
252
+ "txId" varchar NOT NULL,
253
+ "extractor" varchar NOT NULL,
254
+ "eventId" varchar NOT NULL,
255
+ "commitment" varchar NOT NULL,
256
+ "WID" varchar NOT NULL,
257
+ "boxId" varchar NOT NULL,
258
+ "block" varchar NOT NULL,
259
+ "height" integer NOT NULL,
260
+ "boxSerialized" varchar NOT NULL,
261
+ "spendBlock" varchar,
262
+ "spendHeight" integer,
263
+ "rwtCount" varchar,
264
+ CONSTRAINT "UQ_cc294fc304a66f8f194840f1ece" UNIQUE ("boxId", "extractor")
265
+ )
266
+ `);
267
+ await queryRunner.query(`
268
+ INSERT INTO "commitment_entity"(
269
+ "id",
270
+ "txId",
271
+ "extractor",
272
+ "eventId",
273
+ "commitment",
274
+ "WID",
275
+ "boxId",
276
+ "block",
277
+ "height",
278
+ "boxSerialized",
279
+ "spendBlock",
280
+ "spendHeight",
281
+ "rwtCount"
282
+ )
283
+ SELECT "id",
284
+ "txId",
285
+ "extractor",
286
+ "eventId",
287
+ "commitment",
288
+ "WID",
289
+ "boxId",
290
+ "block",
291
+ "height",
292
+ "boxSerialized",
293
+ "spendBlock",
294
+ "spendHeight",
295
+ "rwtCount"
296
+ FROM "temporary_commitment_entity"
297
+ `);
298
+ await queryRunner.query(`
299
+ DROP TABLE "temporary_commitment_entity"
300
+ `);
301
+ await queryRunner.query(`
302
+ ALTER TABLE "event_trigger_entity"
303
+ RENAME TO "temporary_event_trigger_entity"
304
+ `);
305
+ await queryRunner.query(`
306
+ CREATE TABLE "event_trigger_entity" (
307
+ "id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
308
+ "eventId" varchar NOT NULL DEFAULT ('Not-set'),
309
+ "txId" varchar NOT NULL,
310
+ "extractor" varchar NOT NULL,
311
+ "boxId" varchar NOT NULL,
312
+ "boxSerialized" varchar NOT NULL,
313
+ "block" varchar NOT NULL,
314
+ "height" integer NOT NULL,
315
+ "fromChain" varchar NOT NULL,
316
+ "toChain" varchar NOT NULL,
317
+ "fromAddress" varchar NOT NULL,
318
+ "toAddress" varchar NOT NULL,
319
+ "amount" varchar NOT NULL,
320
+ "bridgeFee" varchar NOT NULL,
321
+ "networkFee" varchar NOT NULL,
322
+ "sourceChainTokenId" varchar NOT NULL,
323
+ "sourceChainHeight" integer NOT NULL,
324
+ "targetChainTokenId" varchar NOT NULL,
325
+ "sourceTxId" varchar NOT NULL,
326
+ "sourceBlockId" varchar NOT NULL,
327
+ "WIDs" varchar NOT NULL,
328
+ "spendBlock" varchar,
329
+ "spendHeight" integer,
330
+ "spendTxId" varchar,
331
+ CONSTRAINT "UQ_c905f221a1b6271ca4405dbbe5f" UNIQUE ("boxId", "extractor")
332
+ )
333
+ `);
334
+ await queryRunner.query(`
335
+ INSERT INTO "event_trigger_entity"(
336
+ "id",
337
+ "eventId",
338
+ "txId",
339
+ "extractor",
340
+ "boxId",
341
+ "boxSerialized",
342
+ "block",
343
+ "height",
344
+ "fromChain",
345
+ "toChain",
346
+ "fromAddress",
347
+ "toAddress",
348
+ "amount",
349
+ "bridgeFee",
350
+ "networkFee",
351
+ "sourceChainTokenId",
352
+ "sourceChainHeight",
353
+ "targetChainTokenId",
354
+ "sourceTxId",
355
+ "sourceBlockId",
356
+ "WIDs",
357
+ "spendBlock",
358
+ "spendHeight",
359
+ "spendTxId"
360
+ )
361
+ SELECT "id",
362
+ "eventId",
363
+ "txId",
364
+ "extractor",
365
+ "boxId",
366
+ "boxSerialized",
367
+ "block",
368
+ "height",
369
+ "fromChain",
370
+ "toChain",
371
+ "fromAddress",
372
+ "toAddress",
373
+ "amount",
374
+ "bridgeFee",
375
+ "networkFee",
376
+ "sourceChainTokenId",
377
+ "sourceChainHeight",
378
+ "targetChainTokenId",
379
+ "sourceTxId",
380
+ "sourceBlockId",
381
+ "WIDs",
382
+ "spendBlock",
383
+ "spendHeight",
384
+ "spendTxId"
385
+ FROM "temporary_event_trigger_entity"
386
+ `);
387
+ await queryRunner.query(`
388
+ DROP TABLE "temporary_event_trigger_entity"
389
+ `);
390
+ }
391
+ }
392
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTY4OTE3NTEwMzE2My1taWdyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvbWlncmF0aW9ucy9zcWxpdGUvMTY4OTE3NTEwMzE2My1taWdyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxJQUFJLEdBQUcsd0JBQXdCLENBQUM7SUFFekIsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUF3QjtRQUN0QyxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7U0E0Qm5CLENBQUMsQ0FBQztRQUNQLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztTQW9EbkIsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxXQUFXLENBQUMsS0FBSyxDQUFDOztTQUVuQixDQUFDLENBQUM7UUFDUCxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUM7OztTQUduQixDQUFDLENBQUM7UUFDUCxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O1NBaUJuQixDQUFDLENBQUM7UUFDUCxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztTQThCbkIsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxXQUFXLENBQUMsS0FBSyxDQUFDOztTQUVuQixDQUFDLENBQUM7UUFDUCxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUM7OztTQUduQixDQUFDLENBQUM7UUFDUCxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUM7Ozs7Ozs7Ozs7Ozs7O1NBY25CLENBQUMsQ0FBQztRQUNQLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1NBd0JuQixDQUFDLENBQUM7UUFDUCxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUM7O1NBRW5CLENBQUMsQ0FBQztRQUNQLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7O1NBR25CLENBQUMsQ0FBQztJQUNULENBQUM7SUFFTSxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQXdCO1FBQ3hDLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7O1NBR25CLENBQUMsQ0FBQztRQUNQLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7Ozs7Ozs7Ozs7Ozs7U0FjbkIsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxXQUFXLENBQUMsS0FBSyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7U0F3Qm5CLENBQUMsQ0FBQztRQUNQLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7U0FFbkIsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxXQUFXLENBQUMsS0FBSyxDQUFDOzs7U0FHbkIsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxXQUFXLENBQUMsS0FBSyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztTQWlCbkIsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxXQUFXLENBQUMsS0FBSyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7U0E4Qm5CLENBQUMsQ0FBQztRQUNQLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7U0FFbkIsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxXQUFXLENBQUMsS0FBSyxDQUFDOzs7U0FHbkIsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxXQUFXLENBQUMsS0FBSyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1NBNEJuQixDQUFDLENBQUM7UUFDUCxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7U0FvRG5CLENBQUMsQ0FBQztRQUNQLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7U0FFbkIsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWlncmF0aW9uSW50ZXJmYWNlLCBRdWVyeVJ1bm5lciB9IGZyb20gJ3R5cGVvcm0nO1xuXG5leHBvcnQgY2xhc3MgbWlncmF0aW9uMTY4OTE3NTEwMzE2MyBpbXBsZW1lbnRzIE1pZ3JhdGlvbkludGVyZmFjZSB7XG4gIG5hbWUgPSAnbWlncmF0aW9uMTY4OTE3NTEwMzE2Myc7XG5cbiAgcHVibGljIGFzeW5jIHVwKHF1ZXJ5UnVubmVyOiBRdWVyeVJ1bm5lcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnF1ZXJ5KGBcbiAgICAgICAgICAgIENSRUFURSBUQUJMRSBcInRlbXBvcmFyeV9ldmVudF90cmlnZ2VyX2VudGl0eVwiIChcbiAgICAgICAgICAgICAgICBcImlkXCIgaW50ZWdlciBQUklNQVJZIEtFWSBBVVRPSU5DUkVNRU5UIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiZXZlbnRJZFwiIHZhcmNoYXIgTk9UIE5VTEwgREVGQVVMVCAoJ05vdC1zZXQnKSxcbiAgICAgICAgICAgICAgICBcInR4SWRcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiZXh0cmFjdG9yXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImJveElkXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImJveFNlcmlhbGl6ZWRcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiYmxvY2tcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiaGVpZ2h0XCIgaW50ZWdlciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImZyb21DaGFpblwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJ0b0NoYWluXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImZyb21BZGRyZXNzXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcInRvQWRkcmVzc1wiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJhbW91bnRcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiYnJpZGdlRmVlXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcIm5ldHdvcmtGZWVcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwic291cmNlQ2hhaW5Ub2tlbklkXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcInNvdXJjZUNoYWluSGVpZ2h0XCIgaW50ZWdlciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcInRhcmdldENoYWluVG9rZW5JZFwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJzb3VyY2VUeElkXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcInNvdXJjZUJsb2NrSWRcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiV0lEc1wiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJzcGVuZEJsb2NrXCIgdGV4dCxcbiAgICAgICAgICAgICAgICBcInNwZW5kSGVpZ2h0XCIgaW50ZWdlcixcbiAgICAgICAgICAgICAgICBcInNwZW5kVHhJZFwiIHZhcmNoYXIsXG4gICAgICAgICAgICAgICAgQ09OU1RSQUlOVCBcIlVRX2M5MDVmMjIxYTFiNjI3MWNhNDQwNWRiYmU1ZlwiIFVOSVFVRSAoXCJib3hJZFwiLCBcImV4dHJhY3RvclwiKVxuICAgICAgICAgICAgKVxuICAgICAgICBgKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5xdWVyeShgXG4gICAgICAgICAgICBJTlNFUlQgSU5UTyBcInRlbXBvcmFyeV9ldmVudF90cmlnZ2VyX2VudGl0eVwiKFxuICAgICAgICAgICAgICAgICAgICBcImlkXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiZXZlbnRJZFwiLFxuICAgICAgICAgICAgICAgICAgICBcInR4SWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJleHRyYWN0b3JcIixcbiAgICAgICAgICAgICAgICAgICAgXCJib3hJZFwiLFxuICAgICAgICAgICAgICAgICAgICBcImJveFNlcmlhbGl6ZWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJibG9ja1wiLFxuICAgICAgICAgICAgICAgICAgICBcImhlaWdodFwiLFxuICAgICAgICAgICAgICAgICAgICBcImZyb21DaGFpblwiLFxuICAgICAgICAgICAgICAgICAgICBcInRvQ2hhaW5cIixcbiAgICAgICAgICAgICAgICAgICAgXCJmcm9tQWRkcmVzc1wiLFxuICAgICAgICAgICAgICAgICAgICBcInRvQWRkcmVzc1wiLFxuICAgICAgICAgICAgICAgICAgICBcImFtb3VudFwiLFxuICAgICAgICAgICAgICAgICAgICBcImJyaWRnZUZlZVwiLFxuICAgICAgICAgICAgICAgICAgICBcIm5ldHdvcmtGZWVcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzb3VyY2VDaGFpblRva2VuSWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzb3VyY2VDaGFpbkhlaWdodFwiLFxuICAgICAgICAgICAgICAgICAgICBcInRhcmdldENoYWluVG9rZW5JZFwiLFxuICAgICAgICAgICAgICAgICAgICBcInNvdXJjZVR4SWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzb3VyY2VCbG9ja0lkXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiV0lEc1wiLFxuICAgICAgICAgICAgICAgICAgICBcInNwZW5kQmxvY2tcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzcGVuZEhlaWdodFwiLFxuICAgICAgICAgICAgICAgICAgICBcInNwZW5kVHhJZFwiXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgU0VMRUNUIFwiaWRcIixcbiAgICAgICAgICAgICAgICBcImV2ZW50SWRcIixcbiAgICAgICAgICAgICAgICBcInR4SWRcIixcbiAgICAgICAgICAgICAgICBcImV4dHJhY3RvclwiLFxuICAgICAgICAgICAgICAgIFwiYm94SWRcIixcbiAgICAgICAgICAgICAgICBcImJveFNlcmlhbGl6ZWRcIixcbiAgICAgICAgICAgICAgICBcImJsb2NrXCIsXG4gICAgICAgICAgICAgICAgXCJoZWlnaHRcIixcbiAgICAgICAgICAgICAgICBcImZyb21DaGFpblwiLFxuICAgICAgICAgICAgICAgIFwidG9DaGFpblwiLFxuICAgICAgICAgICAgICAgIFwiZnJvbUFkZHJlc3NcIixcbiAgICAgICAgICAgICAgICBcInRvQWRkcmVzc1wiLFxuICAgICAgICAgICAgICAgIFwiYW1vdW50XCIsXG4gICAgICAgICAgICAgICAgXCJicmlkZ2VGZWVcIixcbiAgICAgICAgICAgICAgICBcIm5ldHdvcmtGZWVcIixcbiAgICAgICAgICAgICAgICBcInNvdXJjZUNoYWluVG9rZW5JZFwiLFxuICAgICAgICAgICAgICAgIFwic291cmNlQ2hhaW5IZWlnaHRcIixcbiAgICAgICAgICAgICAgICBcInRhcmdldENoYWluVG9rZW5JZFwiLFxuICAgICAgICAgICAgICAgIFwic291cmNlVHhJZFwiLFxuICAgICAgICAgICAgICAgIFwic291cmNlQmxvY2tJZFwiLFxuICAgICAgICAgICAgICAgIFwiV0lEc1wiLFxuICAgICAgICAgICAgICAgIFwic3BlbmRCbG9ja1wiLFxuICAgICAgICAgICAgICAgIFwic3BlbmRIZWlnaHRcIixcbiAgICAgICAgICAgICAgICBcInNwZW5kVHhJZFwiXG4gICAgICAgICAgICBGUk9NIFwiZXZlbnRfdHJpZ2dlcl9lbnRpdHlcIlxuICAgICAgICBgKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5xdWVyeShgXG4gICAgICAgICAgICBEUk9QIFRBQkxFIFwiZXZlbnRfdHJpZ2dlcl9lbnRpdHlcIlxuICAgICAgICBgKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5xdWVyeShgXG4gICAgICAgICAgICBBTFRFUiBUQUJMRSBcInRlbXBvcmFyeV9ldmVudF90cmlnZ2VyX2VudGl0eVwiXG4gICAgICAgICAgICAgICAgUkVOQU1FIFRPIFwiZXZlbnRfdHJpZ2dlcl9lbnRpdHlcIlxuICAgICAgICBgKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5xdWVyeShgXG4gICAgICAgICAgICBDUkVBVEUgVEFCTEUgXCJ0ZW1wb3JhcnlfY29tbWl0bWVudF9lbnRpdHlcIiAoXG4gICAgICAgICAgICAgICAgXCJpZFwiIGludGVnZXIgUFJJTUFSWSBLRVkgQVVUT0lOQ1JFTUVOVCBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcInR4SWRcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiZXh0cmFjdG9yXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImV2ZW50SWRcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiY29tbWl0bWVudFwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJXSURcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiYm94SWRcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiYmxvY2tcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiaGVpZ2h0XCIgaW50ZWdlciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImJveFNlcmlhbGl6ZWRcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwic3BlbmRCbG9ja1wiIHRleHQsXG4gICAgICAgICAgICAgICAgXCJzcGVuZEhlaWdodFwiIGludGVnZXIsXG4gICAgICAgICAgICAgICAgXCJyd3RDb3VudFwiIHZhcmNoYXIsXG4gICAgICAgICAgICAgICAgQ09OU1RSQUlOVCBcIlVRX2NjMjk0ZmMzMDRhNjZmOGYxOTQ4NDBmMWVjZVwiIFVOSVFVRSAoXCJib3hJZFwiLCBcImV4dHJhY3RvclwiKVxuICAgICAgICAgICAgKVxuICAgICAgICBgKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5xdWVyeShgXG4gICAgICAgICAgICBJTlNFUlQgSU5UTyBcInRlbXBvcmFyeV9jb21taXRtZW50X2VudGl0eVwiKFxuICAgICAgICAgICAgICAgICAgICBcImlkXCIsXG4gICAgICAgICAgICAgICAgICAgIFwidHhJZFwiLFxuICAgICAgICAgICAgICAgICAgICBcImV4dHJhY3RvclwiLFxuICAgICAgICAgICAgICAgICAgICBcImV2ZW50SWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJjb21taXRtZW50XCIsXG4gICAgICAgICAgICAgICAgICAgIFwiV0lEXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiYm94SWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJibG9ja1wiLFxuICAgICAgICAgICAgICAgICAgICBcImhlaWdodFwiLFxuICAgICAgICAgICAgICAgICAgICBcImJveFNlcmlhbGl6ZWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzcGVuZEJsb2NrXCIsXG4gICAgICAgICAgICAgICAgICAgIFwic3BlbmRIZWlnaHRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJyd3RDb3VudFwiXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgU0VMRUNUIFwiaWRcIixcbiAgICAgICAgICAgICAgICBcInR4SWRcIixcbiAgICAgICAgICAgICAgICBcImV4dHJhY3RvclwiLFxuICAgICAgICAgICAgICAgIFwiZXZlbnRJZFwiLFxuICAgICAgICAgICAgICAgIFwiY29tbWl0bWVudFwiLFxuICAgICAgICAgICAgICAgIFwiV0lEXCIsXG4gICAgICAgICAgICAgICAgXCJib3hJZFwiLFxuICAgICAgICAgICAgICAgIFwiYmxvY2tcIixcbiAgICAgICAgICAgICAgICBcImhlaWdodFwiLFxuICAgICAgICAgICAgICAgIFwiYm94U2VyaWFsaXplZFwiLFxuICAgICAgICAgICAgICAgIFwic3BlbmRCbG9ja1wiLFxuICAgICAgICAgICAgICAgIFwic3BlbmRIZWlnaHRcIixcbiAgICAgICAgICAgICAgICBcInJ3dENvdW50XCJcbiAgICAgICAgICAgIEZST00gXCJjb21taXRtZW50X2VudGl0eVwiXG4gICAgICAgIGApO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnF1ZXJ5KGBcbiAgICAgICAgICAgIERST1AgVEFCTEUgXCJjb21taXRtZW50X2VudGl0eVwiXG4gICAgICAgIGApO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnF1ZXJ5KGBcbiAgICAgICAgICAgIEFMVEVSIFRBQkxFIFwidGVtcG9yYXJ5X2NvbW1pdG1lbnRfZW50aXR5XCJcbiAgICAgICAgICAgICAgICBSRU5BTUUgVE8gXCJjb21taXRtZW50X2VudGl0eVwiXG4gICAgICAgIGApO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnF1ZXJ5KGBcbiAgICAgICAgICAgIENSRUFURSBUQUJMRSBcInRlbXBvcmFyeV9wZXJtaXRfZW50aXR5XCIgKFxuICAgICAgICAgICAgICAgIFwiaWRcIiBpbnRlZ2VyIFBSSU1BUlkgS0VZIEFVVE9JTkNSRU1FTlQgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJleHRyYWN0b3JcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiYm94SWRcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiYm94U2VyaWFsaXplZFwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJXSURcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiYmxvY2tcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiaGVpZ2h0XCIgaW50ZWdlciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcInNwZW5kQmxvY2tcIiB0ZXh0LFxuICAgICAgICAgICAgICAgIFwic3BlbmRIZWlnaHRcIiBpbnRlZ2VyLFxuICAgICAgICAgICAgICAgIFwidHhJZFwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgQ09OU1RSQUlOVCBcIlVRX2QzMjI2NjAyYjkwOWI2NGJjYWVhZGMzOWMzY1wiIFVOSVFVRSAoXCJib3hJZFwiLCBcImV4dHJhY3RvclwiKVxuICAgICAgICAgICAgKVxuICAgICAgICBgKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5xdWVyeShgXG4gICAgICAgICAgICBJTlNFUlQgSU5UTyBcInRlbXBvcmFyeV9wZXJtaXRfZW50aXR5XCIoXG4gICAgICAgICAgICAgICAgICAgIFwiaWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJleHRyYWN0b3JcIixcbiAgICAgICAgICAgICAgICAgICAgXCJib3hJZFwiLFxuICAgICAgICAgICAgICAgICAgICBcImJveFNlcmlhbGl6ZWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJXSURcIixcbiAgICAgICAgICAgICAgICAgICAgXCJibG9ja1wiLFxuICAgICAgICAgICAgICAgICAgICBcImhlaWdodFwiLFxuICAgICAgICAgICAgICAgICAgICBcInNwZW5kQmxvY2tcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzcGVuZEhlaWdodFwiLFxuICAgICAgICAgICAgICAgICAgICBcInR4SWRcIlxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIFNFTEVDVCBcImlkXCIsXG4gICAgICAgICAgICAgICAgXCJleHRyYWN0b3JcIixcbiAgICAgICAgICAgICAgICBcImJveElkXCIsXG4gICAgICAgICAgICAgICAgXCJib3hTZXJpYWxpemVkXCIsXG4gICAgICAgICAgICAgICAgXCJXSURcIixcbiAgICAgICAgICAgICAgICBcImJsb2NrXCIsXG4gICAgICAgICAgICAgICAgXCJoZWlnaHRcIixcbiAgICAgICAgICAgICAgICBcInNwZW5kQmxvY2tcIixcbiAgICAgICAgICAgICAgICBcInNwZW5kSGVpZ2h0XCIsXG4gICAgICAgICAgICAgICAgXCJ0eElkXCJcbiAgICAgICAgICAgIEZST00gXCJwZXJtaXRfZW50aXR5XCJcbiAgICAgICAgYCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIucXVlcnkoYFxuICAgICAgICAgICAgRFJPUCBUQUJMRSBcInBlcm1pdF9lbnRpdHlcIlxuICAgICAgICBgKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5xdWVyeShgXG4gICAgICAgICAgICBBTFRFUiBUQUJMRSBcInRlbXBvcmFyeV9wZXJtaXRfZW50aXR5XCJcbiAgICAgICAgICAgICAgICBSRU5BTUUgVE8gXCJwZXJtaXRfZW50aXR5XCJcbiAgICAgICAgYCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZG93bihxdWVyeVJ1bm5lcjogUXVlcnlSdW5uZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5xdWVyeShgXG4gICAgICAgICAgICBBTFRFUiBUQUJMRSBcInBlcm1pdF9lbnRpdHlcIlxuICAgICAgICAgICAgICAgIFJFTkFNRSBUTyBcInRlbXBvcmFyeV9wZXJtaXRfZW50aXR5XCJcbiAgICAgICAgYCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIucXVlcnkoYFxuICAgICAgICAgICAgQ1JFQVRFIFRBQkxFIFwicGVybWl0X2VudGl0eVwiIChcbiAgICAgICAgICAgICAgICBcImlkXCIgaW50ZWdlciBQUklNQVJZIEtFWSBBVVRPSU5DUkVNRU5UIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiZXh0cmFjdG9yXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImJveElkXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImJveFNlcmlhbGl6ZWRcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiV0lEXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImJsb2NrXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImhlaWdodFwiIGludGVnZXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJzcGVuZEJsb2NrXCIgdmFyY2hhcixcbiAgICAgICAgICAgICAgICBcInNwZW5kSGVpZ2h0XCIgaW50ZWdlcixcbiAgICAgICAgICAgICAgICBcInR4SWRcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIENPTlNUUkFJTlQgXCJVUV9kMzIyNjYwMmI5MDliNjRiY2FlYWRjMzljM2NcIiBVTklRVUUgKFwiYm94SWRcIiwgXCJleHRyYWN0b3JcIilcbiAgICAgICAgICAgIClcbiAgICAgICAgYCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIucXVlcnkoYFxuICAgICAgICAgICAgSU5TRVJUIElOVE8gXCJwZXJtaXRfZW50aXR5XCIoXG4gICAgICAgICAgICAgICAgICAgIFwiaWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJleHRyYWN0b3JcIixcbiAgICAgICAgICAgICAgICAgICAgXCJib3hJZFwiLFxuICAgICAgICAgICAgICAgICAgICBcImJveFNlcmlhbGl6ZWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJXSURcIixcbiAgICAgICAgICAgICAgICAgICAgXCJibG9ja1wiLFxuICAgICAgICAgICAgICAgICAgICBcImhlaWdodFwiLFxuICAgICAgICAgICAgICAgICAgICBcInNwZW5kQmxvY2tcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzcGVuZEhlaWdodFwiLFxuICAgICAgICAgICAgICAgICAgICBcInR4SWRcIlxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIFNFTEVDVCBcImlkXCIsXG4gICAgICAgICAgICAgICAgXCJleHRyYWN0b3JcIixcbiAgICAgICAgICAgICAgICBcImJveElkXCIsXG4gICAgICAgICAgICAgICAgXCJib3hTZXJpYWxpemVkXCIsXG4gICAgICAgICAgICAgICAgXCJXSURcIixcbiAgICAgICAgICAgICAgICBcImJsb2NrXCIsXG4gICAgICAgICAgICAgICAgXCJoZWlnaHRcIixcbiAgICAgICAgICAgICAgICBcInNwZW5kQmxvY2tcIixcbiAgICAgICAgICAgICAgICBcInNwZW5kSGVpZ2h0XCIsXG4gICAgICAgICAgICAgICAgXCJ0eElkXCJcbiAgICAgICAgICAgIEZST00gXCJ0ZW1wb3JhcnlfcGVybWl0X2VudGl0eVwiXG4gICAgICAgIGApO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnF1ZXJ5KGBcbiAgICAgICAgICAgIERST1AgVEFCTEUgXCJ0ZW1wb3JhcnlfcGVybWl0X2VudGl0eVwiXG4gICAgICAgIGApO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnF1ZXJ5KGBcbiAgICAgICAgICAgIEFMVEVSIFRBQkxFIFwiY29tbWl0bWVudF9lbnRpdHlcIlxuICAgICAgICAgICAgICAgIFJFTkFNRSBUTyBcInRlbXBvcmFyeV9jb21taXRtZW50X2VudGl0eVwiXG4gICAgICAgIGApO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnF1ZXJ5KGBcbiAgICAgICAgICAgIENSRUFURSBUQUJMRSBcImNvbW1pdG1lbnRfZW50aXR5XCIgKFxuICAgICAgICAgICAgICAgIFwiaWRcIiBpbnRlZ2VyIFBSSU1BUlkgS0VZIEFVVE9JTkNSRU1FTlQgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJ0eElkXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImV4dHJhY3RvclwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJldmVudElkXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImNvbW1pdG1lbnRcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiV0lEXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImJveElkXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImJsb2NrXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImhlaWdodFwiIGludGVnZXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJib3hTZXJpYWxpemVkXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcInNwZW5kQmxvY2tcIiB2YXJjaGFyLFxuICAgICAgICAgICAgICAgIFwic3BlbmRIZWlnaHRcIiBpbnRlZ2VyLFxuICAgICAgICAgICAgICAgIFwicnd0Q291bnRcIiB2YXJjaGFyLFxuICAgICAgICAgICAgICAgIENPTlNUUkFJTlQgXCJVUV9jYzI5NGZjMzA0YTY2ZjhmMTk0ODQwZjFlY2VcIiBVTklRVUUgKFwiYm94SWRcIiwgXCJleHRyYWN0b3JcIilcbiAgICAgICAgICAgIClcbiAgICAgICAgYCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIucXVlcnkoYFxuICAgICAgICAgICAgSU5TRVJUIElOVE8gXCJjb21taXRtZW50X2VudGl0eVwiKFxuICAgICAgICAgICAgICAgICAgICBcImlkXCIsXG4gICAgICAgICAgICAgICAgICAgIFwidHhJZFwiLFxuICAgICAgICAgICAgICAgICAgICBcImV4dHJhY3RvclwiLFxuICAgICAgICAgICAgICAgICAgICBcImV2ZW50SWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJjb21taXRtZW50XCIsXG4gICAgICAgICAgICAgICAgICAgIFwiV0lEXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiYm94SWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJibG9ja1wiLFxuICAgICAgICAgICAgICAgICAgICBcImhlaWdodFwiLFxuICAgICAgICAgICAgICAgICAgICBcImJveFNlcmlhbGl6ZWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzcGVuZEJsb2NrXCIsXG4gICAgICAgICAgICAgICAgICAgIFwic3BlbmRIZWlnaHRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJyd3RDb3VudFwiXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgU0VMRUNUIFwiaWRcIixcbiAgICAgICAgICAgICAgICBcInR4SWRcIixcbiAgICAgICAgICAgICAgICBcImV4dHJhY3RvclwiLFxuICAgICAgICAgICAgICAgIFwiZXZlbnRJZFwiLFxuICAgICAgICAgICAgICAgIFwiY29tbWl0bWVudFwiLFxuICAgICAgICAgICAgICAgIFwiV0lEXCIsXG4gICAgICAgICAgICAgICAgXCJib3hJZFwiLFxuICAgICAgICAgICAgICAgIFwiYmxvY2tcIixcbiAgICAgICAgICAgICAgICBcImhlaWdodFwiLFxuICAgICAgICAgICAgICAgIFwiYm94U2VyaWFsaXplZFwiLFxuICAgICAgICAgICAgICAgIFwic3BlbmRCbG9ja1wiLFxuICAgICAgICAgICAgICAgIFwic3BlbmRIZWlnaHRcIixcbiAgICAgICAgICAgICAgICBcInJ3dENvdW50XCJcbiAgICAgICAgICAgIEZST00gXCJ0ZW1wb3JhcnlfY29tbWl0bWVudF9lbnRpdHlcIlxuICAgICAgICBgKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5xdWVyeShgXG4gICAgICAgICAgICBEUk9QIFRBQkxFIFwidGVtcG9yYXJ5X2NvbW1pdG1lbnRfZW50aXR5XCJcbiAgICAgICAgYCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIucXVlcnkoYFxuICAgICAgICAgICAgQUxURVIgVEFCTEUgXCJldmVudF90cmlnZ2VyX2VudGl0eVwiXG4gICAgICAgICAgICAgICAgUkVOQU1FIFRPIFwidGVtcG9yYXJ5X2V2ZW50X3RyaWdnZXJfZW50aXR5XCJcbiAgICAgICAgYCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIucXVlcnkoYFxuICAgICAgICAgICAgQ1JFQVRFIFRBQkxFIFwiZXZlbnRfdHJpZ2dlcl9lbnRpdHlcIiAoXG4gICAgICAgICAgICAgICAgXCJpZFwiIGludGVnZXIgUFJJTUFSWSBLRVkgQVVUT0lOQ1JFTUVOVCBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImV2ZW50SWRcIiB2YXJjaGFyIE5PVCBOVUxMIERFRkFVTFQgKCdOb3Qtc2V0JyksXG4gICAgICAgICAgICAgICAgXCJ0eElkXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImV4dHJhY3RvclwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJib3hJZFwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJib3hTZXJpYWxpemVkXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImJsb2NrXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImhlaWdodFwiIGludGVnZXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJmcm9tQ2hhaW5cIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwidG9DaGFpblwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJmcm9tQWRkcmVzc1wiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJ0b0FkZHJlc3NcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiYW1vdW50XCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImJyaWRnZUZlZVwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJuZXR3b3JrRmVlXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcInNvdXJjZUNoYWluVG9rZW5JZFwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJzb3VyY2VDaGFpbkhlaWdodFwiIGludGVnZXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJ0YXJnZXRDaGFpblRva2VuSWRcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwic291cmNlVHhJZFwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJzb3VyY2VCbG9ja0lkXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcIldJRHNcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwic3BlbmRCbG9ja1wiIHZhcmNoYXIsXG4gICAgICAgICAgICAgICAgXCJzcGVuZEhlaWdodFwiIGludGVnZXIsXG4gICAgICAgICAgICAgICAgXCJzcGVuZFR4SWRcIiB2YXJjaGFyLFxuICAgICAgICAgICAgICAgIENPTlNUUkFJTlQgXCJVUV9jOTA1ZjIyMWExYjYyNzFjYTQ0MDVkYmJlNWZcIiBVTklRVUUgKFwiYm94SWRcIiwgXCJleHRyYWN0b3JcIilcbiAgICAgICAgICAgIClcbiAgICAgICAgYCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIucXVlcnkoYFxuICAgICAgICAgICAgSU5TRVJUIElOVE8gXCJldmVudF90cmlnZ2VyX2VudGl0eVwiKFxuICAgICAgICAgICAgICAgICAgICBcImlkXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiZXZlbnRJZFwiLFxuICAgICAgICAgICAgICAgICAgICBcInR4SWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJleHRyYWN0b3JcIixcbiAgICAgICAgICAgICAgICAgICAgXCJib3hJZFwiLFxuICAgICAgICAgICAgICAgICAgICBcImJveFNlcmlhbGl6ZWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJibG9ja1wiLFxuICAgICAgICAgICAgICAgICAgICBcImhlaWdodFwiLFxuICAgICAgICAgICAgICAgICAgICBcImZyb21DaGFpblwiLFxuICAgICAgICAgICAgICAgICAgICBcInRvQ2hhaW5cIixcbiAgICAgICAgICAgICAgICAgICAgXCJmcm9tQWRkcmVzc1wiLFxuICAgICAgICAgICAgICAgICAgICBcInRvQWRkcmVzc1wiLFxuICAgICAgICAgICAgICAgICAgICBcImFtb3VudFwiLFxuICAgICAgICAgICAgICAgICAgICBcImJyaWRnZUZlZVwiLFxuICAgICAgICAgICAgICAgICAgICBcIm5ldHdvcmtGZWVcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzb3VyY2VDaGFpblRva2VuSWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzb3VyY2VDaGFpbkhlaWdodFwiLFxuICAgICAgICAgICAgICAgICAgICBcInRhcmdldENoYWluVG9rZW5JZFwiLFxuICAgICAgICAgICAgICAgICAgICBcInNvdXJjZVR4SWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzb3VyY2VCbG9ja0lkXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiV0lEc1wiLFxuICAgICAgICAgICAgICAgICAgICBcInNwZW5kQmxvY2tcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzcGVuZEhlaWdodFwiLFxuICAgICAgICAgICAgICAgICAgICBcInNwZW5kVHhJZFwiXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgU0VMRUNUIFwiaWRcIixcbiAgICAgICAgICAgICAgICBcImV2ZW50SWRcIixcbiAgICAgICAgICAgICAgICBcInR4SWRcIixcbiAgICAgICAgICAgICAgICBcImV4dHJhY3RvclwiLFxuICAgICAgICAgICAgICAgIFwiYm94SWRcIixcbiAgICAgICAgICAgICAgICBcImJveFNlcmlhbGl6ZWRcIixcbiAgICAgICAgICAgICAgICBcImJsb2NrXCIsXG4gICAgICAgICAgICAgICAgXCJoZWlnaHRcIixcbiAgICAgICAgICAgICAgICBcImZyb21DaGFpblwiLFxuICAgICAgICAgICAgICAgIFwidG9DaGFpblwiLFxuICAgICAgICAgICAgICAgIFwiZnJvbUFkZHJlc3NcIixcbiAgICAgICAgICAgICAgICBcInRvQWRkcmVzc1wiLFxuICAgICAgICAgICAgICAgIFwiYW1vdW50XCIsXG4gICAgICAgICAgICAgICAgXCJicmlkZ2VGZWVcIixcbiAgICAgICAgICAgICAgICBcIm5ldHdvcmtGZWVcIixcbiAgICAgICAgICAgICAgICBcInNvdXJjZUNoYWluVG9rZW5JZFwiLFxuICAgICAgICAgICAgICAgIFwic291cmNlQ2hhaW5IZWlnaHRcIixcbiAgICAgICAgICAgICAgICBcInRhcmdldENoYWluVG9rZW5JZFwiLFxuICAgICAgICAgICAgICAgIFwic291cmNlVHhJZFwiLFxuICAgICAgICAgICAgICAgIFwic291cmNlQmxvY2tJZFwiLFxuICAgICAgICAgICAgICAgIFwiV0lEc1wiLFxuICAgICAgICAgICAgICAgIFwic3BlbmRCbG9ja1wiLFxuICAgICAgICAgICAgICAgIFwic3BlbmRIZWlnaHRcIixcbiAgICAgICAgICAgICAgICBcInNwZW5kVHhJZFwiXG4gICAgICAgICAgICBGUk9NIFwidGVtcG9yYXJ5X2V2ZW50X3RyaWdnZXJfZW50aXR5XCJcbiAgICAgICAgYCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIucXVlcnkoYFxuICAgICAgICAgICAgRFJPUCBUQUJMRSBcInRlbXBvcmFyeV9ldmVudF90cmlnZ2VyX2VudGl0eVwiXG4gICAgICAgIGApO1xuICB9XG59XG4iXX0=
@@ -1,8 +1,9 @@
1
- export declare const JsonBI: {
1
+ declare const JsonBI: {
2
2
  parse: (text: string, reviver?: ((this: any, key: string, value: any) => any) | undefined) => any;
3
3
  stringify: {
4
4
  (value: any, replacer?: ((this: any, key: string, value: any) => any) | undefined, space?: string | number | undefined): string;
5
5
  (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string;
6
6
  };
7
7
  };
8
- //# sourceMappingURL=parser.d.ts.map
8
+ export { JsonBI };
9
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,MAAM;;;;;;CAEV,CAAC;AAEH,OAAO,EAAE,MAAM,EAAE,CAAC"}
package/dist/utils.js ADDED
@@ -0,0 +1,6 @@
1
+ import JSONBigInt from 'json-bigint';
2
+ const JsonBI = JSONBigInt({
3
+ useNativeBigInt: true,
4
+ });
5
+ export { JsonBI };
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxVQUFVLE1BQU0sYUFBYSxDQUFDO0FBRXJDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQztJQUN4QixlQUFlLEVBQUUsSUFBSTtDQUN0QixDQUFDLENBQUM7QUFFSCxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgSlNPTkJpZ0ludCBmcm9tICdqc29uLWJpZ2ludCc7XG5cbmNvbnN0IEpzb25CSSA9IEpTT05CaWdJbnQoe1xuICB1c2VOYXRpdmVCaWdJbnQ6IHRydWUsXG59KTtcblxuZXhwb3J0IHsgSnNvbkJJIH07XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rosen-bridge/watcher-data-extractor",
3
- "version": "2.0.0",
3
+ "version": "2.1.2",
4
4
  "description": "Extractor for rosen specific boxes on ergo blockchain",
5
5
  "author": "Rosen Team",
6
6
  "license": "GPL-3.0",
@@ -20,7 +20,8 @@
20
20
  ],
21
21
  "dependencies": {
22
22
  "@rosen-bridge/logger-interface": "^0.1.0",
23
- "@rosen-bridge/scanner": "^2.0.0",
23
+ "@rosen-bridge/scanner": "^2.1.1",
24
+ "@rosen-clients/ergo-explorer": "^1.0.0",
24
25
  "@types/lodash-es": "^4.17.6",
25
26
  "blakejs": "^1.2.1",
26
27
  "ergo-lib-wasm-nodejs": "^0.24.0-alpha-1f24f53",
@@ -1 +0,0 @@
1
- {"version":3,"file":"EventTriggerDB.d.ts","sourceRoot":"","sources":["../../lib/actions/EventTriggerDB.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAkB,MAAM,SAAS,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAK5E,cAAM,cAAc;IAClB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAiC;gBAE5D,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;IAM1D;;;;;OAKG;IACH,kBAAkB,kBACD,MAAM,qBAAqB,CAAC,SACpC,WAAW,aACP,MAAM,sBAqEjB;IAEF;;;;;;OAMG;IACH,kBAAkB,YACP,MAAM,MAAM,CAAC,SACf,WAAW,aACP,MAAM,QACX,MAAM,KACX,QAAQ,IAAI,CAAC,CA4Bd;IAEF;;;;OAIG;IACH,WAAW,UAAiB,MAAM,aAAa,MAAM,mBAsBnD;CACH;AAED,eAAe,cAAc,CAAC"}
@@ -1,145 +0,0 @@
1
- import { In } from 'typeorm';
2
- import EventTriggerEntity from '../entities/EventTriggerEntity';
3
- import eventTriggerEntity from '../entities/EventTriggerEntity';
4
- import { chunk } from 'lodash-es';
5
- import { dbIdChunkSize } from '../constants';
6
- class EventTriggerDB {
7
- logger;
8
- datasource;
9
- triggerEventRepository;
10
- constructor(dataSource, logger) {
11
- this.datasource = dataSource;
12
- this.logger = logger;
13
- this.triggerEventRepository = dataSource.getRepository(EventTriggerEntity);
14
- }
15
- /**
16
- * It stores list of eventTriggers in the dataSource with block id
17
- * @param eventTriggers
18
- * @param block
19
- * @param extractor
20
- */
21
- storeEventTriggers = async (eventTriggers, block, extractor) => {
22
- if (eventTriggers.length === 0)
23
- return true;
24
- const boxIds = eventTriggers.map((trigger) => trigger.boxId);
25
- const savedTriggers = await this.triggerEventRepository.findBy({
26
- boxId: In(boxIds),
27
- extractor: extractor,
28
- });
29
- let success = true;
30
- const queryRunner = this.datasource.createQueryRunner();
31
- await queryRunner.connect();
32
- await queryRunner.startTransaction();
33
- try {
34
- for (const trigger of eventTriggers) {
35
- const saved = savedTriggers.some((entity) => {
36
- return entity.boxId === trigger.boxId;
37
- });
38
- const entity = {
39
- txId: trigger.txId,
40
- eventId: trigger.eventId,
41
- boxId: trigger.boxId,
42
- boxSerialized: trigger.boxSerialized,
43
- block: block.hash,
44
- height: block.height,
45
- extractor: extractor,
46
- WIDs: trigger.WIDs,
47
- amount: trigger.amount,
48
- bridgeFee: trigger.bridgeFee,
49
- fromAddress: trigger.fromAddress,
50
- toAddress: trigger.toAddress,
51
- fromChain: trigger.fromChain,
52
- networkFee: trigger.networkFee,
53
- sourceChainTokenId: trigger.sourceChainTokenId,
54
- targetChainTokenId: trigger.targetChainTokenId,
55
- sourceBlockId: trigger.sourceBlockId,
56
- toChain: trigger.toChain,
57
- sourceTxId: trigger.sourceTxId,
58
- sourceChainHeight: trigger.sourceChainHeight,
59
- };
60
- if (!saved) {
61
- this.logger.info(`Storing event trigger [${trigger.boxId}] for event [${trigger.eventId}] at height ${block.height} and extractor ${extractor}`);
62
- await queryRunner.manager.insert(EventTriggerEntity, entity);
63
- }
64
- else {
65
- this.logger.info(`Updating event trigger ${trigger.boxId} for event [${trigger.eventId}] at height ${block.height} and extractor ${extractor}`);
66
- await queryRunner.manager.update(EventTriggerEntity, {
67
- boxId: trigger.boxId,
68
- }, entity);
69
- }
70
- this.logger.debug(`Entity: ${JSON.stringify(entity)}`);
71
- }
72
- await queryRunner.commitTransaction();
73
- }
74
- catch (e) {
75
- this.logger.error(`An error occurred during store eventTrigger action: ${e}`);
76
- await queryRunner.rollbackTransaction();
77
- success = false;
78
- }
79
- finally {
80
- await queryRunner.release();
81
- }
82
- return success;
83
- };
84
- /**
85
- * update spendBlock Column of the commitments in the dataBase
86
- * @param spendId
87
- * @param block
88
- * @param extractor
89
- * @param txId
90
- */
91
- spendEventTriggers = async (spendId, block, extractor, txId) => {
92
- const spendIdChunks = chunk(spendId, dbIdChunkSize);
93
- for (const spendIdChunk of spendIdChunks) {
94
- const updateResult = await this.datasource
95
- .createQueryBuilder()
96
- .update(eventTriggerEntity)
97
- .set({
98
- spendBlock: block.hash,
99
- spendHeight: block.height,
100
- spendTxId: txId,
101
- })
102
- .where({ boxId: In(spendIdChunk) })
103
- .andWhere({ extractor: extractor })
104
- .execute();
105
- if (updateResult.affected && updateResult.affected > 0) {
106
- const spentRows = await this.triggerEventRepository.findBy({
107
- boxId: In(spendIdChunk),
108
- spendBlock: block.hash,
109
- });
110
- for (const row of spentRows) {
111
- this.logger.info(`Spent trigger [${row.boxId}] of event [${row.eventId}] at height ${block.height}`);
112
- this.logger.debug(`Spent trigger: [${JSON.stringify(row)}]`);
113
- }
114
- }
115
- }
116
- };
117
- /**
118
- * deleting all permits corresponding to the block(id) and extractor(id)
119
- * @param block
120
- * @param extractor
121
- */
122
- deleteBlock = async (block, extractor) => {
123
- this.logger.info(`Deleting event triggers at block ${block} and extractor ${extractor}`);
124
- await this.datasource
125
- .createQueryBuilder()
126
- .delete()
127
- .from(EventTriggerEntity)
128
- .where('extractor = :extractor AND block = :block', {
129
- block: block,
130
- extractor: extractor,
131
- })
132
- .execute();
133
- //TODO: should handled null value in spendBlockHeight
134
- await this.datasource
135
- .createQueryBuilder()
136
- .update(EventTriggerEntity)
137
- .set({ spendBlock: undefined, spendHeight: 0 })
138
- .where('spendBlock = :block AND block = :block', {
139
- block: block,
140
- })
141
- .execute();
142
- };
143
- }
144
- export default EventTriggerDB;
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRUcmlnZ2VyREIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvYWN0aW9ucy9FdmVudFRyaWdnZXJEQi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsRUFBRSxFQUFjLE1BQU0sU0FBUyxDQUFDO0FBQ3JELE9BQU8sa0JBQWtCLE1BQU0sZ0NBQWdDLENBQUM7QUFJaEUsT0FBTyxrQkFBa0IsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFN0MsTUFBTSxjQUFjO0lBQ1QsTUFBTSxDQUFpQjtJQUNmLFVBQVUsQ0FBYTtJQUN2QixzQkFBc0IsQ0FBaUM7SUFFeEUsWUFBWSxVQUFzQixFQUFFLE1BQXNCO1FBQ3hELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsa0JBQWtCLEdBQUcsS0FBSyxFQUN4QixhQUEyQyxFQUMzQyxLQUFrQixFQUNsQixTQUFpQixFQUNqQixFQUFFO1FBQ0YsSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUM1QyxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0QsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDO1lBQzdELEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2pCLFNBQVMsRUFB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QUFDLEtBQUssZUFBZSxHQUFHLENBQUMsT0FBTyxlQUFlLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FDbkYsQ0FBQztvQkFDRixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQzlEO2FBQ0Y7U0FDRjtJQUNILENBQUMsQ0FBQztJQUVGOzs7O09BSUc7SUFDSCxXQUFXLEdBQUcsS0FBSyxFQUFFLEtBQWEsRUFBRSxTQUFpQixFQUFFLEVBQUU7UUFDdkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2Qsb0NBQW9DLEtBQUssa0JBQWtCLFNBQVMsRUFBRSxDQUN2RSxDQUFDO1FBQ0YsTUFBTSxJQUFJLENBQUMsVUFBVTthQUNsQixrQkFBa0IsRUFBRTthQUNwQixNQUFNLEVBQUU7YUFDUixJQUFJLENBQUMsa0JBQWtCLENBQUM7YUFDeEIsS0FBSyxDQUFDLDJDQUEyQyxFQUFFO1lBQ2xELEtBQUssRUFBRSxLQUFLO1lBQ1osU0FBUyxFQUFFLFNBQVM7U0FDckIsQ0FBQzthQUNELE9BQU8sRUFBRSxDQUFDO1FBQ2IscURBQXFEO1FBQ3JELE1BQU0sSUFBSSxDQUFDLFVBQVU7YUFDbEIsa0JBQWtCLEVBQUU7YUFDcEIsTUFBTSxDQUFDLGtCQUFrQixDQUFDO2FBQzFCLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDO2FBQzlDLEtBQUssQ0FBQyx3Q0FBd0MsRUFBRTtZQUMvQyxLQUFLLEVBQUUsS0FBSztTQUNiLENBQUM7YUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNmLENBQUMsQ0FBQztDQUNIO0FBRUQsZUFBZSxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhU291cmNlLCBJbiwgUmVwb3NpdG9yeSB9IGZyb20gJ3R5cGVvcm0nO1xuaW1wb3J0IEV2ZW50VHJpZ2dlckVudGl0eSBmcm9tICcuLi9lbnRpdGllcy9FdmVudFRyaWdnZXJFbnRpdHknO1xuaW1wb3J0IHsgQmxvY2tFbnRpdHkgfSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXInO1xuaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2xvZ2dlci1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRXh0cmFjdGVkRXZlbnRUcmlnZ2VyIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9leHRyYWN0ZWRFdmVudFRyaWdnZXInO1xuaW1wb3J0IGV2ZW50VHJpZ2dlckVudGl0eSBmcm9tICcuLi9lbnRpdGllcy9FdmVudFRyaWdnZXJFbnRpdHknO1xuaW1wb3J0IHsgY2h1bmsgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgZGJJZENodW5rU2l6ZSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbmNsYXNzIEV2ZW50VHJpZ2dlckRCIHtcbiAgcmVhZG9ubHkgbG9nZ2VyOiBBYnN0cmFjdExvZ2dlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBkYXRhc291cmNlOiBEYXRhU291cmNlO1xuICBwcml2YXRlIHJlYWRvbmx5IHRyaWdnZXJFdmVudFJlcG9zaXRvcnk6IFJlcG9zaXRvcnk8RXZlbnRUcmlnZ2VyRW50aXR5PjtcblxuICBjb25zdHJ1Y3RvcihkYXRhU291cmNlOiBEYXRhU291cmNlLCBsb2dnZXI6IEFic3RyYWN0TG9nZ2VyKSB7XG4gICAgdGhpcy5kYXRhc291cmNlID0gZGF0YVNvdXJjZTtcbiAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlcjtcbiAgICB0aGlzLnRyaWdnZXJFdmVudFJlcG9zaXRvcnkgPSBkYXRhU291cmNlLmdldFJlcG9zaXRvcnkoRXZlbnRUcmlnZ2VyRW50aXR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCBzdG9yZXMgbGlzdCBvZiBldmVudFRyaWdnZXJzIGluIHRoZSBkYXRhU291cmNlIHdpdGggYmxvY2sgaWRcbiAgICogQHBhcmFtIGV2ZW50VHJpZ2dlcnNcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICovXG4gIHN0b3JlRXZlbnRUcmlnZ2VycyA9IGFzeW5jIChcbiAgICBldmVudFRyaWdnZXJzOiBBcnJheTxFeHRyYWN0ZWRFdmVudFRyaWdnZXI+LFxuICAgIGJsb2NrOiBCbG9ja0VudGl0eSxcbiAgICBleHRyYWN0b3I6IHN0cmluZ1xuICApID0+IHtcbiAgICBpZiAoZXZlbnRUcmlnZ2Vycy5sZW5ndGggPT09IDApIHJldHVybiB0cnVlO1xuICAgIGNvbnN0IGJveElkcyA9IGV2ZW50VHJpZ2dlcnMubWFwKCh0cmlnZ2VyKSA9PiB0cmlnZ2VyLmJveElkKTtcbiAgICBjb25zdCBzYXZlZFRyaWdnZXJzID0gYXdhaXQgdGhpcy50cmlnZ2VyRXZlbnRSZXBvc2l0b3J5LmZpbmRCeSh7XG4gICAgICBib3hJZDogSW4oYm94SWRzKSxcbiAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgIH0pO1xuICAgIGxldCBzdWNjZXNzID0gdHJ1ZTtcbiAgICBjb25zdCBxdWVyeVJ1bm5lciA9IHRoaXMuZGF0YXNvdXJjZS5jcmVhdGVRdWVyeVJ1bm5lcigpO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLmNvbm5lY3QoKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5zdGFydFRyYW5zYWN0aW9uKCk7XG4gICAgdHJ5IHtcbiAgICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiBldmVudFRyaWdnZXJzKSB7XG4gICAgICAgIGNvbnN0IHNhdmVkID0gc2F2ZWRUcmlnZ2Vycy5zb21lKChlbnRpdHkpID0+IHtcbiAgICAgICAgICByZXR1cm4gZW50aXR5LmJveElkID09PSB0cmlnZ2VyLmJveElkO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgZW50aXR5ID0ge1xuICAgICAgICAgIHR4SWQ6IHRyaWdnZXIudHhJZCxcbiAgICAgICAgICBldmVudElkOiB0cmlnZ2VyLmV2ZW50SWQsXG4gICAgICAgICAgYm94SWQ6IHRyaWdnZXIuYm94SWQsXG4gICAgICAgICAgYm94U2VyaWFsaXplZDogdHJpZ2dlci5ib3hTZXJpYWxpemVkLFxuICAgICAgICAgIGJsb2NrOiBibG9jay5oYXNoLFxuICAgICAgICAgIGhlaWdodDogYmxvY2suaGVpZ2h0LFxuICAgICAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgICAgICAgIFdJRHM6IHRyaWdnZXIuV0lEcyxcbiAgICAgICAgICBhbW91bnQ6IHRyaWdnZXIuYW1vdW50LFxuICAgICAgICAgIGJyaWRnZUZlZTogdHJpZ2dlci5icmlkZ2VGZWUsXG4gICAgICAgICAgZnJvbUFkZHJlc3M6IHRyaWdnZXIuZnJvbUFkZHJlc3MsXG4gICAgICAgICAgdG9BZGRyZXNzOiB0cmlnZ2VyLnRvQWRkcmVzcyxcbiAgICAgICAgICBmcm9tQ2hhaW46IHRyaWdnZXIuZnJvbUNoYWluLFxuICAgICAgICAgIG5ldHdvcmtGZWU6IHRyaWdnZXIubmV0d29ya0ZlZSxcbiAgICAgICAgICBzb3VyY2VDaGFpblRva2VuSWQ6IHRyaWdnZXIuc291cmNlQ2hhaW5Ub2tlbklkLFxuICAgICAgICAgIHRhcmdldENoYWluVG9rZW5JZDogdHJpZ2dlci50YXJnZXRDaGFpblRva2VuSWQsXG4gICAgICAgICAgc291cmNlQmxvY2tJZDogdHJpZ2dlci5zb3VyY2VCbG9ja0lkLFxuICAgICAgICAgIHRvQ2hhaW46IHRyaWdnZXIudG9DaGFpbixcbiAgICAgICAgICBzb3VyY2VUeElkOiB0cmlnZ2VyLnNvdXJjZVR4SWQsXG4gICAgICAgICAgc291cmNlQ2hhaW5IZWlnaHQ6IHRyaWdnZXIuc291cmNlQ2hhaW5IZWlnaHQsXG4gICAgICAgIH07XG4gICAgICAgIGlmICghc2F2ZWQpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKFxuICAgICAgICAgICAgYFN0b3JpbmcgZXZlbnQgdHJpZ2dlciBbJHt0cmlnZ2VyLmJveElkfV0gZm9yIGV2ZW50IFske3RyaWdnZXIuZXZlbnRJZH1dIGF0IGhlaWdodCAke2Jsb2NrLmhlaWdodH0gYW5kIGV4dHJhY3RvciAke2V4dHJhY3Rvcn1gXG4gICAgICAgICAgKTtcbiAgICAgICAgICBhd2FpdCBxdWVyeVJ1bm5lci5tYW5hZ2VyLmluc2VydChFdmVudFRyaWdnZXJFbnRpdHksIGVudGl0eSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhcbiAgICAgICAgICAgIGBVcGRhdGluZyBldmVudCB0cmlnZ2VyICR7dHJpZ2dlci5ib3hJZH0gZm9yIGV2ZW50IFske3RyaWdnZXIuZXZlbnRJZH1dIGF0IGhlaWdodCAke2Jsb2NrLmhlaWdodH0gYW5kIGV4dHJhY3RvciAke2V4dHJhY3Rvcn1gXG4gICAgICAgICAgKTtcbiAgICAgICAgICBhd2FpdCBxdWVyeVJ1bm5lci5tYW5hZ2VyLnVwZGF0ZShcbiAgICAgICAgICAgIEV2ZW50VHJpZ2dlckVudGl0eSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYm94SWQ6IHRyaWdnZXIuYm94SWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZW50aXR5XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgRW50aXR5OiAke0pTT04uc3RyaW5naWZ5KGVudGl0eSl9YCk7XG4gICAgICB9XG4gICAgICBhd2FpdCBxdWVyeVJ1bm5lci5jb21taXRUcmFuc2FjdGlvbigpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFxuICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHN0b3JlIGV2ZW50VHJpZ2dlciBhY3Rpb246ICR7ZX1gXG4gICAgICApO1xuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIucm9sbGJhY2tUcmFuc2FjdGlvbigpO1xuICAgICAgc3VjY2VzcyA9IGZhbHNlO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCBxdWVyeVJ1bm5lci5yZWxlYXNlKCk7XG4gICAgfVxuICAgIHJldHVybiBzdWNjZXNzO1xuICB9O1xuXG4gIC8qKlxuICAgKiB1cGRhdGUgc3BlbmRCbG9jayBDb2x1bW4gb2YgdGhlIGNvbW1pdG1lbnRzIGluIHRoZSBkYXRhQmFzZVxuICAgKiBAcGFyYW0gc3BlbmRJZFxuICAgKiBAcGFyYW0gYmxvY2tcbiAgICogQHBhcmFtIGV4dHJhY3RvclxuICAgKiBAcGFyYW0gdHhJZFxuICAgKi9cbiAgc3BlbmRFdmVudFRyaWdnZXJzID0gYXN5bmMgKFxuICAgIHNwZW5kSWQ6IEFycmF5PHN0cmluZz4sXG4gICAgYmxvY2s6IEJsb2NrRW50aXR5LFxuICAgIGV4dHJhY3Rvcjogc3RyaW5nLFxuICAgIHR4SWQ6IHN0cmluZ1xuICApOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBjb25zdCBzcGVuZElkQ2h1bmtzID0gY2h1bmsoc3BlbmRJZCwgZGJJZENodW5rU2l6ZSk7XG4gICAgZm9yIChjb25zdCBzcGVuZElkQ2h1bmsgb2Ygc3BlbmRJZENodW5rcykge1xuICAgICAgY29uc3QgdXBkYXRlUmVzdWx0ID0gYXdhaXQgdGhpcy5kYXRhc291cmNlXG4gICAgICAgIC5jcmVhdGVRdWVyeUJ1aWxkZXIoKVxuICAgICAgICAudXBkYXRlKGV2ZW50VHJpZ2dlckVudGl0eSlcbiAgICAgICAgLnNldCh7XG4gICAgICAgICAgc3BlbmRCbG9jazogYmxvY2suaGFzaCxcbiAgICAgICAgICBzcGVuZEhlaWdodDogYmxvY2suaGVpZ2h0LFxuICAgICAgICAgIHNwZW5kVHhJZDogdHhJZCxcbiAgICAgICAgfSlcbiAgICAgICAgLndoZXJlKHsgYm94SWQ6IEluKHNwZW5kSWRDaHVuaykgfSlcbiAgICAgICAgLmFuZFdoZXJlKHsgZXh0cmFjdG9yOiBleHRyYWN0b3IgfSlcbiAgICAgICAgLmV4ZWN1dGUoKTtcblxuICAgICAgaWYgKHVwZGF0ZVJlc3VsdC5hZmZlY3RlZCAmJiB1cGRhdGVSZXN1bHQuYWZmZWN0ZWQgPiAwKSB7XG4gICAgICAgIGNvbnN0IHNwZW50Um93cyA9IGF3YWl0IHRoaXMudHJpZ2dlckV2ZW50UmVwb3NpdG9yeS5maW5kQnkoe1xuICAgICAgICAgIGJveElkOiBJbihzcGVuZElkQ2h1bmspLFxuICAgICAgICAgIHNwZW5kQmxvY2s6IGJsb2NrLmhhc2gsXG4gICAgICAgIH0pO1xuICAgICAgICBmb3IgKGNvbnN0IHJvdyBvZiBzcGVudFJvd3MpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKFxuICAgICAgICAgICAgYFNwZW50IHRyaWdnZXIgWyR7cm93LmJveElkfV0gb2YgZXZlbnQgWyR7cm93LmV2ZW50SWR9XSBhdCBoZWlnaHQgJHtibG9jay5oZWlnaHR9YFxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYFNwZW50IHRyaWdnZXI6IFske0pTT04uc3RyaW5naWZ5KHJvdyl9XWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBkZWxldGluZyBhbGwgcGVybWl0cyBjb3JyZXNwb25kaW5nIHRvIHRoZSBibG9jayhpZCkgYW5kIGV4dHJhY3RvcihpZClcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICovXG4gIGRlbGV0ZUJsb2NrID0gYXN5bmMgKGJsb2NrOiBzdHJpbmcsIGV4dHJhY3Rvcjogc3RyaW5nKSA9PiB7XG4gICAgdGhpcy5sb2dnZXIuaW5mbyhcbiAgICAgIGBEZWxldGluZyBldmVudCB0cmlnZ2VycyBhdCBibG9jayAke2Jsb2NrfSBhbmQgZXh0cmFjdG9yICR7ZXh0cmFjdG9yfWBcbiAgICApO1xuICAgIGF3YWl0IHRoaXMuZGF0YXNvdXJjZVxuICAgICAgLmNyZWF0ZVF1ZXJ5QnVpbGRlcigpXG4gICAgICAuZGVsZXRlKClcbiAgICAgIC5mcm9tKEV2ZW50VHJpZ2dlckVudGl0eSlcbiAgICAgIC53aGVyZSgnZXh0cmFjdG9yID0gOmV4dHJhY3RvciBBTkQgYmxvY2sgPSA6YmxvY2snLCB7XG4gICAgICAgIGJsb2NrOiBibG9jayxcbiAgICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgICB9KVxuICAgICAgLmV4ZWN1dGUoKTtcbiAgICAvL1RPRE86IHNob3VsZCBoYW5kbGVkIG51bGwgdmFsdWUgaW4gc3BlbmRCbG9ja0hlaWdodFxuICAgIGF3YWl0IHRoaXMuZGF0YXNvdXJjZVxuICAgICAgLmNyZWF0ZVF1ZXJ5QnVpbGRlcigpXG4gICAgICAudXBkYXRlKEV2ZW50VHJpZ2dlckVudGl0eSlcbiAgICAgIC5zZXQoeyBzcGVuZEJsb2NrOiB1bmRlZmluZWQsIHNwZW5kSGVpZ2h0OiAwIH0pXG4gICAgICAud2hlcmUoJ3NwZW5kQmxvY2sgPSA6YmxvY2sgQU5EIGJsb2NrID0gOmJsb2NrJywge1xuICAgICAgICBibG9jazogYmxvY2ssXG4gICAgICB9KVxuICAgICAgLmV4ZWN1dGUoKTtcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRXZlbnRUcmlnZ2VyREI7XG4iXX0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"commitmentDB.d.ts","sourceRoot":"","sources":["../../lib/actions/commitmentDB.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAkB,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIhE,cAAM,sBAAsB;IAC1B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA+B;gBAExD,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;IAM1D;;;;;OAKG;IACH,gBAAgB,gBACD,MAAM,mBAAmB,CAAC,SAChC,WAAW,aACP,MAAM,KAChB,QAAQ,OAAO,CAAC,CA0DjB;IAEF;;;;;OAKG;IACH,gBAAgB,YACL,MAAM,MAAM,CAAC,SACf,WAAW,aACP,MAAM,KAChB,QAAQ,IAAI,CAAC,CAwBd;IAEF;;;;OAIG;IACH,qBAAqB,UAAiB,MAAM,aAAa,MAAM,mBAsB7D;CACH;AAED,eAAe,sBAAsB,CAAC"}