@rosen-bridge/address-extractor 5.0.0 → 5.0.2-7aba94c9

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.
@@ -0,0 +1,32 @@
1
+ import { DataSource } from 'typeorm';
2
+ import ExtractedBox from '../interfaces/ExtractedBox';
3
+ import { AbstractLogger } from '@rosen-bridge/logger-interface';
4
+ import { BlockEntity } from '@rosen-bridge/scanner';
5
+ export declare class BoxEntityAction {
6
+ private readonly datasource;
7
+ readonly logger: AbstractLogger;
8
+ constructor(dataSource: DataSource, logger: AbstractLogger);
9
+ /**
10
+ * stores initial extracted boxes to the database
11
+ * @param boxes
12
+ * @param initializationHeight
13
+ * @param extractor
14
+ */
15
+ storeInitialBoxes: (boxes: Array<ExtractedBox>, initializationHeight: number, extractor: string) => Promise<boolean>;
16
+ /**
17
+ * It stores list of blocks in the dataSource with block id
18
+ * @param boxes
19
+ * @param spendBoxes
20
+ * @param block
21
+ * @param extractor
22
+ */
23
+ storeBox: (boxes: Array<ExtractedBox>, spendBoxes: Array<string>, block: BlockEntity, extractor: string) => Promise<boolean>;
24
+ /**
25
+ * delete boxes in specific block from database. if box spend in this block marked as unspent
26
+ * and if created in this block remove it from database
27
+ * @param block
28
+ * @param extractor
29
+ */
30
+ deleteBlockBoxes: (block: string, extractor: string) => Promise<void>;
31
+ }
32
+ //# sourceMappingURL=db.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../lib/actions/db.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAgB,MAAM,SAAS,CAAC;AACnD,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;gBAEpB,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;IAK1D;;;;;OAKG;IACH,iBAAiB,UACR,MAAM,YAAY,CAAC,wBACJ,MAAM,aACjB,MAAM,sBAqCjB;IAEF;;;;;;OAMG;IACH,QAAQ,UACC,MAAM,YAAY,CAAC,cACd,MAAM,MAAM,CAAC,SAClB,WAAW,aACP,MAAM,sBA6DjB;IAEF;;;;;OAKG;IACH,gBAAgB,UAAiB,MAAM,aAAa,MAAM,mBAuBxD;CACH"}
@@ -0,0 +1,149 @@
1
+ import { BoxEntity } from '../entities/boxEntity';
2
+ import { In, LessThan } from 'typeorm';
3
+ export class BoxEntityAction {
4
+ datasource;
5
+ logger;
6
+ constructor(dataSource, logger) {
7
+ this.datasource = dataSource;
8
+ this.logger = logger;
9
+ }
10
+ /**
11
+ * stores initial extracted boxes to the database
12
+ * @param boxes
13
+ * @param initializationHeight
14
+ * @param extractor
15
+ */
16
+ storeInitialBoxes = async (boxes, initializationHeight, extractor) => {
17
+ const queryRunner = this.datasource.createQueryRunner();
18
+ await queryRunner.connect();
19
+ await queryRunner.startTransaction();
20
+ try {
21
+ const repository = queryRunner.manager.getRepository(BoxEntity);
22
+ await repository.delete({
23
+ creationHeight: LessThan(initializationHeight),
24
+ });
25
+ for (const box of boxes) {
26
+ const entity = {
27
+ address: box.address,
28
+ boxId: box.boxId,
29
+ createBlock: box.blockId,
30
+ creationHeight: box.height,
31
+ spendBlock: undefined,
32
+ serialized: box.serialized,
33
+ extractor: extractor,
34
+ };
35
+ this.logger.info(`Storing initial box ${box.boxId} with extractor ${extractor}`);
36
+ this.logger.debug(`Stored box entity: [${JSON.stringify(entity)}]`);
37
+ await repository.insert(entity);
38
+ }
39
+ await queryRunner.commitTransaction();
40
+ }
41
+ catch (e) {
42
+ this.logger.error(`An error occurred during store boxes action: ${e}`);
43
+ await queryRunner.rollbackTransaction();
44
+ throw new Error('Initialization failed while storing initial address boxes');
45
+ }
46
+ finally {
47
+ await queryRunner.release();
48
+ }
49
+ return true;
50
+ };
51
+ /**
52
+ * It stores list of blocks in the dataSource with block id
53
+ * @param boxes
54
+ * @param spendBoxes
55
+ * @param block
56
+ * @param extractor
57
+ */
58
+ storeBox = async (boxes, spendBoxes, block, extractor) => {
59
+ const boxIds = boxes.map((item) => item.boxId);
60
+ const dbBoxes = await this.datasource.getRepository(BoxEntity).findBy({
61
+ boxId: In(boxIds),
62
+ extractor: extractor,
63
+ });
64
+ let success = true;
65
+ const queryRunner = this.datasource.createQueryRunner();
66
+ await queryRunner.connect();
67
+ await queryRunner.startTransaction();
68
+ try {
69
+ for (const box of boxes) {
70
+ const entity = {
71
+ address: box.address,
72
+ boxId: box.boxId,
73
+ createBlock: block.hash,
74
+ creationHeight: block.height,
75
+ spendBlock: undefined,
76
+ serialized: box.serialized,
77
+ extractor: extractor,
78
+ };
79
+ const dbBox = dbBoxes.filter((item) => item.boxId === box.boxId);
80
+ if (dbBox.length > 0) {
81
+ this.logger.info(`Updating box ${box.boxId} and extractor ${extractor}`);
82
+ this.logger.debug(`Entity: ${JSON.stringify(entity)}`);
83
+ await queryRunner.manager
84
+ .getRepository(BoxEntity)
85
+ .createQueryBuilder()
86
+ .update()
87
+ .set(entity)
88
+ .where({ id: dbBox[0].id })
89
+ .execute();
90
+ }
91
+ else {
92
+ this.logger.info(`Storing box ${box.boxId}`);
93
+ this.logger.debug(JSON.stringify(entity));
94
+ await queryRunner.manager.getRepository(BoxEntity).insert(entity);
95
+ }
96
+ }
97
+ this.logger.debug(`Updating spendBlock for boxes ${spendBoxes}`);
98
+ await queryRunner.manager
99
+ .getRepository(BoxEntity)
100
+ .createQueryBuilder()
101
+ .update()
102
+ .set({ spendBlock: block.hash })
103
+ .where('boxId IN (:...boxes) AND extractor = :extractor', {
104
+ boxes: spendBoxes,
105
+ extractor: extractor,
106
+ })
107
+ .execute();
108
+ await queryRunner.commitTransaction();
109
+ }
110
+ catch (e) {
111
+ this.logger.error(`An error occurred during store boxes action: ${e}`);
112
+ await queryRunner.rollbackTransaction();
113
+ success = false;
114
+ }
115
+ finally {
116
+ await queryRunner.release();
117
+ }
118
+ return success;
119
+ };
120
+ /**
121
+ * delete boxes in specific block from database. if box spend in this block marked as unspent
122
+ * and if created in this block remove it from database
123
+ * @param block
124
+ * @param extractor
125
+ */
126
+ deleteBlockBoxes = async (block, extractor) => {
127
+ this.logger.info(`Deleting boxes in block ${block} and extractor ${extractor}`);
128
+ await this.datasource
129
+ .createQueryBuilder()
130
+ .delete()
131
+ .from(BoxEntity)
132
+ .where('extractor = :extractor AND createBlock = :block', {
133
+ block: block,
134
+ extractor: extractor,
135
+ })
136
+ .execute();
137
+ await this.datasource
138
+ .getRepository(BoxEntity)
139
+ .createQueryBuilder()
140
+ .update()
141
+ .set({ spendBlock: null })
142
+ .where('spendBlock = :block AND extractor = :extractor', {
143
+ block: block,
144
+ extractor: extractor,
145
+ })
146
+ .execute();
147
+ };
148
+ }
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvYWN0aW9ucy9kYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFjLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFLbkQsTUFBTSxPQUFPLGVBQWU7SUFDVCxVQUFVLENBQWE7SUFDL0IsTUFBTSxDQUFpQjtJQUVoQyxZQUFZLFVBQXNCLEVBQUUsTUFBc0I7UUFDeEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsaUJBQWlCLEdBQUcsS0FBSyxFQUN2QixLQUEwQixFQUMxQixvQkFBNEIsRUFDNUIsU0FBaUIsRUFDakIsRUFBRTtRQUNGLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN4RCxNQUFNLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM1QixNQUFNLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3JDLElBQUk7WUFDRixNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNoRSxNQUFNLFVBQVUsQ0FBQyxNQUFNLENBQUM7Z0JBQ3RCLGNBQWMsRUFBRSxRQUFRLENBQUMsb0JBQW9CLENBQUM7YUFDL0MsQ0FBQyxDQUFDO1lBQ0gsS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQUU7Z0JBQ3ZCLE1BQU0sTUFBTSxHQUFHO29CQUNiLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTztvQkFDcEIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO29CQUNoQixXQUFXLEVBQUUsR0FBRyxDQUFDLE9BQU87b0JBQ3hCLGNB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QUFDO1NBQ2pCO2dCQUFTO1lBQ1IsTUFBTSxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDN0I7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDLENBQUM7SUFFRjs7Ozs7T0FLRztJQUNILGdCQUFnQixHQUFHLEtBQUssRUFBRSxLQUFhLEVBQUUsU0FBaUIsRUFBRSxFQUFFO1FBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNkLDJCQUEyQixLQUFLLGtCQUFrQixTQUFTLEVBQUUsQ0FDOUQsQ0FBQztRQUNGLE1BQU0sSUFBSSxDQUFDLFVBQVU7YUFDbEIsa0JBQWtCLEVBQUU7YUFDcEIsTUFBTSxFQUFFO2FBQ1IsSUFBSSxDQUFDLFNBQVMsQ0FBQzthQUNmLEtBQUssQ0FBQyxpREFBaUQsRUFBRTtZQUN4RCxLQUFLLEVBQUUsS0FBSztZQUNaLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUM7YUFDRCxPQUFPLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxDQUFDLFVBQVU7YUFDbEIsYUFBYSxDQUFDLFNBQVMsQ0FBQzthQUN4QixrQkFBa0IsRUFBRTthQUNwQixNQUFNLEVBQUU7YUFDUixHQUFHLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUM7YUFDekIsS0FBSyxDQUFDLGdEQUFnRCxFQUFFO1lBQ3ZELEtBQUssRUFBRSxLQUFLO1lBQ1osU0FBUyxFQUFFLFNBQVM7U0FDckIsQ0FBQzthQUNELE9BQU8sRUFBRSxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb3hFbnRpdHkgfSBmcm9tICcuLi9lbnRpdGllcy9ib3hFbnRpdHknO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSwgSW4sIExlc3NUaGFuIH0gZnJvbSAndHlwZW9ybSc7XG5pbXBvcnQgRXh0cmFjdGVkQm94IGZyb20gJy4uL2ludGVyZmFjZXMvRXh0cmFjdGVkQm94JztcbmltcG9ydCB7IEFic3RyYWN0TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9sb2dnZXItaW50ZXJmYWNlJztcbmltcG9ydCB7IEJsb2NrRW50aXR5IH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9zY2FubmVyJztcblxuZXhwb3J0IGNsYXNzIEJveEVudGl0eUFjdGlvbiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0YXNvdXJjZTogRGF0YVNvdXJjZTtcbiAgcmVhZG9ubHkgbG9nZ2VyOiBBYnN0cmFjdExvZ2dlcjtcblxuICBjb25zdHJ1Y3RvcihkYXRhU291cmNlOiBEYXRhU291cmNlLCBsb2dnZXI6IEFic3RyYWN0TG9nZ2VyKSB7XG4gICAgdGhpcy5kYXRhc291cmNlID0gZGF0YVNvdXJjZTtcbiAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBzdG9yZXMgaW5pdGlhbCBleHRyYWN0ZWQgYm94ZXMgdG8gdGhlIGRhdGFiYXNlXG4gICAqIEBwYXJhbSBib3hlc1xuICAgKiBAcGFyYW0gaW5pdGlhbGl6YXRpb25IZWlnaHRcbiAgICogQHBhcmFtIGV4dHJhY3RvclxuICAgKi9cbiAgc3RvcmVJbml0aWFsQm94ZXMgPSBhc3luYyAoXG4gICAgYm94ZXM6IEFycmF5PEV4dHJhY3RlZEJveD4sXG4gICAgaW5pdGlhbGl6YXRpb25IZWlnaHQ6IG51bWJlcixcbiAgICBleHRyYWN0b3I6IHN0cmluZ1xuICApID0+IHtcbiAgICBjb25zdCBxdWVyeVJ1bm5lciA9IHRoaXMuZGF0YXNvdXJjZS5jcmVhdGVRdWVyeVJ1bm5lcigpO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLmNvbm5lY3QoKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5zdGFydFRyYW5zYWN0aW9uKCk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcG9zaXRvcnkgPSBxdWVyeVJ1bm5lci5tYW5hZ2VyLmdldFJlcG9zaXRvcnkoQm94RW50aXR5KTtcbiAgICAgIGF3YWl0IHJlcG9zaXRvcnkuZGVsZXRlKHtcbiAgICAgICAgY3JlYXRpb25IZWlnaHQ6IExlc3NUaGFuKGluaXRpYWxpemF0aW9uSGVpZ2h0KSxcbiAgICAgIH0pO1xuICAgICAgZm9yIChjb25zdCBib3ggb2YgYm94ZXMpIHtcbiAgICAgICAgY29uc3QgZW50aXR5ID0ge1xuICAgICAgICAgIGFkZHJlc3M6IGJveC5hZGRyZXNzLFxuICAgICAgICAgIGJveElkOiBib3guYm94SWQsXG4gICAgICAgICAgY3JlYXRlQmxvY2s6IGJveC5ibG9ja0lkLFxuICAgICAgICAgIGNyZWF0aW9uSGVpZ2h0OiBib3guaGVpZ2h0LFxuICAgICAgICAgIHNwZW5kQmxvY2s6IHVuZGVmaW5lZCxcbiAgICAgICAgICBzZXJpYWxpemVkOiBib3guc2VyaWFsaXplZCxcbiAgICAgICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhcbiAgICAgICAgICBgU3RvcmluZyBpbml0aWFsIGJveCAke2JveC5ib3hJZH0gd2l0aCBleHRyYWN0b3IgJHtleHRyYWN0b3J9YFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgU3RvcmVkIGJveCBlbnRpdHk6IFske0pTT04uc3RyaW5naWZ5KGVudGl0eSl9XWApO1xuICAgICAgICBhd2FpdCByZXBvc2l0b3J5Lmluc2VydChlbnRpdHkpO1xuICAgICAgfVxuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIuY29tbWl0VHJhbnNhY3Rpb24oKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcihgQW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHN0b3JlIGJveGVzIGFjdGlvbjogJHtlfWApO1xuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIucm9sbGJhY2tUcmFuc2FjdGlvbigpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnSW5pdGlhbGl6YXRpb24gZmFpbGVkIHdoaWxlIHN0b3JpbmcgaW5pdGlhbCBhZGRyZXNzIGJveGVzJ1xuICAgICAgKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIucmVsZWFzZSgpO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfTtcblxuICAvKipcbiAgICogSXQgc3RvcmVzIGxpc3Qgb2YgYmxvY2tzIGluIHRoZSBkYXRhU291cmNlIHdpdGggYmxvY2sgaWRcbiAgICogQHBhcmFtIGJveGVzXG4gICAqIEBwYXJhbSBzcGVuZEJveGVzXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKiBAcGFyYW0gZXh0cmFjdG9yXG4gICAqL1xuICBzdG9yZUJveCA9IGFzeW5jIChcbiAgICBib3hlczogQXJyYXk8RXh0cmFjdGVkQm94PixcbiAgICBzcGVuZEJveGVzOiBBcnJheTxzdHJpbmc+LFxuICAgIGJsb2NrOiBCbG9ja0VudGl0eSxcbiAgICBleHRyYWN0b3I6IHN0cmluZ1xuICApID0+IHtcbiAgICBjb25zdCBib3hJZHMgPSBib3hlcy5tYXAoKGl0ZW0pID0+IGl0ZW0uYm94SWQpO1xuICAgIGNvbnN0IGRiQm94ZXMgPSBhd2FpdCB0aGlzLmRhdGFzb3VyY2UuZ2V0UmVwb3NpdG9yeShCb3hFbnRpdHkpLmZpbmRCeSh7XG4gICAgICBib3hJZDogSW4oYm94SWRzKSxcbiAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgIH0pO1xuICAgIGxldCBzdWNjZXNzID0gdHJ1ZTtcbiAgICBjb25zdCBxdWVyeVJ1bm5lciA9IHRoaXMuZGF0YXNvdXJjZS5jcmVhdGVRdWVyeVJ1bm5lcigpO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLmNvbm5lY3QoKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5zdGFydFRyYW5zYWN0aW9uKCk7XG4gICAgdHJ5IHtcbiAgICAgIGZvciAoY29uc3QgYm94IG9mIGJveGVzKSB7XG4gICAgICAgIGNvbnN0IGVudGl0eSA9IHtcbiAgICAgICAgICBhZGRyZXNzOiBib3guYWRkcmVzcyxcbiAgICAgICAgICBib3hJZDogYm94LmJveElkLFxuICAgICAgICAgIGNyZWF0ZUJsb2NrOiBibG9jay5oYXNoLFxuICAgICAgICAgIGNyZWF0aW9uSGVpZ2h0OiBibG9jay5oZWlnaHQsXG4gICAgICAgICAgc3BlbmRCbG9jazogdW5kZWZpbmVkLFxuICAgICAgICAgIHNlcmlhbGl6ZWQ6IGJveC5zZXJpYWxpemVkLFxuICAgICAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBkYkJveCA9IGRiQm94ZXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmJveElkID09PSBib3guYm94SWQpO1xuICAgICAgICBpZiAoZGJCb3gubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmluZm8oXG4gICAgICAgICAgICBgVXBkYXRpbmcgYm94ICR7Ym94LmJveElkfSBhbmQgZXh0cmFjdG9yICR7ZXh0cmFjdG9yfWBcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBFbnRpdHk6ICR7SlNPTi5zdHJpbmdpZnkoZW50aXR5KX1gKTtcbiAgICAgICAgICBhd2FpdCBxdWVyeVJ1bm5lci5tYW5hZ2VyXG4gICAgICAgICAgICAuZ2V0UmVwb3NpdG9yeShCb3hFbnRpdHkpXG4gICAgICAgICAgICAuY3JlYXRlUXVlcnlCdWlsZGVyKClcbiAgICAgICAgICAgIC51cGRhdGUoKVxuICAgICAgICAgICAgLnNldChlbnRpdHkpXG4gICAgICAgICAgICAud2hlcmUoeyBpZDogZGJCb3hbMF0uaWQgfSlcbiAgICAgICAgICAgIC5leGVjdXRlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhgU3RvcmluZyBib3ggJHtib3guYm94SWR9YCk7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoSlNPTi5zdHJpbmdpZnkoZW50aXR5KSk7XG4gICAgICAgICAgYXdhaXQgcXVlcnlSdW5uZXIubWFuYWdlci5nZXRSZXBvc2l0b3J5KEJveEVudGl0eSkuaW5zZXJ0KGVudGl0eSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBVcGRhdGluZyBzcGVuZEJsb2NrIGZvciBib3hlcyAke3NwZW5kQm94ZXN9YCk7XG4gICAgICBhd2FpdCBxdWVyeVJ1bm5lci5tYW5hZ2VyXG4gICAgICAgIC5nZXRSZXBvc2l0b3J5KEJveEVudGl0eSlcbiAgICAgICAgLmNyZWF0ZVF1ZXJ5QnVpbGRlcigpXG4gICAgICAgIC51cGRhdGUoKVxuICAgICAgICAuc2V0KHsgc3BlbmRCbG9jazogYmxvY2suaGFzaCB9KVxuICAgICAgICAud2hlcmUoJ2JveElkIElOICg6Li4uYm94ZXMpIEFORCBleHRyYWN0b3IgPSA6ZXh0cmFjdG9yJywge1xuICAgICAgICAgIGJveGVzOiBzcGVuZEJveGVzLFxuICAgICAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgICAgICB9KVxuICAgICAgICAuZXhlY3V0ZSgpO1xuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIuY29tbWl0VHJhbnNhY3Rpb24oKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcihgQW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHN0b3JlIGJveGVzIGFjdGlvbjogJHtlfWApO1xuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIucm9sbGJhY2tUcmFuc2FjdGlvbigpO1xuICAgICAgc3VjY2VzcyA9IGZhbHNlO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCBxdWVyeVJ1bm5lci5yZWxlYXNlKCk7XG4gICAgfVxuICAgIHJldHVybiBzdWNjZXNzO1xuICB9O1xuXG4gIC8qKlxuICAgKiBkZWxldGUgYm94ZXMgaW4gc3BlY2lmaWMgYmxvY2sgZnJvbSBkYXRhYmFzZS4gaWYgYm94IHNwZW5kIGluIHRoaXMgYmxvY2sgbWFya2VkIGFzIHVuc3BlbnRcbiAgICogYW5kIGlmIGNyZWF0ZWQgaW4gdGhpcyBibG9jayByZW1vdmUgaXQgZnJvbSBkYXRhYmFzZVxuICAgKiBAcGFyYW0gYmxvY2tcbiAgICogQHBhcmFtIGV4dHJhY3RvclxuICAgKi9cbiAgZGVsZXRlQmxvY2tCb3hlcyA9IGFzeW5jIChibG9jazogc3RyaW5nLCBleHRyYWN0b3I6IHN0cmluZykgPT4ge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oXG4gICAgICBgRGVsZXRpbmcgYm94ZXMgaW4gYmxvY2sgJHtibG9ja30gYW5kIGV4dHJhY3RvciAke2V4dHJhY3Rvcn1gXG4gICAgKTtcbiAgICBhd2FpdCB0aGlzLmRhdGFzb3VyY2VcbiAgICAgIC5jcmVhdGVRdWVyeUJ1aWxkZXIoKVxuICAgICAgLmRlbGV0ZSgpXG4gICAgICAuZnJvbShCb3hFbnRpdHkpXG4gICAgICAud2hlcmUoJ2V4dHJhY3RvciA9IDpleHRyYWN0b3IgQU5EIGNyZWF0ZUJsb2NrID0gOmJsb2NrJywge1xuICAgICAgICBibG9jazogYmxvY2ssXG4gICAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgICAgfSlcbiAgICAgIC5leGVjdXRlKCk7XG4gICAgYXdhaXQgdGhpcy5kYXRhc291cmNlXG4gICAgICAuZ2V0UmVwb3NpdG9yeShCb3hFbnRpdHkpXG4gICAgICAuY3JlYXRlUXVlcnlCdWlsZGVyKClcbiAgICAgIC51cGRhdGUoKVxuICAgICAgLnNldCh7IHNwZW5kQmxvY2s6IG51bGwgfSlcbiAgICAgIC53aGVyZSgnc3BlbmRCbG9jayA9IDpibG9jayBBTkQgZXh0cmFjdG9yID0gOmV4dHJhY3RvcicsIHtcbiAgICAgICAgYmxvY2s6IGJsb2NrLFxuICAgICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICAgIH0pXG4gICAgICAuZXhlY3V0ZSgpO1xuICB9O1xufVxuIl19
@@ -0,0 +1,4 @@
1
+ declare const DefaultApiLimit = 100;
2
+ declare const dbIdChunkSize = 100;
3
+ export { DefaultApiLimit, dbIdChunkSize };
4
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../lib/constants.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,eAAe,MAAM,CAAC;AAC5B,QAAA,MAAM,aAAa,MAAM,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ const DefaultApiLimit = 100;
2
+ const dbIdChunkSize = 100;
3
+ export { DefaultApiLimit, dbIdChunkSize };
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vbGliL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUM7QUFDNUIsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDO0FBRTFCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBEZWZhdWx0QXBpTGltaXQgPSAxMDA7XG5jb25zdCBkYklkQ2h1bmtTaXplID0gMTAwO1xuXG5leHBvcnQgeyBEZWZhdWx0QXBpTGltaXQsIGRiSWRDaHVua1NpemUgfTtcbiJdfQ==
@@ -1,10 +1,9 @@
1
1
  import { DataSource } from 'typeorm';
