@rosen-bridge/watcher-data-extractor 12.3.0 → 13.0.0-7b38188a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/dist/actions/collateralAction.d.ts +15 -66
- package/dist/actions/collateralAction.d.ts.map +1 -1
- package/dist/actions/collateralAction.js +21 -181
- package/dist/actions/commitmentAction.d.ts +3 -3
- package/dist/actions/commitmentAction.d.ts.map +1 -1
- package/dist/actions/commitmentAction.js +2 -2
- package/dist/actions/eventTriggerAction.d.ts +3 -4
- package/dist/actions/eventTriggerAction.d.ts.map +1 -1
- package/dist/actions/eventTriggerAction.js +11 -13
- package/dist/actions/permitAction.d.ts +3 -3
- package/dist/actions/permitAction.d.ts.map +1 -1
- package/dist/actions/permitAction.js +1 -1
- package/dist/entities/collateralEntity.d.ts +3 -11
- package/dist/entities/collateralEntity.d.ts.map +1 -1
- package/dist/entities/collateralEntity.js +7 -52
- package/dist/entities/eventTriggerEntity.d.ts +2 -2
- package/dist/entities/eventTriggerEntity.d.ts.map +1 -1
- package/dist/entities/eventTriggerEntity.js +3 -3
- package/dist/extractor/collateralExtractor.d.ts +17 -72
- package/dist/extractor/collateralExtractor.d.ts.map +1 -1
- package/dist/extractor/collateralExtractor.js +48 -212
- package/dist/extractor/commitmentExtractor.d.ts +3 -3
- package/dist/extractor/commitmentExtractor.d.ts.map +1 -1
- package/dist/extractor/commitmentExtractor.js +3 -3
- package/dist/extractor/eventTriggerExtractor.d.ts +3 -3
- package/dist/extractor/eventTriggerExtractor.d.ts.map +1 -1
- package/dist/extractor/eventTriggerExtractor.js +9 -9
- package/dist/extractor/permitExtractor.d.ts +3 -3
- package/dist/extractor/permitExtractor.d.ts.map +1 -1
- package/dist/extractor/permitExtractor.js +3 -3
- package/dist/interfaces/extractedCollateral.d.ts +3 -7
- package/dist/interfaces/extractedCollateral.d.ts.map +1 -1
- package/dist/interfaces/extractedCollateral.js +1 -1
- package/dist/interfaces/extractedEventTrigger.d.ts +1 -1
- package/dist/interfaces/extractedEventTrigger.d.ts.map +1 -1
- package/dist/interfaces/extractedEventTrigger.js +1 -1
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +9 -1
- package/dist/migrations/postgres/1758958886549-migration.d.ts +7 -0
- package/dist/migrations/postgres/1758958886549-migration.d.ts.map +1 -0
- package/dist/migrations/postgres/1758958886549-migration.js +30 -0
- package/dist/migrations/postgres/1766843825000-migration.d.ts +7 -0
- package/dist/migrations/postgres/1766843825000-migration.d.ts.map +1 -0
- package/dist/migrations/postgres/1766843825000-migration.js +42 -0
- package/dist/migrations/sqlite/1762768664031-migration.d.ts +7 -0
- package/dist/migrations/sqlite/1762768664031-migration.d.ts.map +1 -0
- package/dist/migrations/sqlite/1762768664031-migration.js +204 -0
- package/dist/migrations/sqlite/1766843824000-migration.d.ts +7 -0
- package/dist/migrations/sqlite/1766843824000-migration.d.ts.map +1 -0
- package/dist/migrations/sqlite/1766843824000-migration.js +109 -0
- package/package.json +8 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# @rosen-bridge/watcher-data-extractor
|
|
2
2
|
|
|
3
|
+
## 13.0.0-7b38188a
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- Update AbstractExtractor interface; use `BlockInfo` in `processTransactions` and rename `initializeBoxes` to `initializeData`
|
|
8
|
+
- Update abstract database entity to be general; rename `boxId` columnt to `identifier`
|
|
9
|
+
- Refactor collateral extractor to extend AbstractErgoBoxExtractor
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Update dependencies
|
|
14
|
+
- @rosen-bridge/abstract-logger@4.0.0
|
|
15
|
+
|
|
16
|
+
- Update dependencies
|
|
17
|
+
- Update dependencies
|
|
18
|
+
- Update dependencies
|
|
19
|
+
- Update dependencies
|
|
20
|
+
- Update dependencies
|
|
21
|
+
- @rosen-bridge/abstract-extractor@3.0.0-7b38188a
|
|
22
|
+
|
|
3
23
|
## 12.3.0
|
|
4
24
|
|
|
5
25
|
### Minor Changes
|
|
@@ -1,76 +1,25 @@
|
|
|
1
|
+
import { AbstractErgoBoxAction } from '@rosen-bridge/abstract-extractor';
|
|
1
2
|
import { AbstractLogger } from '@rosen-bridge/abstract-logger';
|
|
2
|
-
import { DataSource
|
|
3
|
-
import {
|
|
3
|
+
import { DataSource } from '@rosen-bridge/extended-typeorm';
|
|
4
|
+
import { BlockInfo } from '@rosen-bridge/scanner-interfaces';
|
|
5
|
+
import CollateralEntity from '../entities/collateralEntity';
|
|
4
6
|
import { ExtractedCollateral } from '../interfaces/extractedCollateral';
|
|
5
|
-
|
|
6
|
-
declare class CollateralAction {
|
|
7
|
-
private readonly dataSource;
|
|
8
|
-
readonly logger: AbstractLogger;
|
|
9
|
-
private readonly collateralRepository;
|
|
7
|
+
declare class CollateralAction extends AbstractErgoBoxAction<ExtractedCollateral, CollateralEntity> {
|
|
10
8
|
constructor(dataSource: DataSource, logger?: AbstractLogger);
|
|
11
9
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* @param
|
|
15
|
-
* @param
|
|
16
|
-
* @
|
|
10
|
+
* create the collateral entity from extracted data and block information
|
|
11
|
+
* @param collaterals
|
|
12
|
+
* @param block
|
|
13
|
+
* @param extractor
|
|
14
|
+
* @returns the collateral entities (without the id)
|
|
17
15
|
*/
|
|
18
|
-
|
|
16
|
+
protected createEntity: (collaterals: ExtractedCollateral[], block: BlockInfo, extractor: string) => Array<Omit<CollateralEntity, "id">>;
|
|
19
17
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* @
|
|
23
|
-
* @param {string} extractor
|
|
24
|
-
* @memberof CollateralAction
|
|
18
|
+
* convert the database entity back to raw data
|
|
19
|
+
* @param entities
|
|
20
|
+
* @returns the extracted collateral data
|
|
25
21
|
*/
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* stores list of collaterals
|
|
29
|
-
*
|
|
30
|
-
* @param {Array<ExtractedCollateral>} collaterals
|
|
31
|
-
* @param {Block} block
|
|
32
|
-
* @param {string} extractor
|
|
33
|
-
* @return {Promise<boolean>}
|
|
34
|
-
* @memberof CollateralAction
|
|
35
|
-
*/
|
|
36
|
-
storeCollaterals: (collaterals: Array<ExtractedCollateral>, block: Block, extractor: string) => Promise<boolean>;
|
|
37
|
-
/**
|
|
38
|
-
* Update spendBlock and spendHeight of collaterals spent in the block
|
|
39
|
-
*
|
|
40
|
-
* @param {Array<SpendInfo>} spendInfos
|
|
41
|
-
* @param {Block} block
|
|
42
|
-
* @param {string} extractor
|
|
43
|
-
* @return {Promise<void>}
|
|
44
|
-
* @memberof CollateralAction
|
|
45
|
-
*/
|
|
46
|
-
spendCollaterals: (spendInfos: Array<SpendInfo>, block: Block, extractor: string) => Promise<void>;
|
|
47
|
-
/**
|
|
48
|
-
* Returns all stored unspent collateral box IDs
|
|
49
|
-
*
|
|
50
|
-
* @param {string} extractor
|
|
51
|
-
* @return {Promise<Array<string>>}
|
|
52
|
-
* @memberof CollateralAction
|
|
53
|
-
*/
|
|
54
|
-
getUnspentCollateralBoxIds: (extractor: string) => Promise<Array<string>>;
|
|
55
|
-
/**
|
|
56
|
-
* Delete all collaterals corresponding to the passed block and extractor and
|
|
57
|
-
* update all collaterals spent in the specified block
|
|
58
|
-
*
|
|
59
|
-
* @param {string} block
|
|
60
|
-
* @param {string} extractor
|
|
61
|
-
* @return {Promise<void>}
|
|
62
|
-
* @memberof CollateralAction
|
|
63
|
-
*/
|
|
64
|
-
deleteBlock(block: string, extractor: string): Promise<void>;
|
|
65
|
-
/**
|
|
66
|
-
* deletes the specified collateral box from database
|
|
67
|
-
*
|
|
68
|
-
* @param {string} boxId
|
|
69
|
-
* @param {string} extractor
|
|
70
|
-
* @return {Promise<DeleteResult>}
|
|
71
|
-
* @memberof CollateralAction
|
|
72
|
-
*/
|
|
73
|
-
deleteCollateral: (boxId: string, extractor: string) => Promise<DeleteResult>;
|
|
22
|
+
protected convertEntityToData: (entities: CollateralEntity[]) => ExtractedCollateral[];
|
|
74
23
|
}
|
|
75
24
|
export default CollateralAction;
|
|
76
25
|
//# sourceMappingURL=collateralAction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collateralAction.d.ts","sourceRoot":"","sources":["../../lib/actions/collateralAction.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"collateralAction.d.ts","sourceRoot":"","sources":["../../lib/actions/collateralAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,OAAO,gBAAgB,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,cAAM,gBAAiB,SAAQ,qBAAqB,CAClD,mBAAmB,EACnB,gBAAgB,CACjB;gBACa,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,cAAc;IAI3D;;;;;;OAMG;IACH,SAAS,CAAC,YAAY,GACpB,aAAa,mBAAmB,EAAE,EAClC,OAAO,SAAS,EAChB,WAAW,MAAM,KAChB,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CASpC;IAEF;;;;OAIG;IACH,SAAS,CAAC,mBAAmB,GAC3B,UAAU,gBAAgB,EAAE,KAC3B,mBAAmB,EAAE,CAEtB;CACH;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,194 +1,34 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { DummyLogger } from '@rosen-bridge/abstract-logger';
|
|
3
|
-
import { In, IsNull, } from '@rosen-bridge/extended-typeorm';
|
|
4
|
-
import JsonBigInt from '@rosen-bridge/json-bigint';
|
|
1
|
+
import { AbstractErgoBoxAction } from '@rosen-bridge/abstract-extractor';
|
|
5
2
|
import CollateralEntity from '../entities/collateralEntity';
|
|
6
|
-
class CollateralAction {
|
|
7
|
-
dataSource
|
|
8
|
-
|
|
9
|
-
collateralRepository;
|
|
10
|
-
constructor(dataSource, logger = new DummyLogger()) {
|
|
11
|
-
this.dataSource = dataSource;
|
|
12
|
-
this.logger = logger;
|
|
13
|
-
this.collateralRepository = this.dataSource.getRepository(CollateralEntity);
|
|
3
|
+
class CollateralAction extends AbstractErgoBoxAction {
|
|
4
|
+
constructor(dataSource, logger) {
|
|
5
|
+
super(dataSource, CollateralEntity, logger);
|
|
14
6
|
}
|
|
15
7
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* @param
|
|
19
|
-
* @param
|
|
20
|
-
* @
|
|
8
|
+
* create the collateral entity from extracted data and block information
|
|
9
|
+
* @param collaterals
|
|
10
|
+
* @param block
|
|
11
|
+
* @param extractor
|
|
12
|
+
* @returns the collateral entities (without the id)
|
|
21
13
|
*/
|
|
22
|
-
|
|
23
|
-
return
|
|
14
|
+
createEntity = (collaterals, block, extractor) => {
|
|
15
|
+
return collaterals.map((collateral) => ({
|
|
24
16
|
...collateral,
|
|
25
|
-
extractor,
|
|
26
|
-
});
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* updates a collateral into the database
|
|
30
|
-
*
|
|
31
|
-
* @param {ExtractedCollateral} collateral
|
|
32
|
-
* @param {string} extractor
|
|
33
|
-
* @memberof CollateralAction
|
|
34
|
-
*/
|
|
35
|
-
updateCollateral = async (collateral, extractor) => {
|
|
36
|
-
return await this.collateralRepository.update({
|
|
37
|
-
extractor,
|
|
38
|
-
boxId: collateral.boxId,
|
|
39
|
-
}, collateral);
|
|
40
|
-
};
|
|
41
|
-
/**
|
|
42
|
-
* stores list of collaterals
|
|
43
|
-
*
|
|
44
|
-
* @param {Array<ExtractedCollateral>} collaterals
|
|
45
|
-
* @param {Block} block
|
|
46
|
-
* @param {string} extractor
|
|
47
|
-
* @return {Promise<boolean>}
|
|
48
|
-
* @memberof CollateralAction
|
|
49
|
-
*/
|
|
50
|
-
storeCollaterals = async (collaterals, block, extractor) => {
|
|
51
|
-
if (collaterals.length == 0) {
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
const collateralEntities = collaterals.map((col) => ({
|
|
55
|
-
extractor: extractor,
|
|
56
|
-
boxId: col.boxId,
|
|
57
|
-
boxSerialized: col.boxSerialized,
|
|
58
|
-
wid: col.wid,
|
|
59
|
-
rwtCount: col.rwtCount,
|
|
60
|
-
txId: col.txId,
|
|
61
17
|
block: block.hash,
|
|
62
|
-
height:
|
|
18
|
+
height: block.height,
|
|
19
|
+
extractor,
|
|
20
|
+
spendBlock: collateral.spendBlock ?? null,
|
|
21
|
+
spendHeight: collateral.spendHeight ?? null,
|
|
63
22
|
}));
|
|
64
|
-
const queryRunner = this.dataSource.createQueryRunner();
|
|
65
|
-
await queryRunner.connect();
|
|
66
|
-
await queryRunner.startTransaction();
|
|
67
|
-
try {
|
|
68
|
-
const repository = await queryRunner.manager.getRepository(CollateralEntity);
|
|
69
|
-
const existingBoxIds = (await repository.find({
|
|
70
|
-
where: {
|
|
71
|
-
boxId: In(collateralEntities.map((box) => box.boxId)),
|
|
72
|
-
extractor: extractor,
|
|
73
|
-
},
|
|
74
|
-
select: {
|
|
75
|
-
boxId: true,
|
|
76
|
-
},
|
|
77
|
-
})).map((col) => col.boxId);
|
|
78
|
-
const collateralsToUpdate = collateralEntities.filter((col) => existingBoxIds.includes(col.boxId));
|
|
79
|
-
const collateralsToInsert = difference(collateralEntities, collateralsToUpdate);
|
|
80
|
-
if (collateralsToUpdate.length > 0) {
|
|
81
|
-
this.logger.info(`Inserting boxes with following IDs into the database: [${collateralsToInsert
|
|
82
|
-
.map((col) => col.boxId)
|
|
83
|
-
.join(', ')}]`);
|
|
84
|
-
this.logger.debug(`Inserting collateral boxes [${JsonBigInt.stringify(collateralsToInsert)}]`);
|
|
85
|
-
}
|
|
86
|
-
await repository.insert(collateralsToInsert);
|
|
87
|
-
if (collateralsToUpdate.length > 0)
|
|
88
|
-
this.logger.info(`Updating boxes with following IDs in the database: [${collateralsToUpdate
|
|
89
|
-
.map((col) => col.boxId)
|
|
90
|
-
.join(', ')}]`);
|
|
91
|
-
collateralsToUpdate.forEach(async (collateral) => {
|
|
92
|
-
this.logger.debug(`Updating collateral box in database [${JsonBigInt.stringify(collateral)}]`);
|
|
93
|
-
await repository.update({ boxId: collateral.boxId, extractor: extractor }, collateral);
|
|
94
|
-
});
|
|
95
|
-
await queryRunner.commitTransaction();
|
|
96
|
-
}
|
|
97
|
-
catch (e) {
|
|
98
|
-
await queryRunner.rollbackTransaction();
|
|
99
|
-
this.logger.error(`An error occurred during storeCollaterals action: ${e}`);
|
|
100
|
-
return false;
|
|
101
|
-
}
|
|
102
|
-
finally {
|
|
103
|
-
await queryRunner.release();
|
|
104
|
-
}
|
|
105
|
-
return true;
|
|
106
23
|
};
|
|
107
24
|
/**
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
* @
|
|
111
|
-
* @param {Block} block
|
|
112
|
-
* @param {string} extractor
|
|
113
|
-
* @return {Promise<void>}
|
|
114
|
-
* @memberof CollateralAction
|
|
115
|
-
*/
|
|
116
|
-
spendCollaterals = async (spendInfos, block, extractor) => {
|
|
117
|
-
for (const spendInfo of spendInfos) {
|
|
118
|
-
const updateResult = await this.collateralRepository.update({
|
|
119
|
-
boxId: spendInfo.boxId,
|
|
120
|
-
extractor: extractor,
|
|
121
|
-
}, {
|
|
122
|
-
spendBlock: block.hash,
|
|
123
|
-
spendHeight: block.height,
|
|
124
|
-
spendTxId: spendInfo.txId,
|
|
125
|
-
});
|
|
126
|
-
if (updateResult.affected && updateResult.affected > 0) {
|
|
127
|
-
const updatedRows = await this.collateralRepository.findBy({
|
|
128
|
-
boxId: spendInfo.boxId,
|
|
129
|
-
spendBlock: block.hash,
|
|
130
|
-
});
|
|
131
|
-
for (const row of updatedRows) {
|
|
132
|
-
this.logger.debug(`Spent collateral with boxId [${row.boxId}] belonging to watcher with WID [${row.wid}] at height ${block.height}`);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
};
|
|
137
|
-
/**
|
|
138
|
-
* Returns all stored unspent collateral box IDs
|
|
139
|
-
*
|
|
140
|
-
* @param {string} extractor
|
|
141
|
-
* @return {Promise<Array<string>>}
|
|
142
|
-
* @memberof CollateralAction
|
|
143
|
-
*/
|
|
144
|
-
getUnspentCollateralBoxIds = async (extractor) => {
|
|
145
|
-
const boxIds = await this.collateralRepository.find({
|
|
146
|
-
where: {
|
|
147
|
-
extractor: extractor,
|
|
148
|
-
spendBlock: IsNull(),
|
|
149
|
-
},
|
|
150
|
-
select: {
|
|
151
|
-
boxId: true,
|
|
152
|
-
},
|
|
153
|
-
});
|
|
154
|
-
return boxIds.map((box) => box.boxId);
|
|
155
|
-
};
|
|
156
|
-
/**
|
|
157
|
-
* Delete all collaterals corresponding to the passed block and extractor and
|
|
158
|
-
* update all collaterals spent in the specified block
|
|
159
|
-
*
|
|
160
|
-
* @param {string} block
|
|
161
|
-
* @param {string} extractor
|
|
162
|
-
* @return {Promise<void>}
|
|
163
|
-
* @memberof CollateralAction
|
|
164
|
-
*/
|
|
165
|
-
async deleteBlock(block, extractor) {
|
|
166
|
-
this.logger.info(`Deleting collaterals in block=[${block}] and extractor=[${extractor}]`);
|
|
167
|
-
await this.collateralRepository.delete({
|
|
168
|
-
block: block,
|
|
169
|
-
extractor: extractor,
|
|
170
|
-
});
|
|
171
|
-
this.logger.info(`changing spent collaterals in block=[${block}] and extractor=[${extractor}] to unspent status`);
|
|
172
|
-
await this.collateralRepository.update({ spendBlock: block, extractor: extractor }, {
|
|
173
|
-
spendBlock: null,
|
|
174
|
-
spendHeight: null,
|
|
175
|
-
spendTxId: null,
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* deletes the specified collateral box from database
|
|
180
|
-
*
|
|
181
|
-
* @param {string} boxId
|
|
182
|
-
* @param {string} extractor
|
|
183
|
-
* @return {Promise<DeleteResult>}
|
|
184
|
-
* @memberof CollateralAction
|
|
25
|
+
* convert the database entity back to raw data
|
|
26
|
+
* @param entities
|
|
27
|
+
* @returns the extracted collateral data
|
|
185
28
|
*/
|
|
186
|
-
|
|
187
|
-
return
|
|
188
|
-
boxId: boxId,
|
|
189
|
-
extractor: extractor,
|
|
190
|
-
});
|
|
29
|
+
convertEntityToData = (entities) => {
|
|
30
|
+
return entities;
|
|
191
31
|
};
|
|
192
32
|
}
|
|
193
33
|
export default CollateralAction;
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGF0ZXJhbEFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9hY3Rpb25zL2NvbGxhdGVyYWxBY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV2QyxPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFHTCxFQUFFLEVBQ0YsTUFBTSxHQUVQLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxVQUFVLE1BQU0sMkJBQTJCLENBQUM7QUFHbkQsT0FBTyxnQkFBZ0IsTUFBTSw4QkFBOEIsQ0FBQztBQUk1RCxNQUFNLGdCQUFnQjtJQUlEO0lBQ1I7SUFKTSxvQkFBb0IsQ0FBK0I7SUFFcEUsWUFDbUIsVUFBc0IsRUFDOUIsU0FBeUIsSUFBSSxXQUFXLEVBQUU7UUFEbEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUM5QixXQUFNLEdBQU4sTUFBTSxDQUFvQztRQUVuRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsZ0JBQWdCLEdBQUcsS0FBSyxFQUN0QixVQUErQixFQUMvQixTQUFpQixFQUNqQixFQUFFO1FBQ0YsT0FBTyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7WUFDNUMsR0FBRyxVQUFVO1lBQ2IsU0FBUztTQUNWLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztJQUVGOzs7Ozs7T0FNRztJQUNILGdCQUFnQixHQUFHLEtBQUssRUFDdEIsVUFDb0MsRUFDcEMsU0FBaUIsRUFDakIsRUFBRTtRQUNGLE9BQU8sTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUMzQztZQUNFLFNBQVM7WUFDVCxLQUFLLEVBQUUsVUFBVSxDQUFDLEtB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aUI7UUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2Qsa0NBQWtDLEtBQUssb0JBQW9CLFNBQVMsR0FBRyxDQUN4RSxDQUFDO1FBRUYsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDO1lBQ3JDLEtBQUssRUFBRSxLQUFLO1lBQ1osU0FBUyxFQUFFLFNBQVM7U0FDckIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2Qsd0NBQXdDLEtBQUssb0JBQW9CLFNBQVMscUJBQXFCLENBQ2hHLENBQUM7UUFFRixNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQ3BDLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQzNDO1lBQ0UsVUFBVSxFQUFFLElBQUk7WUFDaEIsV0FBVyxFQUFFLElBQUk7WUFDakIsU0FBUyxFQUFFLElBQUk7U0FDaEIsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxnQkFBZ0IsR0FBRyxLQUFLLEVBQ3RCLEtBQWEsRUFDYixTQUFpQixFQUNNLEVBQUU7UUFDekIsT0FBTyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7WUFDNUMsS0FBSyxFQUFFLEtBQUs7WUFDWixTQUFTLEVBQUUsU0FBUztTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7Q0FDSDtBQUVELGVBQWUsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkaWZmZXJlbmNlIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIsIER1bW15TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuaW1wb3J0IHtcbiAgRGF0YVNvdXJjZSxcbiAgRGVsZXRlUmVzdWx0LFxuICBJbixcbiAgSXNOdWxsLFxuICBSZXBvc2l0b3J5LFxufSBmcm9tICdAcm9zZW4tYnJpZGdlL2V4dGVuZGVkLXR5cGVvcm0nO1xuaW1wb3J0IEpzb25CaWdJbnQgZnJvbSAnQHJvc2VuLWJyaWRnZS9qc29uLWJpZ2ludCc7XG5pbXBvcnQgeyBCbG9jayB9IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lci1pbnRlcmZhY2VzJztcblxuaW1wb3J0IENvbGxhdGVyYWxFbnRpdHkgZnJvbSAnLi4vZW50aXRpZXMvY29sbGF0ZXJhbEVudGl0eSc7XG5pbXBvcnQgeyBFeHRyYWN0ZWRDb2xsYXRlcmFsIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9leHRyYWN0ZWRDb2xsYXRlcmFsJztcbmltcG9ydCB7IFNwZW5kSW5mbyB9IGZyb20gJy4uL2ludGVyZmFjZXMvdHlwZXMnO1xuXG5jbGFzcyBDb2xsYXRlcmFsQWN0aW9uIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjb2xsYXRlcmFsUmVwb3NpdG9yeTogUmVwb3NpdG9yeTxDb2xsYXRlcmFsRW50aXR5PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRhdGFTb3VyY2U6IERhdGFTb3VyY2UsXG4gICAgcmVhZG9ubHkgbG9nZ2VyOiBBYnN0cmFjdExvZ2dlciA9IG5ldyBEdW1teUxvZ2dlcigpLFxuICApIHtcbiAgICB0aGlzLmNvbGxhdGVyYWxSZXBvc2l0b3J5ID0gdGhpcy5kYXRhU291cmNlLmdldFJlcG9zaXRvcnkoQ29sbGF0ZXJhbEVudGl0eSk7XG4gIH1cblxuICAvKipcbiAgICogaW5zZXJ0cyBhIGNvbGxhdGVyYWwgaW50byB0aGUgZGF0YWJhc2VcbiAgICpcbiAgICogQHBhcmFtIHtFeHRyYWN0ZWRDb2xsYXRlcmFsfSBjb2xsYXRlcmFsXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBleHRyYWN0b3JcbiAgICogQG1lbWJlcm9mIENvbGxhdGVyYWxBY3Rpb25cbiAgICovXG4gIGluc2VydENvbGxhdGVyYWwgPSBhc3luYyAoXG4gICAgY29sbGF0ZXJhbDogRXh0cmFjdGVkQ29sbGF0ZXJhbCxcbiAgICBleHRyYWN0b3I6IHN0cmluZyxcbiAgKSA9PiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29sbGF0ZXJhbFJlcG9zaXRvcnkuaW5zZXJ0KHtcbiAgICAgIC4uLmNvbGxhdGVyYWwsXG4gICAgICBleHRyYWN0b3IsXG4gICAgfSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIHVwZGF0ZXMgYSBjb2xsYXRlcmFsIGludG8gdGhlIGRhdGFiYXNlXG4gICAqXG4gICAqIEBwYXJhbSB7RXh0cmFjdGVkQ29sbGF0ZXJhbH0gY29sbGF0ZXJhbFxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXh0cmFjdG9yXG4gICAqIEBtZW1iZXJvZiBDb2xsYXRlcmFsQWN0aW9uXG4gICAqL1xuICB1cGRhdGVDb2xsYXRlcmFsID0gYXN5bmMgKFxuICAgIGNvbGxhdGVyYWw6IFBhcnRpYWw8RXh0cmFjdGVkQ29sbGF0ZXJhbD4gJlxuICAgICAgUGljazxFeHRyYWN0ZWRDb2xsYXRlcmFsLCAnYm94SWQnPixcbiAgICBleHRyYWN0b3I6IHN0cmluZyxcbiAgKSA9PiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29sbGF0ZXJhbFJlcG9zaXRvcnkudXBkYXRlKFxuICAgICAge1xuICAgICAgICBleHRyYWN0b3IsXG4gICAgICAgIGJveElkOiBjb2xsYXRlcmFsLmJveElkLFxuICAgICAgfSxcbiAgICAgIGNvbGxhdGVyYWwsXG4gICAgKTtcbiAgfTtcblxuICAvKipcbiAgICogc3RvcmVzIGxpc3Qgb2YgY29sbGF0ZXJhbHNcbiAgICpcbiAgICogQHBhcmFtIHtBcnJheTxFeHRyYWN0ZWRDb2xsYXRlcmFsPn0gY29sbGF0ZXJhbHNcbiAgICogQHBhcmFtIHtCbG9ja30gYmxvY2tcbiAgICogQHBhcmFtIHtzdHJpbmd9IGV4dHJhY3RvclxuICAgKiBAcmV0dXJuIHtQcm9taXNlPGJvb2xlYW4+fVxuICAgKiBAbWVtYmVyb2YgQ29sbGF0ZXJhbEFjdGlvblxuICAgKi9cbiAgc3RvcmVDb2xsYXRlcmFscyA9IGFzeW5jIChcbiAgICBjb2xsYXRlcmFsczogQXJyYXk8RXh0cmFjdGVkQ29sbGF0ZXJhbD4sXG4gICAgYmxvY2s6IEJsb2NrLFxuICAgIGV4dHJhY3Rvcjogc3RyaW5nLFxuICApOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICBpZiAoY29sbGF0ZXJhbHMubGVuZ3RoID09IDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbGxhdGVyYWxFbnRpdGllcyA9IGNvbGxhdGVyYWxzLm1hcCgoY29sKSA9PiAoe1xuICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgICBib3hJZDogY29sLmJveElkLFxuICAgICAgYm94U2VyaWFsaXplZDogY29sLmJveFNlcmlhbGl6ZWQsXG4gICAgICB3aWQ6IGNvbC53aWQsXG4gICAgICByd3RDb3VudDogY29sLnJ3dENvdW50LFxuICAgICAgdHhJZDogY29sLnR4SWQsXG4gICAgICBibG9jazogYmxvY2suaGFzaCxcbiAgICAgIGhlaWdodDogY29sLmhlaWdodCAhPSB1bmRlZmluZWQgPyBjb2wuaGVpZ2h0IDogYmxvY2suaGVpZ2h0LFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHF1ZXJ5UnVubmVyID0gdGhpcy5kYXRhU291cmNlLmNyZWF0ZVF1ZXJ5UnVubmVyKCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIuY29ubmVjdCgpO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnN0YXJ0VHJhbnNhY3Rpb24oKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVwb3NpdG9yeSA9XG4gICAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLm1hbmFnZXIuZ2V0UmVwb3NpdG9yeShDb2xsYXRlcmFsRW50aXR5KTtcbiAgICAgIGNvbnN0IGV4aXN0aW5nQm94SWRzID0gKFxuICAgICAgICBhd2FpdCByZXBvc2l0b3J5LmZpbmQoe1xuICAgICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgICBib3hJZDogSW4oY29sbGF0ZXJhbEVudGl0aWVzLm1hcCgoYm94KSA9PiBib3guYm94SWQpKSxcbiAgICAgICAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc2VsZWN0OiB7XG4gICAgICAgICAgICBib3hJZDogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgKS5tYXAoKGNvbCkgPT4gY29sLmJveElkKTtcblxuICAgICAgY29uc3QgY29sbGF0ZXJhbHNUb1VwZGF0ZSA9IGNvbGxhdGVyYWxFbnRpdGllcy5maWx0ZXIoKGNvbCkgPT5cbiAgICAgICAgZXhpc3RpbmdCb3hJZHMuaW5jbHVkZXMoY29sLmJveElkKSxcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGNvbGxhdGVyYWxzVG9JbnNlcnQgPSBkaWZmZXJlbmNlKFxuICAgICAgICBjb2xsYXRlcmFsRW50aXRpZXMsXG4gICAgICAgIGNvbGxhdGVyYWxzVG9VcGRhdGUsXG4gICAgICApO1xuXG4gICAgICBpZiAoY29sbGF0ZXJhbHNUb1VwZGF0ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmluZm8oXG4gICAgICAgICAgYEluc2VydGluZyBib3hlcyB3aXRoIGZvbGxvd2luZyBJRHMgaW50byB0aGUgZGF0YWJhc2U6IFske2NvbGxhdGVyYWxzVG9JbnNlcnRcbiAgICAgICAgICAgIC5tYXAoKGNvbCkgPT4gY29sLmJveElkKVxuICAgICAgICAgICAgLmpvaW4oJywgJyl9XWAsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGBJbnNlcnRpbmcgY29sbGF0ZXJhbCBib3hlcyBbJHtKc29uQmlnSW50LnN0cmluZ2lmeShcbiAgICAgICAgICAgIGNvbGxhdGVyYWxzVG9JbnNlcnQsXG4gICAgICAgICAgKX1dYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGF3YWl0IHJlcG9zaXRvcnkuaW5zZXJ0KGNvbGxhdGVyYWxzVG9JbnNlcnQpO1xuXG4gICAgICBpZiAoY29sbGF0ZXJhbHNUb1VwZGF0ZS5sZW5ndGggPiAwKVxuICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKFxuICAgICAgICAgIGBVcGRhdGluZyBib3hlcyB3aXRoIGZvbGxvd2luZyBJRHMgaW4gdGhlIGRhdGFiYXNlOiBbJHtjb2xsYXRlcmFsc1RvVXBkYXRlXG4gICAgICAgICAgICAubWFwKChjb2wpID0+IGNvbC5ib3hJZClcbiAgICAgICAgICAgIC5qb2luKCcsICcpfV1gLFxuICAgICAgICApO1xuICAgICAgY29sbGF0ZXJhbHNUb1VwZGF0ZS5mb3JFYWNoKGFzeW5jIChjb2xsYXRlcmFsKSA9PiB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGBVcGRhdGluZyBjb2xsYXRlcmFsIGJveCBpbiBkYXRhYmFzZSBbJHtKc29uQmlnSW50LnN0cmluZ2lmeShcbiAgICAgICAgICAgIGNvbGxhdGVyYWwsXG4gICAgICAgICAgKX1dYCxcbiAgICAgICAgKTtcbiAgICAgICAgYXdhaXQgcmVwb3NpdG9yeS51cGRhdGUoXG4gICAgICAgICAgeyBib3hJZDogY29sbGF0ZXJhbC5ib3hJZCwgZXh0cmFjdG9yOiBleHRyYWN0b3IgfSxcbiAgICAgICAgICBjb2xsYXRlcmFsLFxuICAgICAgICApO1xuICAgICAgfSk7XG5cbiAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLmNvbW1pdFRyYW5zYWN0aW9uKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIucm9sbGJhY2tUcmFuc2FjdGlvbigpO1xuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXG4gICAgICAgIGBBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgc3RvcmVDb2xsYXRlcmFscyBhY3Rpb246ICR7ZX1gLFxuICAgICAgKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIucmVsZWFzZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIC8qKlxuICAgKiBVcGRhdGUgc3BlbmRCbG9jayBhbmQgc3BlbmRIZWlnaHQgb2YgY29sbGF0ZXJhbHMgc3BlbnQgaW4gdGhlIGJsb2NrXG4gICAqXG4gICAqIEBwYXJhbSB7QXJyYXk8U3BlbmRJbmZvPn0gc3BlbmRJbmZvc1xuICAgKiBAcGFyYW0ge0Jsb2NrfSBibG9ja1xuICAgKiBAcGFyYW0ge3N0cmluZ30gZXh0cmFjdG9yXG4gICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XG4gICAqIEBtZW1iZXJvZiBDb2xsYXRlcmFsQWN0aW9uXG4gICAqL1xuICBzcGVuZENvbGxhdGVyYWxzID0gYXN5bmMgKFxuICAgIHNwZW5kSW5mb3M6IEFycmF5PFNwZW5kSW5mbz4sXG4gICAgYmxvY2s6IEJsb2NrLFxuICAgIGV4dHJhY3Rvcjogc3RyaW5nLFxuICApOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBmb3IgKGNvbnN0IHNwZW5kSW5mbyBvZiBzcGVuZEluZm9zKSB7XG4gICAgICBjb25zdCB1cGRhdGVSZXN1bHQgPSBhd2FpdCB0aGlzLmNvbGxhdGVyYWxSZXBvc2l0b3J5LnVwZGF0ZShcbiAgICAgICAge1xuICAgICAgICAgIGJveElkOiBzcGVuZEluZm8uYm94SWQsXG4gICAgICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzcGVuZEJsb2NrOiBibG9jay5oYXNoLFxuICAgICAgICAgIHNwZW5kSGVpZ2h0OiBibG9jay5oZWlnaHQsXG4gICAgICAgICAgc3BlbmRUeElkOiBzcGVuZEluZm8udHhJZCxcbiAgICAgICAgfSxcbiAgICAgICk7XG5cbiAgICAgIGlmICh1cGRhdGVSZXN1bHQuYWZmZWN0ZWQgJiYgdXBkYXRlUmVzdWx0LmFmZmVjdGVkID4gMCkge1xuICAgICAgICBjb25zdCB1cGRhdGVkUm93cyA9IGF3YWl0IHRoaXMuY29sbGF0ZXJhbFJlcG9zaXRvcnkuZmluZEJ5KHtcbiAgICAgICAgICBib3hJZDogc3BlbmRJbmZvLmJveElkLFxuICAgICAgICAgIHNwZW5kQmxvY2s6IGJsb2NrLmhhc2gsXG4gICAgICAgIH0pO1xuICAgICAgICBmb3IgKGNvbnN0IHJvdyBvZiB1cGRhdGVkUm93cykge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgYFNwZW50IGNvbGxhdGVyYWwgd2l0aCBib3hJZCBbJHtyb3cuYm94SWR9XSBiZWxvbmdpbmcgdG8gd2F0Y2hlciB3aXRoIFdJRCBbJHtyb3cud2lkfV0gYXQgaGVpZ2h0ICR7YmxvY2suaGVpZ2h0fWAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogUmV0dXJucyBhbGwgc3RvcmVkIHVuc3BlbnQgY29sbGF0ZXJhbCBib3ggSURzXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBleHRyYWN0b3JcbiAgICogQHJldHVybiB7UHJvbWlzZTxBcnJheTxzdHJpbmc+Pn1cbiAgICogQG1lbWJlcm9mIENvbGxhdGVyYWxBY3Rpb25cbiAgICovXG4gIGdldFVuc3BlbnRDb2xsYXRlcmFsQm94SWRzID0gYXN5bmMgKFxuICAgIGV4dHJhY3Rvcjogc3RyaW5nLFxuICApOiBQcm9taXNlPEFycmF5PHN0cmluZz4+ID0+IHtcbiAgICBjb25zdCBib3hJZHMgPSBhd2FpdCB0aGlzLmNvbGxhdGVyYWxSZXBvc2l0b3J5LmZpbmQoe1xuICAgICAgd2hlcmU6IHtcbiAgICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgICAgIHNwZW5kQmxvY2s6IElzTnVsbCgpLFxuICAgICAgfSxcbiAgICAgIHNlbGVjdDoge1xuICAgICAgICBib3hJZDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgcmV0dXJuIGJveElkcy5tYXAoKGJveCkgPT4gYm94LmJveElkKTtcbiAgfTtcblxuICAvKipcbiAgICogRGVsZXRlIGFsbCBjb2xsYXRlcmFscyBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXNzZWQgYmxvY2sgYW5kIGV4dHJhY3RvciBhbmRcbiAgICogdXBkYXRlIGFsbCBjb2xsYXRlcmFscyBzcGVudCBpbiB0aGUgc3BlY2lmaWVkIGJsb2NrXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBibG9ja1xuICAgKiBAcGFyYW0ge3N0cmluZ30gZXh0cmFjdG9yXG4gICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XG4gICAqIEBtZW1iZXJvZiBDb2xsYXRlcmFsQWN0aW9uXG4gICAqL1xuICBhc3luYyBkZWxldGVCbG9jayhibG9jazogc3RyaW5nLCBleHRyYWN0b3I6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oXG4gICAgICBgRGVsZXRpbmcgY29sbGF0ZXJhbHMgaW4gYmxvY2s9WyR7YmxvY2t9XSBhbmQgZXh0cmFjdG9yPVske2V4dHJhY3Rvcn1dYCxcbiAgICApO1xuXG4gICAgYXdhaXQgdGhpcy5jb2xsYXRlcmFsUmVwb3NpdG9yeS5kZWxldGUoe1xuICAgICAgYmxvY2s6IGJsb2NrLFxuICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgfSk7XG5cbiAgICB0aGlzLmxvZ2dlci5pbmZvKFxuICAgICAgYGNoYW5naW5nIHNwZW50IGNvbGxhdGVyYWxzIGluIGJsb2NrPVske2Jsb2NrfV0gYW5kIGV4dHJhY3Rvcj1bJHtleHRyYWN0b3J9XSB0byB1bnNwZW50IHN0YXR1c2AsXG4gICAgKTtcblxuICAgIGF3YWl0IHRoaXMuY29sbGF0ZXJhbFJlcG9zaXRvcnkudXBkYXRlKFxuICAgICAgeyBzcGVuZEJsb2NrOiBibG9jaywgZXh0cmFjdG9yOiBleHRyYWN0b3IgfSxcbiAgICAgIHtcbiAgICAgICAgc3BlbmRCbG9jazogbnVsbCxcbiAgICAgICAgc3BlbmRIZWlnaHQ6IG51bGwsXG4gICAgICAgIHNwZW5kVHhJZDogbnVsbCxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBkZWxldGVzIHRoZSBzcGVjaWZpZWQgY29sbGF0ZXJhbCBib3ggZnJvbSBkYXRhYmFzZVxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYm94SWRcbiAgICogQHBhcmFtIHtzdHJpbmd9IGV4dHJhY3RvclxuICAgKiBAcmV0dXJuIHtQcm9taXNlPERlbGV0ZVJlc3VsdD59XG4gICAqIEBtZW1iZXJvZiBDb2xsYXRlcmFsQWN0aW9uXG4gICAqL1xuICBkZWxldGVDb2xsYXRlcmFsID0gYXN5bmMgKFxuICAgIGJveElkOiBzdHJpbmcsXG4gICAgZXh0cmFjdG9yOiBzdHJpbmcsXG4gICk6IFByb21pc2U8RGVsZXRlUmVzdWx0PiA9PiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29sbGF0ZXJhbFJlcG9zaXRvcnkuZGVsZXRlKHtcbiAgICAgIGJveElkOiBib3hJZCxcbiAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgIH0pO1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBDb2xsYXRlcmFsQWN0aW9uO1xuIl19
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGF0ZXJhbEFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9hY3Rpb25zL2NvbGxhdGVyYWxBY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFLekUsT0FBTyxnQkFBZ0IsTUFBTSw4QkFBOEIsQ0FBQztBQUc1RCxNQUFNLGdCQUFpQixTQUFRLHFCQUc5QjtJQUNDLFlBQVksVUFBc0IsRUFBRSxNQUF1QjtRQUN6RCxLQUFLLENBQUMsVUFBVSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDTyxZQUFZLEdBQUcsQ0FDdkIsV0FBa0MsRUFDbEMsS0FBZ0IsRUFDaEIsU0FBaUIsRUFDb0IsRUFBRTtRQUN2QyxPQUFPLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdEMsR0FBRyxVQUFVO1lBQ2IsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2pCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtZQUNwQixTQUFTO1lBQ1QsVUFBVSxFQUFFLFVBQVUsQ0FBQyxVQUFVLElBQUksSUFBSTtZQUN6QyxXQUFXLEVBQUUsVUFBVSxDQUFDLFdBQVcsSUFBSSxJQUFJO1NBQzVDLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQyxDQUFDO0lBRUY7Ozs7T0FJRztJQUNPLG1CQUFtQixHQUFHLENBQzlCLFFBQTRCLEVBQ0wsRUFBRTtRQUN6QixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDLENBQUM7Q0FDSDtBQUVELGVBQWUsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdEVyZ29Cb3hBY3Rpb24gfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWV4dHJhY3Rvcic7XG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2V4dGVuZGVkLXR5cGVvcm0nO1xuaW1wb3J0IHsgQmxvY2tJbmZvIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9zY2FubmVyLWludGVyZmFjZXMnO1xuXG5pbXBvcnQgQ29sbGF0ZXJhbEVudGl0eSBmcm9tICcuLi9lbnRpdGllcy9jb2xsYXRlcmFsRW50aXR5JztcbmltcG9ydCB7IEV4dHJhY3RlZENvbGxhdGVyYWwgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2V4dHJhY3RlZENvbGxhdGVyYWwnO1xuXG5jbGFzcyBDb2xsYXRlcmFsQWN0aW9uIGV4dGVuZHMgQWJzdHJhY3RFcmdvQm94QWN0aW9uPFxuICBFeHRyYWN0ZWRDb2xsYXRlcmFsLFxuICBDb2xsYXRlcmFsRW50aXR5XG4+IHtcbiAgY29uc3RydWN0b3IoZGF0YVNvdXJjZTogRGF0YVNvdXJjZSwgbG9nZ2VyPzogQWJzdHJhY3RMb2dnZXIpIHtcbiAgICBzdXBlcihkYXRhU291cmNlLCBDb2xsYXRlcmFsRW50aXR5LCBsb2dnZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIGNyZWF0ZSB0aGUgY29sbGF0ZXJhbCBlbnRpdHkgZnJvbSBleHRyYWN0ZWQgZGF0YSBhbmQgYmxvY2sgaW5mb3JtYXRpb25cbiAgICogQHBhcmFtIGNvbGxhdGVyYWxzXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKiBAcGFyYW0gZXh0cmFjdG9yXG4gICAqIEByZXR1cm5zIHRoZSBjb2xsYXRlcmFsIGVudGl0aWVzICh3aXRob3V0IHRoZSBpZClcbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVFbnRpdHkgPSAoXG4gICAgY29sbGF0ZXJhbHM6IEV4dHJhY3RlZENvbGxhdGVyYWxbXSxcbiAgICBibG9jazogQmxvY2tJbmZvLFxuICAgIGV4dHJhY3Rvcjogc3RyaW5nLFxuICApOiBBcnJheTxPbWl0PENvbGxhdGVyYWxFbnRpdHksICdpZCc+PiA9PiB7XG4gICAgcmV0dXJuIGNvbGxhdGVyYWxzLm1hcCgoY29sbGF0ZXJhbCkgPT4gKHtcbiAgICAgIC4uLmNvbGxhdGVyYWwsXG4gICAgICBibG9jazogYmxvY2suaGFzaCxcbiAgICAgIGhlaWdodDogYmxvY2suaGVpZ2h0LFxuICAgICAgZXh0cmFjdG9yLFxuICAgICAgc3BlbmRCbG9jazogY29sbGF0ZXJhbC5zcGVuZEJsb2NrID8/IG51bGwsXG4gICAgICBzcGVuZEhlaWdodDogY29sbGF0ZXJhbC5zcGVuZEhlaWdodCA/PyBudWxsLFxuICAgIH0pKTtcbiAgfTtcblxuICAvKipcbiAgICogY29udmVydCB0aGUgZGF0YWJhc2UgZW50aXR5IGJhY2sgdG8gcmF3IGRhdGFcbiAgICogQHBhcmFtIGVudGl0aWVzXG4gICAqIEByZXR1cm5zIHRoZSBleHRyYWN0ZWQgY29sbGF0ZXJhbCBkYXRhXG4gICAqL1xuICBwcm90ZWN0ZWQgY29udmVydEVudGl0eVRvRGF0YSA9IChcbiAgICBlbnRpdGllczogQ29sbGF0ZXJhbEVudGl0eVtdLFxuICApOiBFeHRyYWN0ZWRDb2xsYXRlcmFsW10gPT4ge1xuICAgIHJldHVybiBlbnRpdGllcztcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29sbGF0ZXJhbEFjdGlvbjtcbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AbstractLogger } from '@rosen-bridge/abstract-logger';
|
|
2
2
|
import { DataSource } from '@rosen-bridge/extended-typeorm';
|
|
3
|
-
import {
|
|
3
|
+
import { BlockInfo } from '@rosen-bridge/scanner-interfaces';
|
|
4
4
|
import { extractedCommitment } from '../interfaces/extractedCommitment';
|
|
5
5
|
import { SpendInfo } from '../interfaces/types';
|
|
6
6
|
declare class CommitmentAction {
|
|
@@ -14,14 +14,14 @@ declare class CommitmentAction {
|
|
|
14
14
|
* @param block
|
|
15
15
|
* @param extractor
|
|
16
16
|
*/
|
|
17
|
-
storeCommitments: (commitments: Array<extractedCommitment>, block:
|
|
17
|
+
storeCommitments: (commitments: Array<extractedCommitment>, block: BlockInfo, extractor: string) => Promise<boolean>;
|
|
18
18
|
/**
|
|
19
19
|
* Update spendBlock and spendHeight of commitments spent on the block
|
|
20
20
|
* @param spendId
|
|
21
21
|
* @param block
|
|
22
22
|
* @param extractor
|
|
23
23
|
*/
|
|
24
|
-
spendCommitments: (spendId: Array<SpendInfo>, block:
|
|
24
|
+
spendCommitments: (spendId: Array<SpendInfo>, block: BlockInfo, extractor: string) => Promise<void>;
|
|
25
25
|
/**
|
|
26
26
|
* Delete all commitments corresponding to the block(id) and extractor(id)
|
|
27
27
|
* and update all commitments spent on the specified block
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commitmentAction.d.ts","sourceRoot":"","sources":["../../lib/actions/commitmentAction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAkB,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"commitmentAction.d.ts","sourceRoot":"","sources":["../../lib/actions/commitmentAction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAkB,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAI7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,cAAM,gBAAgB;IACpB,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,CAAC,EAAE,cAAc;IAM3D;;;;;OAKG;IACH,gBAAgB,GACd,aAAa,KAAK,CAAC,mBAAmB,CAAC,EACvC,OAAO,SAAS,EAChB,WAAW,MAAM,KAChB,OAAO,CAAC,OAAO,CAAC,CAsDjB;IAEF;;;;;OAKG;IACH,gBAAgB,GACd,SAAS,KAAK,CAAC,SAAS,CAAC,EACzB,OAAO,SAAS,EAChB,WAAW,MAAM,KAChB,OAAO,CAAC,IAAI,CAAC,CAmCd;IAEF;;;;;OAKG;IACH,WAAW,GAAU,OAAO,MAAM,EAAE,WAAW,MAAM,mBAiBnD;CACH;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -87,7 +87,7 @@ class CommitmentAction {
|
|
|
87
87
|
for (const commitment of commitments) {
|
|
88
88
|
const spendInfo = spendIdChunk.find((info) => info.boxId === commitment.boxId);
|
|
89
89
|
if (!spendInfo)
|
|
90
|
-
throw new Error(`
|
|
90
|
+
throw new Error(`ImpossibleBehavior: box [${commitment.boxId}] is not found in spending info list`);
|
|
91
91
|
await this.commitmentRepository.update({
|
|
92
92
|
id: commitment.id,
|
|
93
93
|
}, {
|
|
@@ -122,4 +122,4 @@ class CommitmentAction {
|
|
|
122
122
|
};
|
|
123
123
|
}
|
|
124
124
|
export default CommitmentAction;
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWl0bWVudEFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9hY3Rpb25zL2NvbW1pdG1lbnRBY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVsQyxPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBYyxFQUFFLEVBQWMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUc1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sZ0JBQWdCLE1BQU0sOEJBQThCLENBQUM7QUFJNUQsTUFBTSxnQkFBZ0I7SUFDWCxNQUFNLENBQWlCO0lBQ2YsVUFBVSxDQUFhO0lBQ3ZCLG9CQUFvQixDQUErQjtJQUVwRSxZQUFZLFVBQXNCLEVBQUUsTUFBdUI7UUFDekQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGdCQUFnQixHQUFHLEtBQUssRUFDdEIsV0FBdUMsRUFDdkMsS0FBWSxFQUNaLFNBQWlCLEVBQ0MsRUFBRTtRQUNwQixJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzFDLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRSxNQUFNLGdCQUFnQixHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFv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QUFLLENBQUMsTUFBTSxFQUFFLENBQ3JHLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMscUJBQXFCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hFLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0lBRUY7Ozs7O09BS0c7SUFDSCxXQUFXLEdBQUcsS0FBSyxFQUFFLEtBQWEsRUFBRSxTQUFpQixFQUFFLEVBQUU7UUFDdkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2Qsa0NBQWtDLEtBQUssbUJBQW1CLFNBQVMsRUFBRSxDQUN0RSxDQUFDO1FBQ0YsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDO1lBQ3JDLEtBQUssRUFBRSxLQUFLO1lBQ1osU0FBUyxFQUFFLFNBQVM7U0FDckIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUNwQyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxFQUMzQztZQUNFLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsVUFBVSxFQUFFLElBQUk7U0FDakIsQ0FDRixDQUFDO0lBQ0osQ0FBQyxDQUFDO0NBQ0g7QUFFRCxlQUFlLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2h1bmsgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciwgRHVtbXlMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQgeyBEYXRhU291cmNlLCBJbiwgUmVwb3NpdG9yeSB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvZXh0ZW5kZWQtdHlwZW9ybSc7XG5pbXBvcnQgeyBCbG9jayB9IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lci1pbnRlcmZhY2VzJztcblxuaW1wb3J0IHsgZGJJZENodW5rU2l6ZSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgQ29tbWl0bWVudEVudGl0eSBmcm9tICcuLi9lbnRpdGllcy9jb21taXRtZW50RW50aXR5JztcbmltcG9ydCB7IGV4dHJhY3RlZENvbW1pdG1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2V4dHJhY3RlZENvbW1pdG1lbnQnO1xuaW1wb3J0IHsgU3BlbmRJbmZvIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy90eXBlcyc7XG5cbmNsYXNzIENvbW1pdG1lbnRBY3Rpb24ge1xuICByZWFkb25seSBsb2dnZXI6IEFic3RyYWN0TG9nZ2VyO1xuICBwcml2YXRlIHJlYWRvbmx5IGRhdGFzb3VyY2U6IERhdGFTb3VyY2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29tbWl0bWVudFJlcG9zaXRvcnk6IFJlcG9zaXRvcnk8Q29tbWl0bWVudEVudGl0eT47XG5cbiAgY29uc3RydWN0b3IoZGF0YVNvdXJjZTogRGF0YVNvdXJjZSwgbG9nZ2VyPzogQWJzdHJhY3RMb2dnZXIpIHtcbiAgICB0aGlzLmRhdGFzb3VyY2UgPSBkYXRhU291cmNlO1xuICAgIHRoaXMubG9nZ2VyID0gbG9nZ2VyID8gbG9nZ2VyIDogbmV3IER1bW15TG9nZ2VyKCk7XG4gICAgdGhpcy5jb21taXRtZW50UmVwb3NpdG9yeSA9IGRhdGFTb3VyY2UuZ2V0UmVwb3NpdG9yeShDb21taXRtZW50RW50aXR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCBzdG9yZXMgbGlzdCBvZiBvYnNlcnZhdGlvbnMgaW4gdGhlIGRhdGFTb3VyY2Ugd2l0aCBibG9jayBpZFxuICAgKiBAcGFyYW0gY29tbWl0bWVudHNcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICovXG4gIHN0b3JlQ29tbWl0bWVudHMgPSBhc3luYyAoXG4gICAgY29tbWl0bWVudHM6IEFycmF5PGV4dHJhY3RlZENvbW1pdG1lbnQ+LFxuICAgIGJsb2NrOiBCbG9jayxcbiAgICBleHRyYWN0b3I6IHN0cmluZyxcbiAgKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgaWYgKGNvbW1pdG1lbnRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHRydWU7XG4gICAgY29uc3QgYm94SWRzID0gY29tbWl0bWVudHMubWFwKChjb21taXRtZW50KSA9PiBjb21taXRtZW50LmJveElkKTtcbiAgICBjb25zdCBzYXZlZENvbW1pdG1lbnRzID0gYXdhaXQgdGhpcy5jb21taXRtZW50UmVwb3NpdG9yeS5maW5kQnkoe1xuICAgICAgYm94SWQ6IEluKGJveElkcyksXG4gICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICB9KTtcbiAgICBsZXQgc3VjY2VzcyA9IHRydWU7XG4gICAgY29uc3QgcXVlcnlSdW5uZXIgPSB0aGlzLmRhdGFzb3VyY2UuY3JlYXRlUXVlcnlSdW5uZXIoKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5jb25uZWN0KCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIuc3RhcnRUcmFuc2FjdGlvbigpO1xuICAgIGNvbnN0IHJlcG9zaXRvcnkgPVxuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIubWFuYWdlci5nZXRSZXBvc2l0b3J5KENvbW1pdG1lbnRFbnRpdHkpO1xuICAgIHRyeSB7XG4gICAgICBmb3IgKGNvbnN0IGNvbW1pdG1lbnQgb2YgY29tbWl0bWVudHMpIHtcbiAgICAgICAgY29uc3Qgc2F2ZWQgPSBzYXZlZENvbW1pdG1lbnRzLnNvbWUoKGVudGl0eSkgPT4ge1xuICAgICAgICAgIHJldHVybiBlbnRpdHkuYm94SWQgPT09IGNvbW1pdG1lbnQuYm94SWQ7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBlbnRpdHkgPSB7XG4gICAgICAgICAgdHhJZDogY29tbWl0bWVudC50eElkLFxuICAgICAgICAgIGNvbW1pdG1lbnQ6IGNvbW1pdG1lbnQuY29tbWl0bWVudCxcbiAgICAgICAgICBldmVudElkOiBjb21taXRtZW50LmV2ZW50SWQsXG4gICAgICAgICAgYm94SWQ6IGNvbW1pdG1lbnQuYm94SWQsXG4gICAgICAgICAgV0lEOiBjb21taXRtZW50LldJRCxcbiAgICAgICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICAgICAgICBibG9jazogYmxvY2suaGFzaCxcbiAgICAgICAgICBoZWlnaHQ6IGJsb2NrLmhlaWdodCxcbiAgICAgICAgICBib3hTZXJpYWxpemVkOiBjb21taXRtZW50LmJveFNlcmlhbGl6ZWQsXG4gICAgICAgICAgcnd0Q291bnQ6IGNvbW1pdG1lbnQucnd0Q291bnQsXG4gICAgICAgIH07XG4gICAgICAgIGlmICghc2F2ZWQpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKFxuICAgICAgICAgICAgYFNhdmluZyBjb21taXRtZW50IFske2NvbW1pdG1lbnQuYm94SWR9XSBmb3IgZXZlbnQgWyR7Y29tbWl0bWVudC5ldmVudElkfV0gZnJvbSB3YXRjaGVyIFske2NvbW1pdG1lbnQuV0lEfV0gYXQgaGVpZ2h0ICR7YmxvY2suaGVpZ2h0fSBhbmQgZXh0cmFjdG9yICR7ZXh0cmFjdG9yfWAsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBhd2FpdCByZXBvc2l0b3J5Lmluc2VydChlbnRpdHkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmluZm8oXG4gICAgICAgICAgICBgVXBkYXRpbmcgY29tbWl0bWVudCBbJHtjb21taXRtZW50LmJveElkfV0gZm9yIGV2ZW50IFske2NvbW1pdG1lbnQuZXZlbnRJZH1dIGZyb20gd2F0Y2hlciBbJHtjb21taXRtZW50LldJRH1dIGF0IGhlaWdodCAke2Jsb2NrLmhlaWdodH0gYW5kIGV4dHJhY3RvciAke2V4dHJhY3Rvcn1gLFxuICAgICAgICAgICk7XG4gICAgICAgICAgYXdhaXQgcmVwb3NpdG9yeS51cGRhdGUoeyBib3hJZDogY29tbWl0bWVudC5ib3hJZCB9LCBlbnRpdHkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBFbnRpdHk6ICR7SlNPTi5zdHJpbmdpZnkoZW50aXR5KX1gKTtcbiAgICAgIH1cbiAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLmNvbW1pdFRyYW5zYWN0aW9uKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXG4gICAgICAgIGBBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgc3RvcmUgY29tbWl0bWVudHMgYWN0aW9uOiAke2V9YCxcbiAgICAgICk7XG4gICAgICBhd2FpdCBxdWVyeVJ1bm5lci5yb2xsYmFja1RyYW5zYWN0aW9uKCk7XG4gICAgICBzdWNjZXNzID0gZmFsc2U7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnJlbGVhc2UoKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1Y2Nlc3M7XG4gIH07XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBzcGVuZEJsb2NrIGFuZCBzcGVuZEhlaWdodCBvZiBjb21taXRtZW50cyBzcGVudCBvbiB0aGUgYmxvY2tcbiAgICogQHBhcmFtIHNwZW5kSWRcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICovXG4gIHNwZW5kQ29tbWl0bWVudHMgPSBhc3luYyAoXG4gICAgc3BlbmRJZDogQXJyYXk8U3BlbmRJbmZvPixcbiAgICBibG9jazogQmxvY2ssXG4gICAgZXh0cmFjdG9yOiBzdHJpbmcsXG4gICk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIC8vIFRPRE86IGltcHJvdmUgdXBkYXRpbmcgKGxvY2FsOmVyZ28vcm9zZW4tYnJpZGdlL3NjYW5uZXIjODUpXG4gICAgY29uc3Qgc3BlbmRJZENodW5rcyA9IGNodW5rKHNwZW5kSWQsIGRiSWRDaHVua1NpemUpO1xuICAgIGZvciAoY29uc3Qgc3BlbmRJZENodW5rIG9mIHNwZW5kSWRDaHVua3MpIHtcbiAgICAgIGNvbnN0IGNvbW1pdG1lbnRzID0gYXdhaXQgdGhpcy5jb21taXRtZW50UmVwb3NpdG9yeS5maW5kQnkoe1xuICAgICAgICBib3hJZDogSW4oc3BlbmRJZENodW5rLm1hcCgoaW5mbykgPT4gaW5mby5ib3hJZCkpLFxuICAgICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICAgIH0pO1xuXG4gICAgICBmb3IgKGNvbnN0IGNvbW1pdG1lbnQgb2YgY29tbWl0bWVudHMpIHtcbiAgICAgICAgY29uc3Qgc3BlbmRJbmZvID0gc3BlbmRJZENodW5rLmZpbmQoXG4gICAgICAgICAgKGluZm8pID0+IGluZm8uYm94SWQgPT09IGNvbW1pdG1lbnQuYm94SWQsXG4gICAgICAgICk7XG4gICAgICAgIGlmICghc3BlbmRJbmZvKVxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBJbXBvc3NpYmxlIGJlaGF2aW9yOiBib3ggWyR7Y29tbWl0bWVudC5ib3hJZH1dIGlzIG5vdCBmb3VuZCBpbiBzcGVuZGluZyBpbmZvIGxpc3RgLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgYXdhaXQgdGhpcy5jb21taXRtZW50UmVwb3NpdG9yeS51cGRhdGUoXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6IGNvbW1pdG1lbnQuaWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBzcGVuZEJsb2NrOiBibG9jay5oYXNoLFxuICAgICAgICAgICAgc3BlbmRIZWlnaHQ6IGJsb2NrLmhlaWdodCxcbiAgICAgICAgICAgIHNwZW5kVHhJZDogc3BlbmRJbmZvLnR4SWQsXG4gICAgICAgICAgICBzcGVuZEluZGV4OiBzcGVuZEluZm8uaW5kZXgsXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhcbiAgICAgICAgICBgU3BlbnQgY29tbWl0bWVudCBbJHtjb21taXRtZW50LmJveElkfV0gZm9yIGV2ZW50IFske2NvbW1pdG1lbnQuZXZlbnRJZH1dIGF0IGhlaWdodCAke2Jsb2NrLmhlaWdodH1gLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgU3BlbnQgY29tbWl0bWVudCBbJHtKU09OLnN0cmluZ2lmeShjb21taXRtZW50KX1dYCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBEZWxldGUgYWxsIGNvbW1pdG1lbnRzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGJsb2NrKGlkKSBhbmQgZXh0cmFjdG9yKGlkKVxuICAgKiBhbmQgdXBkYXRlIGFsbCBjb21taXRtZW50cyBzcGVudCBvbiB0aGUgc3BlY2lmaWVkIGJsb2NrXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKiBAcGFyYW0gZXh0cmFjdG9yXG4gICAqL1xuICBkZWxldGVCbG9jayA9IGFzeW5jIChibG9jazogc3RyaW5nLCBleHRyYWN0b3I6IHN0cmluZykgPT4ge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oXG4gICAgICBgRGVsZXRpbmcgY29tbWl0bWVudHMgb2YgYmxvY2sgWyR7YmxvY2t9XSBhbmQgZXh0cmFjdG9yICR7ZXh0cmFjdG9yfWAsXG4gICAgKTtcbiAgICBhd2FpdCB0aGlzLmNvbW1pdG1lbnRSZXBvc2l0b3J5LmRlbGV0ZSh7XG4gICAgICBibG9jazogYmxvY2ssXG4gICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICB9KTtcbiAgICBhd2FpdCB0aGlzLmNvbW1pdG1lbnRSZXBvc2l0b3J5LnVwZGF0ZShcbiAgICAgIHsgc3BlbmRCbG9jazogYmxvY2ssIGV4dHJhY3RvcjogZXh0cmFjdG9yIH0sXG4gICAgICB7XG4gICAgICAgIHNwZW5kQmxvY2s6IG51bGwsXG4gICAgICAgIHNwZW5kSGVpZ2h0OiBudWxsLFxuICAgICAgICBzcGVuZFR4SWQ6IG51bGwsXG4gICAgICAgIHNwZW5kSW5kZXg6IG51bGwsXG4gICAgICB9LFxuICAgICk7XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IENvbW1pdG1lbnRBY3Rpb247XG4iXX0=
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWl0bWVudEFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9hY3Rpb25zL2NvbW1pdG1lbnRBY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVsQyxPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBYyxFQUFFLEVBQWMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUc1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sZ0JBQWdCLE1BQU0sOEJBQThCLENBQUM7QUFJNUQsTUFBTSxnQkFBZ0I7SUFDWCxNQUFNLENBQWlCO0lBQ2YsVUFBVSxDQUFhO0lBQ3ZCLG9CQUFvQixDQUErQjtJQUVwRSxZQUFZLFVBQXNCLEVBQUUsTUFBdUI7UUFDekQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGdCQUFnQixHQUFHLEtBQUssRUFDdEIsV0FBdUMsRUFDdkMsS0FBZ0IsRUFDaEIsU0FBaUIsRUFDQyxFQUFFO1FBQ3BCLElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDMUMsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JB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QWUsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUNyRyxDQUFDO2dCQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHFCQUFxQixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4RSxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUMsQ0FBQztJQUVGOzs7OztPQUtHO0lBQ0gsV0FBVyxHQUFHLEtBQUssRUFBRSxLQUFhLEVBQUUsU0FBaUIsRUFBRSxFQUFFO1FBQ3ZELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNkLGtDQUFrQyxLQUFLLG1CQUFtQixTQUFTLEVBQUUsQ0FDdEUsQ0FBQztRQUNGLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQztZQUNyQyxLQUFLLEVBQUUsS0FBSztZQUNaLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUMsQ0FBQztRQUNILE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FDcEMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsRUFDM0M7WUFDRSxVQUFVLEVBQUUsSUFBSTtZQUNoQixXQUFXLEVBQUUsSUFBSTtZQUNqQixTQUFTLEVBQUUsSUFBSTtZQUNmLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQ0YsQ0FBQztJQUNKLENBQUMsQ0FBQztDQUNIO0FBRUQsZUFBZSxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNodW5rIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIsIER1bW15TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSwgSW4sIFJlcG9zaXRvcnkgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2V4dGVuZGVkLXR5cGVvcm0nO1xuaW1wb3J0IHsgQmxvY2tJbmZvIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9zY2FubmVyLWludGVyZmFjZXMnO1xuXG5pbXBvcnQgeyBkYklkQ2h1bmtTaXplIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCBDb21taXRtZW50RW50aXR5IGZyb20gJy4uL2VudGl0aWVzL2NvbW1pdG1lbnRFbnRpdHknO1xuaW1wb3J0IHsgZXh0cmFjdGVkQ29tbWl0bWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMvZXh0cmFjdGVkQ29tbWl0bWVudCc7XG5pbXBvcnQgeyBTcGVuZEluZm8gfSBmcm9tICcuLi9pbnRlcmZhY2VzL3R5cGVzJztcblxuY2xhc3MgQ29tbWl0bWVudEFjdGlvbiB7XG4gIHJlYWRvbmx5IGxvZ2dlcjogQWJzdHJhY3RMb2dnZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0YXNvdXJjZTogRGF0YVNvdXJjZTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb21taXRtZW50UmVwb3NpdG9yeTogUmVwb3NpdG9yeTxDb21taXRtZW50RW50aXR5PjtcblxuICBjb25zdHJ1Y3RvcihkYXRhU291cmNlOiBEYXRhU291cmNlLCBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlcikge1xuICAgIHRoaXMuZGF0YXNvdXJjZSA9IGRhdGFTb3VyY2U7XG4gICAgdGhpcy5sb2dnZXIgPSBsb2dnZXIgPyBsb2dnZXIgOiBuZXcgRHVtbXlMb2dnZXIoKTtcbiAgICB0aGlzLmNvbW1pdG1lbnRSZXBvc2l0b3J5ID0gZGF0YVNvdXJjZS5nZXRSZXBvc2l0b3J5KENvbW1pdG1lbnRFbnRpdHkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEl0IHN0b3JlcyBsaXN0IG9mIG9ic2VydmF0aW9ucyBpbiB0aGUgZGF0YVNvdXJjZSB3aXRoIGJsb2NrIGlkXG4gICAqIEBwYXJhbSBjb21taXRtZW50c1xuICAgKiBAcGFyYW0gYmxvY2tcbiAgICogQHBhcmFtIGV4dHJhY3RvclxuICAgKi9cbiAgc3RvcmVDb21taXRtZW50cyA9IGFzeW5jIChcbiAgICBjb21taXRtZW50czogQXJyYXk8ZXh0cmFjdGVkQ29tbWl0bWVudD4sXG4gICAgYmxvY2s6IEJsb2NrSW5mbyxcbiAgICBleHRyYWN0b3I6IHN0cmluZyxcbiAgKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgaWYgKGNvbW1pdG1lbnRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHRydWU7XG4gICAgY29uc3QgYm94SWRzID0gY29tbWl0bWVudHMubWFwKChjb21taXRtZW50KSA9PiBjb21taXRtZW50LmJveElkKTtcbiAgICBjb25zdCBzYXZlZENvbW1pdG1lbnRzID0gYXdhaXQgdGhpcy5jb21taXRtZW50UmVwb3NpdG9yeS5maW5kQnkoe1xuICAgICAgYm94SWQ6IEluKGJveElkcyksXG4gICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICB9KTtcbiAgICBsZXQgc3VjY2VzcyA9IHRydWU7XG4gICAgY29uc3QgcXVlcnlSdW5uZXIgPSB0aGlzLmRhdGFzb3VyY2UuY3JlYXRlUXVlcnlSdW5uZXIoKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5jb25uZWN0KCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIuc3RhcnRUcmFuc2FjdGlvbigpO1xuICAgIGNvbnN0IHJlcG9zaXRvcnkgPVxuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIubWFuYWdlci5nZXRSZXBvc2l0b3J5KENvbW1pdG1lbnRFbnRpdHkpO1xuICAgIHRyeSB7XG4gICAgICBmb3IgKGNvbnN0IGNvbW1pdG1lbnQgb2YgY29tbWl0bWVudHMpIHtcbiAgICAgICAgY29uc3Qgc2F2ZWQgPSBzYXZlZENvbW1pdG1lbnRzLnNvbWUoKGVudGl0eSkgPT4ge1xuICAgICAgICAgIHJldHVybiBlbnRpdHkuYm94SWQgPT09IGNvbW1pdG1lbnQuYm94SWQ7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBlbnRpdHkgPSB7XG4gICAgICAgICAgdHhJZDogY29tbWl0bWVudC50eElkLFxuICAgICAgICAgIGNvbW1pdG1lbnQ6IGNvbW1pdG1lbnQuY29tbWl0bWVudCxcbiAgICAgICAgICBldmVudElkOiBjb21taXRtZW50LmV2ZW50SWQsXG4gICAgICAgICAgYm94SWQ6IGNvbW1pdG1lbnQuYm94SWQsXG4gICAgICAgICAgV0lEOiBjb21taXRtZW50LldJRCxcbiAgICAgICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICAgICAgICBibG9jazogYmxvY2suaGFzaCxcbiAgICAgICAgICBoZWlnaHQ6IGJsb2NrLmhlaWdodCxcbiAgICAgICAgICBib3hTZXJpYWxpemVkOiBjb21taXRtZW50LmJveFNlcmlhbGl6ZWQsXG4gICAgICAgICAgcnd0Q291bnQ6IGNvbW1pdG1lbnQucnd0Q291bnQsXG4gICAgICAgIH07XG4gICAgICAgIGlmICghc2F2ZWQpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKFxuICAgICAgICAgICAgYFNhdmluZyBjb21taXRtZW50IFske2NvbW1pdG1lbnQuYm94SWR9XSBmb3IgZXZlbnQgWyR7Y29tbWl0bWVudC5ldmVudElkfV0gZnJvbSB3YXRjaGVyIFske2NvbW1pdG1lbnQuV0lEfV0gYXQgaGVpZ2h0ICR7YmxvY2suaGVpZ2h0fSBhbmQgZXh0cmFjdG9yICR7ZXh0cmFjdG9yfWAsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBhd2FpdCByZXBvc2l0b3J5Lmluc2VydChlbnRpdHkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmluZm8oXG4gICAgICAgICAgICBgVXBkYXRpbmcgY29tbWl0bWVudCBbJHtjb21taXRtZW50LmJveElkfV0gZm9yIGV2ZW50IFske2NvbW1pdG1lbnQuZXZlbnRJZH1dIGZyb20gd2F0Y2hlciBbJHtjb21taXRtZW50LldJRH1dIGF0IGhlaWdodCAke2Jsb2NrLmhlaWdodH0gYW5kIGV4dHJhY3RvciAke2V4dHJhY3Rvcn1gLFxuICAgICAgICAgICk7XG4gICAgICAgICAgYXdhaXQgcmVwb3NpdG9yeS51cGRhdGUoeyBib3hJZDogY29tbWl0bWVudC5ib3hJZCB9LCBlbnRpdHkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBFbnRpdHk6ICR7SlNPTi5zdHJpbmdpZnkoZW50aXR5KX1gKTtcbiAgICAgIH1cbiAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLmNvbW1pdFRyYW5zYWN0aW9uKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXG4gICAgICAgIGBBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgc3RvcmUgY29tbWl0bWVudHMgYWN0aW9uOiAke2V9YCxcbiAgICAgICk7XG4gICAgICBhd2FpdCBxdWVyeVJ1bm5lci5yb2xsYmFja1RyYW5zYWN0aW9uKCk7XG4gICAgICBzdWNjZXNzID0gZmFsc2U7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnJlbGVhc2UoKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1Y2Nlc3M7XG4gIH07XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBzcGVuZEJsb2NrIGFuZCBzcGVuZEhlaWdodCBvZiBjb21taXRtZW50cyBzcGVudCBvbiB0aGUgYmxvY2tcbiAgICogQHBhcmFtIHNwZW5kSWRcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICovXG4gIHNwZW5kQ29tbWl0bWVudHMgPSBhc3luYyAoXG4gICAgc3BlbmRJZDogQXJyYXk8U3BlbmRJbmZvPixcbiAgICBibG9jazogQmxvY2tJbmZvLFxuICAgIGV4dHJhY3Rvcjogc3RyaW5nLFxuICApOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAvLyBUT0RPOiBpbXByb3ZlIHVwZGF0aW5nIChsb2NhbDplcmdvL3Jvc2VuLWJyaWRnZS9zY2FubmVyIzg1KVxuICAgIGNvbnN0IHNwZW5kSWRDaHVua3MgPSBjaHVuayhzcGVuZElkLCBkYklkQ2h1bmtTaXplKTtcbiAgICBmb3IgKGNvbnN0IHNwZW5kSWRDaHVuayBvZiBzcGVuZElkQ2h1bmtzKSB7XG4gICAgICBjb25zdCBjb21taXRtZW50cyA9IGF3YWl0IHRoaXMuY29tbWl0bWVudFJlcG9zaXRvcnkuZmluZEJ5KHtcbiAgICAgICAgYm94SWQ6IEluKHNwZW5kSWRDaHVuay5tYXAoKGluZm8pID0+IGluZm8uYm94SWQpKSxcbiAgICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgICB9KTtcblxuICAgICAgZm9yIChjb25zdCBjb21taXRtZW50IG9mIGNvbW1pdG1lbnRzKSB7XG4gICAgICAgIGNvbnN0IHNwZW5kSW5mbyA9IHNwZW5kSWRDaHVuay5maW5kKFxuICAgICAgICAgIChpbmZvKSA9PiBpbmZvLmJveElkID09PSBjb21taXRtZW50LmJveElkLFxuICAgICAgICApO1xuICAgICAgICBpZiAoIXNwZW5kSW5mbylcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgSW1wb3NzaWJsZUJlaGF2aW9yOiBib3ggWyR7Y29tbWl0bWVudC5ib3hJZH1dIGlzIG5vdCBmb3VuZCBpbiBzcGVuZGluZyBpbmZvIGxpc3RgLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgYXdhaXQgdGhpcy5jb21taXRtZW50UmVwb3NpdG9yeS51cGRhdGUoXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6IGNvbW1pdG1lbnQuaWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBzcGVuZEJsb2NrOiBibG9jay5oYXNoLFxuICAgICAgICAgICAgc3BlbmRIZWlnaHQ6IGJsb2NrLmhlaWdodCxcbiAgICAgICAgICAgIHNwZW5kVHhJZDogc3BlbmRJbmZvLnR4SWQsXG4gICAgICAgICAgICBzcGVuZEluZGV4OiBzcGVuZEluZm8uaW5kZXgsXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhcbiAgICAgICAgICBgU3BlbnQgY29tbWl0bWVudCBbJHtjb21taXRtZW50LmJveElkfV0gZm9yIGV2ZW50IFske2NvbW1pdG1lbnQuZXZlbnRJZH1dIGF0IGhlaWdodCAke2Jsb2NrLmhlaWdodH1gLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgU3BlbnQgY29tbWl0bWVudCBbJHtKU09OLnN0cmluZ2lmeShjb21taXRtZW50KX1dYCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBEZWxldGUgYWxsIGNvbW1pdG1lbnRzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGJsb2NrKGlkKSBhbmQgZXh0cmFjdG9yKGlkKVxuICAgKiBhbmQgdXBkYXRlIGFsbCBjb21taXRtZW50cyBzcGVudCBvbiB0aGUgc3BlY2lmaWVkIGJsb2NrXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKiBAcGFyYW0gZXh0cmFjdG9yXG4gICAqL1xuICBkZWxldGVCbG9jayA9IGFzeW5jIChibG9jazogc3RyaW5nLCBleHRyYWN0b3I6IHN0cmluZykgPT4ge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oXG4gICAgICBgRGVsZXRpbmcgY29tbWl0bWVudHMgb2YgYmxvY2sgWyR7YmxvY2t9XSBhbmQgZXh0cmFjdG9yICR7ZXh0cmFjdG9yfWAsXG4gICAgKTtcbiAgICBhd2FpdCB0aGlzLmNvbW1pdG1lbnRSZXBvc2l0b3J5LmRlbGV0ZSh7XG4gICAgICBibG9jazogYmxvY2ssXG4gICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICB9KTtcbiAgICBhd2FpdCB0aGlzLmNvbW1pdG1lbnRSZXBvc2l0b3J5LnVwZGF0ZShcbiAgICAgIHsgc3BlbmRCbG9jazogYmxvY2ssIGV4dHJhY3RvcjogZXh0cmFjdG9yIH0sXG4gICAgICB7XG4gICAgICAgIHNwZW5kQmxvY2s6IG51bGwsXG4gICAgICAgIHNwZW5kSGVpZ2h0OiBudWxsLFxuICAgICAgICBzcGVuZFR4SWQ6IG51bGwsXG4gICAgICAgIHNwZW5kSW5kZXg6IG51bGwsXG4gICAgICB9LFxuICAgICk7XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IENvbW1pdG1lbnRBY3Rpb247XG4iXX0=
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AbstractErgoBoxAction, EntityInfo, SpendInfo } from '@rosen-bridge/abstract-extractor';
|
|
2
2
|
import { AbstractLogger } from '@rosen-bridge/abstract-logger';
|
|
3
3
|
import { DataSource } from '@rosen-bridge/extended-typeorm';
|
|
4
4
|
import { BlockInfo } from '@rosen-bridge/scanner-interfaces';
|
|
5
5
|
import EventTriggerEntity from '../entities/eventTriggerEntity';
|
|
6
6
|
import { ExtractedEventTrigger } from '../interfaces/extractedEventTrigger';
|
|
7
|
-
declare class EventTriggerAction extends
|
|
8
|
-
private readonly dataSource;
|
|
7
|
+
declare class EventTriggerAction extends AbstractErgoBoxAction<ExtractedEventTrigger, EventTriggerEntity> {
|
|
9
8
|
constructor(dataSource: DataSource, logger?: AbstractLogger);
|
|
10
9
|
/**
|
|
11
10
|
* create the box entity from extracted data and block information
|
|
@@ -24,7 +23,7 @@ declare class EventTriggerAction extends AbstractInitializableErgoExtractorActio
|
|
|
24
23
|
* @param extractorId
|
|
25
24
|
* @returns spent box ids
|
|
26
25
|
*/
|
|
27
|
-
spendBoxes: (spendInfoArray: Array<SpendInfo>, block: BlockInfo, extractorId: string) => Promise<
|
|
26
|
+
spendBoxes: (spendInfoArray: Array<SpendInfo>, block: BlockInfo, extractorId: string) => Promise<EntityInfo[]>;
|
|
28
27
|
}
|
|
29
28
|
export default EventTriggerAction;
|
|
30
29
|
//# sourceMappingURL=eventTriggerAction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventTriggerAction.d.ts","sourceRoot":"","sources":["../../lib/actions/eventTriggerAction.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"eventTriggerAction.d.ts","sourceRoot":"","sources":["../../lib/actions/eventTriggerAction.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EAErB,UAAU,EACV,SAAS,EACV,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAM,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,OAAO,kBAAkB,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAG5E,cAAM,kBAAmB,SAAQ,qBAAqB,CACpD,qBAAqB,EACrB,kBAAkB,CACnB;gBACa,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,cAAc;IAI3D;;OAEG;IACH,YAAY,GACV,cAAc,qBAAqB,EAAE,EACrC,OAAO,SAAS,EAChB,WAAW,MAAM,KAChB,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAwBjC;IAEF;;OAEG;IACH,mBAAmB,GACjB,UAAU,kBAAkB,EAAE,KAC7B,qBAAqB,EAAE,CAuBxB;IAEF;;;;;;;;OAQG;IACH,UAAU,GACR,gBAAgB,KAAK,CAAC,SAAS,CAAC,EAChC,OAAO,SAAS,EAChB,aAAa,MAAM,KAClB,OAAO,CAAC,UAAU,EAAE,CAAC,CAyCtB;CACH;AAED,eAAe,kBAAkB,CAAC"}
|