2
2
  import * as ergoLib from 'ergo-lib-wasm-nodejs';
3
3
  import { AbstractLogger } from '@rosen-bridge/abstract-logger';
4
- import { AbstractInitializableErgoExtractor, ErgoBox, AbstractNetwork, OutputBox } from '@rosen-bridge/abstract-extractor';
4
+ import { AbstractInitializableErgoExtractor, ErgoBox, AbstractNetwork, OutputBox, ErgoNetworkType } from '@rosen-bridge/abstract-extractor';
5
5
  import { BoxEntityAction } from '../actions/boxAction';
6
6
  import { ExtractedBox } from '../interfaces/types';
7
- import { ErgoNetworkType } from '../../../abstract-extractor/lib/ergo/interfaces';
8
7
  export declare class ErgoUTXOExtractor extends AbstractInitializableErgoExtractor<ExtractedBox> {
9
8
  readonly actions: BoxEntityAction;
10
9
  private readonly id;
@@ -1 +1 @@
1
- {"version":3,"file":"ergoUtxoExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractor/ergoUtxoExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EACL,kCAAkC,EAClC,OAAO,EACP,eAAe,EAEf,SAAS,EAGV,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAElF,qBAAa,iBAAkB,SAAQ,kCAAkC,CAAC,YAAY,CAAC;IACrF,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,EAAE,eAAe,CAAC;gBAGvB,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,OAAO,CAAC,aAAa,EAClC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,eAAe,EACrB,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EACtB,MAAM,CAAC,EAAE,cAAc,EACvB,UAAU,UAAO;IAiBnB;;OAEG;IACH,KAAK,eAAsB;IAE3B;;;;OAIG;IACH,OAAO,QAAS,SAAS,KAAG,OAAO,CAKjC;IAEF;;;OAGG;IACH,UAAU,SAAgB,MAAM,mEAE9B;IAEF;;;;;;OAMG;IACH,cAAc,QACP,SAAS,WACL,MAAM,UACP,MAAM,KACb,KAAK,YAAY,EAAE,YAAY,GAAG,aAAa,CAAC,GAAG,SAAS,CAe7D;IAEF;;;;;OAKG;IACH,uBAAuB,WACb,MAAM,SACP,MAAM,KACZ,QAAQ;QAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC,CAQrD;CACH"}
1
+ {"version":3,"file":"ergoUtxoExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractor/ergoUtxoExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EACL,kCAAkC,EAClC,OAAO,EACP,eAAe,EAEf,SAAS,EAGT,eAAe,EAChB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,qBAAa,iBAAkB,SAAQ,kCAAkC,CAAC,YAAY,CAAC;IACrF,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,EAAE,eAAe,CAAC;gBAGvB,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,OAAO,CAAC,aAAa,EAClC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,eAAe,EACrB,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EACtB,MAAM,CAAC,EAAE,cAAc,EACvB,UAAU,UAAO;IAiBnB;;OAEG;IACH,KAAK,eAAsB;IAE3B;;;;OAIG;IACH,OAAO,QAAS,SAAS,KAAG,OAAO,CAKjC;IAEF;;;OAGG;IACH,UAAU,SAAgB,MAAM,mEAE9B;IAEF;;;;;;OAMG;IACH,cAAc,QACP,SAAS,WACL,MAAM,UACP,MAAM,KACb,KAAK,YAAY,EAAE,YAAY,GAAG,aAAa,CAAC,GAAG,SAAS,CAe7D;IAEF;;;;;OAKG;IACH,uBAAuB,WACb,MAAM,SACP,MAAM,KACZ,QAAQ;QAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC,CAQrD;CACH"}
@@ -1,9 +1,8 @@
1
1
  import * as ergoLib from 'ergo-lib-wasm-nodejs';
2
2
  import { Buffer } from 'buffer';
3
- import { AbstractInitializableErgoExtractor, NodeNetwork, boxHasToken, ExplorerNetwork, } from '@rosen-bridge/abstract-extractor';
3
+ import { AbstractInitializableErgoExtractor, NodeNetwork, boxHasToken, ExplorerNetwork, ErgoNetworkType, } from '@rosen-bridge/abstract-extractor';
4
4
  import { BoxEntityAction } from '../actions/boxAction';
5
5
  import { JsonBI } from '../utils';
6
- import { ErgoNetworkType } from '../../../abstract-extractor/lib/ergo/interfaces';
7
6
  export class ErgoUTXOExtractor extends AbstractInitializableErgoExtractor {
8
7
  actions;
9
8
  id;
@@ -84,4 +83,4 @@ export class ErgoUTXOExtractor extends AbstractInitializableErgoExtractor {
84
83
  }
85
84
  };
86
85
  }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJnb1V0eG9FeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZXh0cmFjdG9yL2VyZ29VdHhvRXh0cmFjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVoQyxPQUFPLEVBQ0wsa0NBQWtDLEVBR2xDLFdBQVcsRUFFWCxXQUFXLEVBQ1gsZUFBZSxHQUNoQixNQUFNLGtDQUFrQyxDQUFDO0FBRTFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUVsRixNQUFNLE9BQU8saUJBQWtCLFNBQVEsa0NBQWdEO0lBQzVFLE9BQU8sQ0FBa0I7SUFDakIsRUFBRSxDQUFTO0lBQ1gsV0FBVyxDQUF3QjtJQUNuQyxPQUFPLENBQVU7SUFDakIsUUFBUSxDQUFVO0lBQ2xCLE1BQU0sQ0FBZ0I7SUFDdkMsT0FBTyxDQUFrQjtJQUV6QixZQUNFLFVBQXNCLEVBQ3RCLEVBQVUsRUFDVixXQUFrQyxFQUNsQyxHQUFXLEVBQ1gsSUFBcUIsRUFDckIsT0FBZ0IsRUFDaEIsTUFBc0IsRUFDdEIsTUFBdUIsRUFDdkIsVUFBVSxHQUFHLElBQUk7UUFFakIsS0FBSyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTztZQUNyQixDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsZUFBZSxFQUFFO1lBQ3ZFLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDZCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVELElBQUksSUFBSSxJQUFJLGVBQWUsQ0FBQyxRQUFRO1lBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDckMsSUFBSSxJQUFJLElBQUksZUFBZSxDQUFDLElBQUk7WUFBRSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDOztZQUN0RSxNQUFNLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUUzQjs7OztPQUlHO0lBQ0gsT0FBTyxHQUFHLENBQUMsR0FBYyxFQUFXLEVBQUU7UUFDcEMsT0FBTyxDQUNMLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEdBQUcsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNqRCxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxXQUFXLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUMzRCxDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUY7OztPQUdHO0lBQ0gsVUFBVSxHQUFHLEtBQUssRUFBRSxJQUFZLEVBQUUsRUFBRTtRQUNsQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUMsQ0FBQztJQUVGOzs7Ozs7T0FNRztJQUNILGNBQWMsR0FBRyxDQUNmLEdBQWMsRUFDZCxPQUFlLEVBQ2YsTUFBYyxFQUNnRCxFQUFFO1FBQ2hFLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqRSxPQUFPO1lBQ0wsS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUU7WUFDaEMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQzlDLE9BQU8sQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQ2hDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FDdEMsQ0FDRixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQzdCLFVBQVUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUMvRCxRQUFRLENBQ1Q7WUFDRCxPQUFPLEVBQUUsT0FBTztZQUNoQixNQUFNLEVBQUUsTUFBTTtTQUNmLENBQUM7SUFDSixDQUFDLENBQUM7SUFFRjs7Ozs7T0FLRztJQUNILHVCQUF1QixHQUFHLEtBQUssRUFDN0IsTUFBYyxFQUNkLEtBQWEsRUFDeUMsRUFBRTtRQUN4RCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3BFO2FBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2xELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN0RTthQUFNO1lBQ0wsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDO1NBQzNDO0lBQ0gsQ0FBQyxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAndHlwZW9ybSc7XG5pbXBvcnQgKiBhcyBlcmdvTGliIGZyb20gJ2VyZ28tbGliLXdhc20tbm9kZWpzJztcbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ2J1ZmZlcic7XG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcbmltcG9ydCB7XG4gIEFic3RyYWN0SW5pdGlhbGl6YWJsZUVyZ29FeHRyYWN0b3IsXG4gIEVyZ29Cb3gsXG4gIEFic3RyYWN0TmV0d29yayxcbiAgTm9kZU5ldHdvcmssXG4gIE91dHB1dEJveCxcbiAgYm94SGFzVG9rZW4sXG4gIEV4cGxvcmVyTmV0d29yayxcbn0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1leHRyYWN0b3InO1xuXG5pbXBvcnQgeyBCb3hFbnRpdHlBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zL2JveEFjdGlvbic7XG5pbXBvcnQgeyBKc29uQkkgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBFeHRyYWN0ZWRCb3ggfSBmcm9tICcuLi9pbnRlcmZhY2VzL3R5cGVzJztcbmltcG9ydCB7IEVyZ29OZXR3b3JrVHlwZSB9IGZyb20gJy4uLy4uLy4uL2Fic3RyYWN0LWV4dHJhY3Rvci9saWIvZXJnby9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNsYXNzIEVyZ29VVFhPRXh0cmFjdG9yIGV4dGVuZHMgQWJzdHJhY3RJbml0aWFsaXphYmxlRXJnb0V4dHJhY3RvcjxFeHRyYWN0ZWRCb3g+IHtcbiAgcmVhZG9ubHkgYWN0aW9uczogQm94RW50aXR5QWN0aW9uO1xuICBwcml2YXRlIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgbmV0d29ya1R5cGU6IGVyZ29MaWIuTmV0d29ya1ByZWZpeDtcbiAgcHJpdmF0ZSByZWFkb25seSBhZGRyZXNzPzogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGVyZ29UcmVlPzogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHRva2VuczogQXJyYXk8c3RyaW5nPjtcbiAgbmV0d29yazogQWJzdHJhY3ROZXR3b3JrO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGRhdGFTb3VyY2U6IERhdGFTb3VyY2UsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBuZXR3b3JrVHlwZTogZXJnb0xpYi5OZXR3b3JrUHJlZml4LFxuICAgIHVybDogc3RyaW5nLFxuICAgIHR5cGU6IEVyZ29OZXR3b3JrVHlwZSxcbiAgICBhZGRyZXNzPzogc3RyaW5nLFxuICAgIHRva2Vucz86IEFycmF5PHN0cmluZz4sXG4gICAgbG9nZ2VyPzogQWJzdHJhY3RMb2dnZXIsXG4gICAgaW5pdGlhbGl6ZSA9IHRydWVcbiAgKSB7XG4gICAgc3VwZXIoaW5pdGlhbGl6ZSwgbG9nZ2VyKTtcbiAgICB0aGlzLmlkID0gaWQ7XG4gICAgdGhpcy5uZXR3b3JrVHlwZSA9IG5ldHdvcmtUeXBlO1xuICAgIHRoaXMuYWRkcmVzcyA9IGFkZHJlc3M7XG4gICAgdGhpcy5lcmdvVHJlZSA9IGFkZHJlc3NcbiAgICAgID8gZXJnb0xpYi5BZGRyZXNzLmZyb21fYmFzZTU4KGFkZHJlc3MpLnRvX2VyZ29fdHJlZSgpLnRvX2Jhc2UxNl9ieXRlcygpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLnRva2VucyA9IHRva2VucyA/IHRva2VucyA6IFtdO1xuICAgIHRoaXMuYWN0aW9ucyA9IG5ldyBCb3hFbnRpdHlBY3Rpb24oZGF0YVNvdXJjZSwgdGhpcy5sb2dnZXIpO1xuICAgIGlmICh0eXBlID09IEVyZ29OZXR3b3JrVHlwZS5FeHBsb3JlcilcbiAgICAgIHRoaXMubmV0d29yayA9IG5ldyBFeHBsb3Jlck5ldHdvcmsodXJsKTtcbiAgICBlbHNlIGlmICh0eXBlID09IEVyZ29OZXR3b3JrVHlwZS5Ob2RlKSB0aGlzLm5ldHdvcmsgPSBuZXcgTm9kZU5ldHdvcmsodXJsKTtcbiAgICBlbHNlIHRocm93IEVycm9yKCdOZXR3b3JrIHR5cGUgaXMgbm90IHN1cHBvcnRlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBJZCBmb3IgY3VycmVudCBleHRyYWN0b3JcbiAgICovXG4gIGdldElkID0gKCkgPT4gYCR7dGhpcy5pZH1gO1xuXG4gIC8qKlxuICAgKiBjaGVjayBwcm9wZXIgZGF0YSBmb3JtYXQgaW4gdGhlIGJveFxuICAgKiBAcGFyYW0gYm94XG4gICAqIEByZXR1cm4gdHJ1ZSBpZiB0aGUgYm94IGhhcyB0aGUgcmVxdWlyZWQgZGF0YSBhbmQgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqL1xuICBoYXNEYXRhID0gKGJveDogT3V0cHV0Qm94KTogYm9vbGVhbiA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgICghdGhpcy5lcmdvVHJlZSB8fCBib3guZXJnb1RyZWUgPT0gdGhpcy5lcmdvVHJlZSkgJiZcbiAgICAgICh0aGlzLnRva2Vucy5sZW5ndGggPT0gMCB8fCBib3hIYXNUb2tlbihib3gsIHRoaXMudG9rZW5zKSlcbiAgICApO1xuICB9O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGJsb2NrIGluZm9ybWF0aW9uIG9mIHR4XG4gICAqIEBwYXJhbSB0eElkXG4gICAqL1xuICBnZXRUeEJsb2NrID0gYXN5bmMgKHR4SWQ6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiB0aGlzLm5ldHdvcmsuZ2V0VHhCbG9jayh0eElkKTtcbiAgfTtcblxuICAvKipcbiAgICogZXh0cmFjdCBib3ggZGF0YSB0byBwcm9wZXIgZm9ybWF0IChub3QgaW5jbHVkaW5nIHNwZW5kaW5nIGluZm9ybWF0aW9uKVxuICAgKiBAcGFyYW0gYm94XG4gICAqIEBwYXJhbSBibG9ja0lkIGJveCBpbmNsdXNpb24gYmxvY2sgaGFzaFxuICAgKiBAcGFyYW0gaGVpZ2h0IGJveCBpbmNsdXNpb24gYmxvY2sgaGVpZ2h0XG4gICAqIEByZXR1cm4gZXh0cmFjdGVkIGRhdGEgaW4gcHJvcGVyIGZvcm1hdFxuICAgKi9cbiAgZXh0cmFjdEJveERhdGEgPSAoXG4gICAgYm94OiBPdXRwdXRCb3gsXG4gICAgYmxvY2tJZDogc3RyaW5nLFxuICAgIGhlaWdodDogbnVtYmVyXG4gICk6IE9taXQ8RXh0cmFjdGVkQm94LCAnc3BlbmRCbG9jaycgfCAnc3BlbmRIZWlnaHQnPiB8IHVuZGVmaW5lZCA9PiB7XG4gICAgY29uc3QgZXJnb0JveCA9IGVyZ29MaWIuRXJnb0JveC5mcm9tX2pzb24oSnNvbkJJLnN0cmluZ2lmeShib3gpKTtcbiAgICByZXR1cm4ge1xuICAgICAgYm94SWQ6IGVyZ29Cb3guYm94X2lkKCkudG9fc3RyKCksXG4gICAgICBhZGRyZXNzOiBlcmdvTGliLkFkZHJlc3MucmVjcmVhdGVfZnJvbV9lcmdvX3RyZWUoXG4gICAgICAgIGVyZ29MaWIuRXJnb1RyZWUuZnJvbV9iYXNlMTZfYnl0ZXMoXG4gICAgICAgICAgZXJnb0JveC5lcmdvX3RyZWUoKS50b19iYXNlMTZfYnl0ZXMoKVxuICAgICAgICApXG4gICAgICApLnRvX2Jhc2U1OCh0aGlzLm5ldHdvcmtUeXBlKSxcbiAgICAgIHNlcmlhbGl6ZWQ6IEJ1ZmZlci5mcm9tKGVyZ29Cb3guc2lnbWFfc2VyaWFsaXplX2J5dGVzKCkpLnRvU3RyaW5nKFxuICAgICAgICAnYmFzZTY0J1xuICAgICAgKSxcbiAgICAgIGJsb2NrSWQ6IGJsb2NrSWQsXG4gICAgICBoZWlnaHQ6IGhlaWdodCxcbiAgICB9O1xuICB9O1xuXG4gIC8qKlxuICAgKiByZXR1cm4gaW5pdCByZXF1aXJlZCBib3hlcyB3aXRoIG9mZnNldCBsaW1pdFxuICAgKiBAcGFyYW0gb2Zmc2V0XG4gICAqIEBwYXJhbSBsaW1pdFxuICAgKiBAcmV0dXJuIGJveGVzIGluIGJhdGNoXG4gICAqL1xuICBnZXRCb3hlc1dpdGhPZmZzZXRMaW1pdCA9IGFzeW5jIChcbiAgICBvZmZzZXQ6IG51bWJlcixcbiAgICBsaW1pdDogbnVtYmVyXG4gICk6IFByb21pc2U8eyBib3hlczogRXJnb0JveFtdOyBoYXNOZXh0QmF0Y2g6IGJvb2xlYW4gfT4gPT4ge1xuICAgIGlmICh0aGlzLmFkZHJlc3MpIHtcbiAgICAgIHJldHVybiB0aGlzLm5ldHdvcmsuZ2V0Qm94ZXNCeUFkZHJlc3ModGhpcy5hZGRyZXNzLCBvZmZzZXQsIGxpbWl0KTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmFkZHJlc3MgJiYgdGhpcy50b2tlbnMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRoaXMubmV0d29yay5nZXRCb3hlc0J5QWRkcmVzcyh0aGlzLnRva2Vuc1swXSwgb2Zmc2V0LCBsaW1pdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7IGJveGVzOiBbXSwgaGFzTmV4dEJhdGNoOiBmYWxzZSB9O1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJnb1V0eG9FeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZXh0cmFjdG9yL2VyZ29VdHhvRXh0cmFjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVoQyxPQUFPLEVBQ0wsa0NBQWtDLEVBR2xDLFdBQVcsRUFFWCxXQUFXLEVBQ1gsZUFBZSxFQUNmLGVBQWUsR0FDaEIsTUFBTSxrQ0FBa0MsQ0FBQztBQUUxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUdsQyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsa0NBQWdEO0lBQzVFLE9BQU8sQ0FBa0I7SUFDakIsRUFBRSxDQUFTO0lBQ1gsV0FBVyxDQUF3QjtJQUNuQyxPQUFPLENBQVU7SUFDakIsUUFBUSxDQUFVO0lBQ2xCLE1BQU0sQ0FBZ0I7SUFDdkMsT0FBTyxDQUFrQjtJQUV6QixZQUNFLFVBQXNCLEVBQ3RCLEVBQVUsRUFDVixXQUFrQyxFQUNsQyxHQUFXLEVBQ1gsSUFBcUIsRUFDckIsT0FBZ0IsRUFDaEIsTUFBc0IsRUFDdEIsTUFBdUIsRUFDdkIsVUFBVSxHQUFHLElBQUk7UUFFakIsS0FBSyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTztZQUNyQixDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxF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QUFNO1lBQ0wsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDO1NBQzNDO0lBQ0gsQ0FBQyxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAndHlwZW9ybSc7XG5pbXBvcnQgKiBhcyBlcmdvTGliIGZyb20gJ2VyZ28tbGliLXdhc20tbm9kZWpzJztcbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ2J1ZmZlcic7XG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcbmltcG9ydCB7XG4gIEFic3RyYWN0SW5pdGlhbGl6YWJsZUVyZ29FeHRyYWN0b3IsXG4gIEVyZ29Cb3gsXG4gIEFic3RyYWN0TmV0d29yayxcbiAgTm9kZU5ldHdvcmssXG4gIE91dHB1dEJveCxcbiAgYm94SGFzVG9rZW4sXG4gIEV4cGxvcmVyTmV0d29yayxcbiAgRXJnb05ldHdvcmtUeXBlLFxufSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWV4dHJhY3Rvcic7XG5cbmltcG9ydCB7IEJveEVudGl0eUFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMvYm94QWN0aW9uJztcbmltcG9ydCB7IEpzb25CSSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IEV4dHJhY3RlZEJveCB9IGZyb20gJy4uL2ludGVyZmFjZXMvdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgRXJnb1VUWE9FeHRyYWN0b3IgZXh0ZW5kcyBBYnN0cmFjdEluaXRpYWxpemFibGVFcmdvRXh0cmFjdG9yPEV4dHJhY3RlZEJveD4ge1xuICByZWFkb25seSBhY3Rpb25zOiBCb3hFbnRpdHlBY3Rpb247XG4gIHByaXZhdGUgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBuZXR3b3JrVHlwZTogZXJnb0xpYi5OZXR3b3JrUHJlZml4O1xuICBwcml2YXRlIHJlYWRvbmx5IGFkZHJlc3M/OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXJnb1RyZWU/OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgdG9rZW5zOiBBcnJheTxzdHJpbmc+O1xuICBuZXR3b3JrOiBBYnN0cmFjdE5ldHdvcms7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZGF0YVNvdXJjZTogRGF0YVNvdXJjZSxcbiAgICBpZDogc3RyaW5nLFxuICAgIG5ldHdvcmtUeXBlOiBlcmdvTGliLk5ldHdvcmtQcmVmaXgsXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgdHlwZTogRXJnb05ldHdvcmtUeXBlLFxuICAgIGFkZHJlc3M/OiBzdHJpbmcsXG4gICAgdG9rZW5zPzogQXJyYXk8c3RyaW5nPixcbiAgICBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlcixcbiAgICBpbml0aWFsaXplID0gdHJ1ZVxuICApIHtcbiAgICBzdXBlcihpbml0aWFsaXplLCBsb2dnZXIpO1xuICAgIHRoaXMuaWQgPSBpZDtcbiAgICB0aGlzLm5ldHdvcmtUeXBlID0gbmV0d29ya1R5cGU7XG4gICAgdGhpcy5hZGRyZXNzID0gYWRkcmVzcztcbiAgICB0aGlzLmVyZ29UcmVlID0gYWRkcmVzc1xuICAgICAgPyBlcmdvTGliLkFkZHJlc3MuZnJvbV9iYXNlNTgoYWRkcmVzcykudG9fZXJnb190cmVlKCkudG9fYmFzZTE2X2J5dGVzKClcbiAgICAgIDogdW5kZWZpbmVkO1xuICAgIHRoaXMudG9rZW5zID0gdG9rZW5zID8gdG9rZW5zIDogW107XG4gICAgdGhpcy5hY3Rpb25zID0gbmV3IEJveEVudGl0eUFjdGlvbihkYXRhU291cmNlLCB0aGlzLmxvZ2dlcik7XG4gICAgaWYgKHR5cGUgPT0gRXJnb05ldHdvcmtUeXBlLkV4cGxvcmVyKVxuICAgICAgdGhpcy5uZXR3b3JrID0gbmV3IEV4cGxvcmVyTmV0d29yayh1cmwpO1xuICAgIGVsc2UgaWYgKHR5cGUgPT0gRXJnb05ldHdvcmtUeXBlLk5vZGUpIHRoaXMubmV0d29yayA9IG5ldyBOb2RlTmV0d29yayh1cmwpO1xuICAgIGVsc2UgdGhyb3cgRXJyb3IoJ05ldHdvcmsgdHlwZSBpcyBub3Qgc3VwcG9ydGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IElkIGZvciBjdXJyZW50IGV4dHJhY3RvclxuICAgKi9cbiAgZ2V0SWQgPSAoKSA9PiBgJHt0aGlzLmlkfWA7XG5cbiAgLyoqXG4gICAqIGNoZWNrIHByb3BlciBkYXRhIGZvcm1hdCBpbiB0aGUgYm94XG4gICAqIEBwYXJhbSBib3hcbiAgICogQHJldHVybiB0cnVlIGlmIHRoZSBib3ggaGFzIHRoZSByZXF1aXJlZCBkYXRhIGFuZCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIGhhc0RhdGEgPSAoYm94OiBPdXRwdXRCb3gpOiBib29sZWFuID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgKCF0aGlzLmVyZ29UcmVlIHx8IGJveC5lcmdvVHJlZSA9PSB0aGlzLmVyZ29UcmVlKSAmJlxuICAgICAgKHRoaXMudG9rZW5zLmxlbmd0aCA9PSAwIHx8IGJveEhhc1Rva2VuKGJveCwgdGhpcy50b2tlbnMpKVxuICAgICk7XG4gIH07XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYmxvY2sgaW5mb3JtYXRpb24gb2YgdHhcbiAgICogQHBhcmFtIHR4SWRcbiAgICovXG4gIGdldFR4QmxvY2sgPSBhc3luYyAodHhJZDogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMubmV0d29yay5nZXRUeEJsb2NrKHR4SWQpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBleHRyYWN0IGJveCBkYXRhIHRvIHByb3BlciBmb3JtYXQgKG5vdCBpbmNsdWRpbmcgc3BlbmRpbmcgaW5mb3JtYXRpb24pXG4gICAqIEBwYXJhbSBib3hcbiAgICogQHBhcmFtIGJsb2NrSWQgYm94IGluY2x1c2lvbiBibG9jayBoYXNoXG4gICAqIEBwYXJhbSBoZWlnaHQgYm94IGluY2x1c2lvbiBibG9jayBoZWlnaHRcbiAgICogQHJldHVybiBleHRyYWN0ZWQgZGF0YSBpbiBwcm9wZXIgZm9ybWF0XG4gICAqL1xuICBleHRyYWN0Qm94RGF0YSA9IChcbiAgICBib3g6IE91dHB1dEJveCxcbiAgICBibG9ja0lkOiBzdHJpbmcsXG4gICAgaGVpZ2h0OiBudW1iZXJcbiAgKTogT21pdDxFeHRyYWN0ZWRCb3gsICdzcGVuZEJsb2NrJyB8ICdzcGVuZEhlaWdodCc+IHwgdW5kZWZpbmVkID0+IHtcbiAgICBjb25zdCBlcmdvQm94ID0gZXJnb0xpYi5FcmdvQm94LmZyb21fanNvbihKc29uQkkuc3RyaW5naWZ5KGJveCkpO1xuICAgIHJldHVybiB7XG4gICAgICBib3hJZDogZXJnb0JveC5ib3hfaWQoKS50b19zdHIoKSxcbiAgICAgIGFkZHJlc3M6IGVyZ29MaWIuQWRkcmVzcy5yZWNyZWF0ZV9mcm9tX2VyZ29fdHJlZShcbiAgICAgICAgZXJnb0xpYi5FcmdvVHJlZS5mcm9tX2Jhc2UxNl9ieXRlcyhcbiAgICAgICAgICBlcmdvQm94LmVyZ29fdHJlZSgpLnRvX2Jhc2UxNl9ieXRlcygpXG4gICAgICAgIClcbiAgICAgICkudG9fYmFzZTU4KHRoaXMubmV0d29ya1R5cGUpLFxuICAgICAgc2VyaWFsaXplZDogQnVmZmVyLmZyb20oZXJnb0JveC5zaWdtYV9zZXJpYWxpemVfYnl0ZXMoKSkudG9TdHJpbmcoXG4gICAgICAgICdiYXNlNjQnXG4gICAgICApLFxuICAgICAgYmxvY2tJZDogYmxvY2tJZCxcbiAgICAgIGhlaWdodDogaGVpZ2h0LFxuICAgIH07XG4gIH07XG5cbiAgLyoqXG4gICAqIHJldHVybiBpbml0IHJlcXVpcmVkIGJveGVzIHdpdGggb2Zmc2V0IGxpbWl0XG4gICAqIEBwYXJhbSBvZmZzZXRcbiAgICogQHBhcmFtIGxpbWl0XG4gICAqIEByZXR1cm4gYm94ZXMgaW4gYmF0Y2hcbiAgICovXG4gIGdldEJveGVzV2l0aE9mZnNldExpbWl0ID0gYXN5bmMgKFxuICAgIG9mZnNldDogbnVtYmVyLFxuICAgIGxpbWl0OiBudW1iZXJcbiAgKTogUHJvbWlzZTx7IGJveGVzOiBFcmdvQm94W107IGhhc05leHRCYXRjaDogYm9vbGVhbiB9PiA9PiB7XG4gICAgaWYgKHRoaXMuYWRkcmVzcykge1xuICAgICAgcmV0dXJuIHRoaXMubmV0d29yay5nZXRCb3hlc0J5QWRkcmVzcyh0aGlzLmFkZHJlc3MsIG9mZnNldCwgbGltaXQpO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuYWRkcmVzcyAmJiB0aGlzLnRva2Vucy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5uZXR3b3JrLmdldEJveGVzQnlBZGRyZXNzKHRoaXMudG9rZW5zWzBdLCBvZmZzZXQsIGxpbWl0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHsgYm94ZXM6IFtdLCBoYXNOZXh0QmF0Y2g6IGZhbHNlIH07XG4gICAgfVxuICB9O1xufVxuIl19
@@ -0,0 +1,8 @@
1
+ export default class ExtractedBox {
2
+ boxId: string;
3
+ address: string;
4
+ serialized: string;
5
+ blockId?: string;
6
+ height?: number;
7
+ }
8
+ //# sourceMappingURL=ExtractedBox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtractedBox.d.ts","sourceRoot":"","sources":["../../lib/interfaces/ExtractedBox.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,8 @@
1
+ export default class ExtractedBox {
2
+ boxId;
3
+ address;
4
+ serialized;
5
+ blockId;
6
+ height;
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXh0cmFjdGVkQm94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2ludGVyZmFjZXMvRXh0cmFjdGVkQm94LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxPQUFPLE9BQU8sWUFBWTtJQUMvQixLQUFLLENBQVM7SUFDZCxPQUFPLENBQVM7SUFDaEIsVUFBVSxDQUFTO0lBQ25CLE9BQU8sQ0FBVTtJQUNqQixNQUFNLENBQVU7Q0FDakIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBjbGFzcyBFeHRyYWN0ZWRCb3gge1xuICBib3hJZDogc3RyaW5nO1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIHNlcmlhbGl6ZWQ6IHN0cmluZztcbiAgYmxvY2tJZD86IHN0cmluZztcbiAgaGVpZ2h0PzogbnVtYmVyO1xufVxuIl19
@@ -0,0 +1,23 @@
1
+ import { AxiosInstance } from 'axios';
2
+ import { Boxes } from '../interfaces/types';
3
+ import { AbstractLogger } from '@rosen-bridge/logger-interface';
4
+ export declare class ExplorerApi {
5
+ api: AxiosInstance;
6
+ readonly logger: AbstractLogger;
7
+ constructor(explorerAddress: string, logger: AbstractLogger, timeout?: number);
8
+ /**
9
+ * gets unspent boxes for a specific ergotree with default limit of 100 and offset 0
10
+ * @param tree
11
+ * @param offset
12
+ * @param limit
13
+ */
14
+ getBoxesForAddress: (tree: string, offset?: number, limit?: number) => Promise<Boxes>;
15
+ /**
16
+ * gets boxes containing tokenId
17
+ * @param tokenId the address ergoTree
18
+ * @param offset
19
+ * @param limit
20
+ */
21
+ getBoxesByTokenId: (tokenId: string, offset?: number, limit?: number) => Promise<Boxes>;
22
+ }
23
+ //# sourceMappingURL=ergoNetworkApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ergoNetworkApi.d.ts","sourceRoot":"","sources":["../../lib/network/ergoNetworkApi.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,qBAAa,WAAW;IACtB,GAAG,EAAE,aAAa,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;gBAG9B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,MAAM;IASlB;;;;;OAKG;IACH,kBAAkB,SACV,MAAM,sCAGX,QAAQ,KAAK,CAAC,CAYf;IAEF;;;;;OAKG;IACH,iBAAiB,YACN,MAAM,sCAGd,QAAQ,KAAK,CAAC,CAiBf;CACH"}
@@ -0,0 +1,55 @@
1
+ import axios from 'axios';
2
+ import { JsonBI } from './parser';
3
+ export class ExplorerApi {
4
+ api;
5
+ logger;
6
+ constructor(explorerAddress, logger, timeout) {
7
+ this.api = axios.create({
8
+ baseURL: explorerAddress,
9
+ timeout: timeout ? timeout : 10000,
10
+ });
11
+ this.logger = logger;
12
+ }
13
+ /**
14
+ * gets unspent boxes for a specific ergotree with default limit of 100 and offset 0
15
+ * @param tree
16
+ * @param offset
17
+ * @param limit
18
+ */
19
+ getBoxesForAddress = async (tree, offset = 0, limit = 100) => {
20
+ this.logger.debug(`Getting boxes for ergoTree ${tree}`);
21
+ return this.api
22
+ .get(`/api/v1/boxes/unspent/byErgoTree/${tree}`, {
23
+ params: { offset: offset, limit: limit },
24
+ transformResponse: (data) => JsonBI.parse(data),
25
+ })
26
+ .then((res) => res.data)
27
+ .catch((err) => {
28
+ this.logger.error(`Error getting boxes for ergoTree ${tree}: ${err}`);
29
+ throw err;
30
+ });
31
+ };
32
+ /**
33
+ * gets boxes containing tokenId
34
+ * @param tokenId the address ergoTree
35
+ * @param offset
36
+ * @param limit
37
+ */
38
+ getBoxesByTokenId = async (tokenId, offset = 0, limit = 100) => {
39
+ this.logger.debug(`Getting boxes by tokenId ${tokenId}`);
40
+ return this.api
41
+ .get(`/v1/boxes/unspent/byTokenId/${tokenId}`, {
42
+ params: { offset: offset, limit: limit },
43
+ transformResponse: (data) => JsonBI.parse(data),
44
+ })
45
+ .then((res) => res.data)
46
+ .catch((e) => {
47
+ this.logger.error(`An error occurred while getting boxes containing token [${tokenId}] from Ergo Explorer: [${e}]`);
48
+ return {
49
+ items: [],
50
+ total: 0,
51
+ };
52
+ });
53
+ };
54
+ }
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJnb05ldHdvcmtBcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbmV0d29yay9lcmdvTmV0d29ya0FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQXdCLE1BQU0sT0FBTyxDQUFDO0FBRTdDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHbEMsTUFBTSxPQUFPLFdBQVc7SUFDdEIsR0FBRyxDQUFnQjtJQUNWLE1BQU0sQ0FBaUI7SUFFaEMsWUFDRSxlQUF1QixFQUN2QixNQUFzQixFQUN0QixPQUFnQjtRQUVoQixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDdEIsT0FBTyxFQUFFLGVBQWU7WUFDeEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLO1NBQ25DLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGtCQUFrQixHQUFHLEtBQUssRUFDeEIsSUFBWSxFQUNaLE1BQU0sR0FBRyxDQUFDLEVBQ1YsS0FBSyxHQUFHLEdBQUcsRUFDSyxFQUFFO1FBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDhCQUE4QixJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLEdBQUc7YUFDWixHQUFHLENBQVEsb0NBQW9DLElBQUksRUFBRSxFQUFFO1lBQ3RELE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtZQUN4QyxpQkFBaUIsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDaEQsQ0FBQzthQUNELElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQzthQUN2QixLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQztZQUN0RSxNQUFNLEdBQUcsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDO0lBRUY7Ozs7O09BS0c7SUFDSCxpQkFBaUIsR0FBRyxLQUFLLEVBQ3ZCLE9BQWUsRUFDZixNQUFNLEdBQUcsQ0FBQyxFQUNWLEtBQUssR0FBRyxHQUFHLEVBQ0ssRUFBRTtRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN6RCxPQUFPLElBQUksQ0FBQyxHQUFHO2FBQ1osR0FBRyxDQUFRLCtCQUErQixPQUFPLEVBQUUsRUFBRTtZQUNwRCxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7WUFDeEMsaUJBQWlCLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1NBQ2hELENBQUM7YUFDRCxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7YUFDdkIsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZiwyREFBMkQsT0FBTywwQkFBMEIsQ0FBQyxHQUFHLENBQ2pHLENBQUM7WUFDRixPQUFPO2dCQUNMLEtBQUssRUFBRSxFQUFFO2dCQUNULEtBQUssRUFBRSxDQUFDO2FBQ1QsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXhpb3MsIHsgQXhpb3NJbnN0YW5jZSB9IGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IEJveGVzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy90eXBlcyc7XG5pbXBvcnQgeyBKc29uQkkgfSBmcm9tICcuL3BhcnNlcic7XG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvbG9nZ2VyLWludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBFeHBsb3JlckFwaSB7XG4gIGFwaTogQXhpb3NJbnN0YW5jZTtcbiAgcmVhZG9ubHkgbG9nZ2VyOiBBYnN0cmFjdExvZ2dlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBleHBsb3JlckFkZHJlc3M6IHN0cmluZyxcbiAgICBsb2dnZXI6IEFic3RyYWN0TG9nZ2VyLFxuICAgIHRpbWVvdXQ/OiBudW1iZXJcbiAgKSB7XG4gICAgdGhpcy5hcGkgPSBheGlvcy5jcmVhdGUoe1xuICAgICAgYmFzZVVSTDogZXhwbG9yZXJBZGRyZXNzLFxuICAgICAgdGltZW91dDogdGltZW91dCA/IHRpbWVvdXQgOiAxMDAwMCxcbiAgICB9KTtcbiAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXRzIHVuc3BlbnQgYm94ZXMgZm9yIGEgc3BlY2lmaWMgZXJnb3RyZWUgd2l0aCBkZWZhdWx0IGxpbWl0IG9mIDEwMCBhbmQgb2Zmc2V0IDBcbiAgICogQHBhcmFtIHRyZWVcbiAgICogQHBhcmFtIG9mZnNldFxuICAgKiBAcGFyYW0gbGltaXRcbiAgICovXG4gIGdldEJveGVzRm9yQWRkcmVzcyA9IGFzeW5jIChcbiAgICB0cmVlOiBzdHJpbmcsXG4gICAgb2Zmc2V0ID0gMCxcbiAgICBsaW1pdCA9IDEwMFxuICApOiBQcm9taXNlPEJveGVzPiA9PiB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoYEdldHRpbmcgYm94ZXMgZm9yIGVyZ29UcmVlICR7dHJlZX1gKTtcbiAgICByZXR1cm4gdGhpcy5hcGlcbiAgICAgIC5nZXQ8Qm94ZXM+KGAvYXBpL3YxL2JveGVzL3Vuc3BlbnQvYnlFcmdvVHJlZS8ke3RyZWV9YCwge1xuICAgICAgICBwYXJhbXM6IHsgb2Zmc2V0OiBvZmZzZXQsIGxpbWl0OiBsaW1pdCB9LFxuICAgICAgICB0cmFuc2Zvcm1SZXNwb25zZTogKGRhdGEpID0+IEpzb25CSS5wYXJzZShkYXRhKSxcbiAgICAgIH0pXG4gICAgICAudGhlbigocmVzKSA9PiByZXMuZGF0YSlcbiAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKGBFcnJvciBnZXR0aW5nIGJveGVzIGZvciBlcmdvVHJlZSAke3RyZWV9OiAke2Vycn1gKTtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIGdldHMgYm94ZXMgY29udGFpbmluZyB0b2tlbklkXG4gICAqIEBwYXJhbSB0b2tlbklkIHRoZSBhZGRyZXNzIGVyZ29UcmVlXG4gICAqIEBwYXJhbSBvZmZzZXRcbiAgICogQHBhcmFtIGxpbWl0XG4gICAqL1xuICBnZXRCb3hlc0J5VG9rZW5JZCA9IGFzeW5jIChcbiAgICB0b2tlbklkOiBzdHJpbmcsXG4gICAgb2Zmc2V0ID0gMCxcbiAgICBsaW1pdCA9IDEwMFxuICApOiBQcm9taXNlPEJveGVzPiA9PiB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoYEdldHRpbmcgYm94ZXMgYnkgdG9rZW5JZCAke3Rva2VuSWR9YCk7XG4gICAgcmV0dXJuIHRoaXMuYXBpXG4gICAgICAuZ2V0PEJveGVzPihgL3YxL2JveGVzL3Vuc3BlbnQvYnlUb2tlbklkLyR7dG9rZW5JZH1gLCB7XG4gICAgICAgIHBhcmFtczogeyBvZmZzZXQ6IG9mZnNldCwgbGltaXQ6IGxpbWl0IH0sXG4gICAgICAgIHRyYW5zZm9ybVJlc3BvbnNlOiAoZGF0YSkgPT4gSnNvbkJJLnBhcnNlKGRhdGEpLFxuICAgICAgfSlcbiAgICAgIC50aGVuKChyZXMpID0+IHJlcy5kYXRhKVxuICAgICAgLmNhdGNoKChlKSA9PiB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFxuICAgICAgICAgIGBBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBnZXR0aW5nIGJveGVzIGNvbnRhaW5pbmcgdG9rZW4gWyR7dG9rZW5JZH1dIGZyb20gRXJnbyBFeHBsb3JlcjogWyR7ZX1dYFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGl0ZW1zOiBbXSxcbiAgICAgICAgICB0b3RhbDogMCxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICB9O1xufVxuIl19
@@ -0,0 +1,8 @@
1
+ export declare const JsonBI: {
2
+ parse: (text: string, reviver?: ((this: any, key: string, value: any) => any) | undefined) => any;
3
+ stringify: {
4
+ (value: any, replacer?: ((this: any, key: string, value: any) => any) | undefined, space?: string | number | undefined): string;
5
+ (value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string;
6
+ };
7
+ };
8
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../lib/network/parser.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM;;;;;;CAEjB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import JSONBigInt from 'json-bigint';
2
+ export const JsonBI = JSONBigInt({
3
+ useNativeBigInt: true,
4
+ });
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL25ldHdvcmsvcGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sVUFBVSxNQUFNLGFBQWEsQ0FBQztBQUVyQyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDO0lBQy9CLGVBQWUsRUFBRSxJQUFJO0NBQ3RCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBKU09OQmlnSW50IGZyb20gJ2pzb24tYmlnaW50JztcblxuZXhwb3J0IGNvbnN0IEpzb25CSSA9IEpTT05CaWdJbnQoe1xuICB1c2VOYXRpdmVCaWdJbnQ6IHRydWUsXG59KTtcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rosen-bridge/address-extractor",
3
- "version": "5.0.0",
3
+ "version": "5.0.2-7aba94c9",
4
4
  "description": "UTXO box extractor for any address or token.",
5
5
  "author": "Rosen Team",
6
6
  "license": "GPL-3.0",
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "@rosen-bridge/abstract-logger": "^1.0.0",
23
- "@rosen-bridge/abstract-extractor": "^0.1.1",
23
+ "@rosen-bridge/abstract-extractor": "^0.1.2-7aba94c9",
24
24
  "@rosen-clients/ergo-explorer": "^1.1.1",
25
25
  "blakejs": "^1.2.1",
26
26
  "ergo-lib-wasm-nodejs": "^0.24.1",