@rosen-bridge/watcher-data-extractor 9.0.0 → 10.0.0
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/dist/actions/EventTriggerAction.d.ts +11 -23
- package/dist/actions/EventTriggerAction.d.ts.map +1 -1
- package/dist/actions/EventTriggerAction.js +57 -102
- package/dist/entities/EventTriggerEntity.d.ts +2 -9
- package/dist/entities/EventTriggerEntity.d.ts.map +1 -1
- package/dist/entities/EventTriggerEntity.js +5 -45
- package/dist/extractor/EventTriggerExtractor.d.ts +3 -2
- package/dist/extractor/EventTriggerExtractor.d.ts.map +1 -1
- package/dist/extractor/EventTriggerExtractor.js +15 -12
- 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 +2 -2
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +5 -1
- package/dist/migrations/postgres/1737785036299-migration.d.ts +7 -0
- package/dist/migrations/postgres/1737785036299-migration.d.ts.map +1 -0
- package/dist/migrations/postgres/1737785036299-migration.js +32 -0
- package/dist/migrations/sqlite/1737547743177-migration.d.ts +7 -0
- package/dist/migrations/sqlite/1737547743177-migration.d.ts.map +1 -0
- package/dist/migrations/sqlite/1737547743177-migration.js +204 -0
- package/package.json +4 -4
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { DataSource } from 'typeorm';
|
|
2
2
|
import { AbstractLogger } from '@rosen-bridge/abstract-logger';
|
|
3
|
-
import { AbstractInitializableErgoExtractorAction, BlockInfo, SpendInfo } from '@rosen-bridge/abstract-extractor';
|
|
3
|
+
import { AbstractInitializableErgoExtractorAction, BlockInfo, BoxInfo, SpendInfo } from '@rosen-bridge/abstract-extractor';
|
|
4
|
+
import EventTriggerEntity from '../entities/EventTriggerEntity';
|
|
4
5
|
import { ExtractedEventTrigger } from '../interfaces/extractedEventTrigger';
|
|
5
|
-
declare class EventTriggerAction extends AbstractInitializableErgoExtractorAction<ExtractedEventTrigger> {
|
|
6
|
-
readonly logger: AbstractLogger;
|
|
6
|
+
declare class EventTriggerAction extends AbstractInitializableErgoExtractorAction<ExtractedEventTrigger, EventTriggerEntity> {
|
|
7
7
|
private readonly dataSource;
|
|
8
|
-
private readonly repository;
|
|
9
8
|
constructor(dataSource: DataSource, logger?: AbstractLogger);
|
|
10
9
|
/**
|
|
11
|
-
*
|
|
12
|
-
* @param eventTriggers
|
|
13
|
-
* @param block
|
|
14
|
-
* @param extractorId
|
|
10
|
+
* create the box entity from extracted data and block information
|
|
15
11
|
*/
|
|
16
|
-
|
|
12
|
+
createEntity: (triggerBoxes: ExtractedEventTrigger[], block: BlockInfo, extractor: string) => Omit<EventTriggerEntity, 'id'>[];
|
|
13
|
+
/**
|
|
14
|
+
* convert the database entity back to raw data
|
|
15
|
+
*/
|
|
16
|
+
convertEntityToData: (entities: EventTriggerEntity[]) => ExtractedEventTrigger[];
|
|
17
17
|
/**
|
|
18
18
|
* update spending information of stored event triggers
|
|
19
19
|
* and set result and paymentTxId of the event
|
|
@@ -21,21 +21,9 @@ declare class EventTriggerAction extends AbstractInitializableErgoExtractorActio
|
|
|
21
21
|
* @param spendInfArray
|
|
22
22
|
* @param block
|
|
23
23
|
* @param extractorId
|
|
24
|
+
* @returns spent box ids
|
|
24
25
|
*/
|
|
25
|
-
spendBoxes: (spendInfoArray: Array<SpendInfo>, block: BlockInfo, extractorId: string) => Promise<
|
|
26
|
-
/**
|
|
27
|
-
* remove all existing data for the extractor
|
|
28
|
-
* @param extractorId
|
|
29
|
-
*/
|
|
30
|
-
removeAllData: (extractorId: string) => Promise<void>;
|
|
31
|
-
/**
|
|
32
|
-
* delete extracted data from a specific block for specified extractor
|
|
33
|
-
* if a box is spend in this block mark it as unspent
|
|
34
|
-
* if a box is created in this block remove it from database
|
|
35
|
-
* @param block
|
|
36
|
-
* @param extractor
|
|
37
|
-
*/
|
|
38
|
-
deleteBlockBoxes: (block: string, extractor: string) => Promise<void>;
|
|
26
|
+
spendBoxes: (spendInfoArray: Array<SpendInfo>, block: BlockInfo, extractorId: string) => Promise<BoxInfo[]>;
|
|
39
27
|
}
|
|
40
28
|
export default EventTriggerAction;
|
|
41
29
|
//# sourceMappingURL=EventTriggerAction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventTriggerAction.d.ts","sourceRoot":"","sources":["../../lib/actions/EventTriggerAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"EventTriggerAction.d.ts","sourceRoot":"","sources":["../../lib/actions/EventTriggerAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAM,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EACL,wCAAwC,EACxC,SAAS,EACT,OAAO,EAEP,SAAS,EACV,MAAM,kCAAkC,CAAC;AAE1C,OAAO,kBAAkB,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAI5E,cAAM,kBAAmB,SAAQ,wCAAwC,CACvE,qBAAqB,EACrB,kBAAkB,CACnB;IACC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAE5B,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,cAAc;IAK3D;;OAEG;IACH,YAAY,iBACI,qBAAqB,EAAE,SAC9B,SAAS,aACL,MAAM,KAChB,KAAK,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAwBjC;IAEF;;OAEG;IACH,mBAAmB,aACP,kBAAkB,EAAE,KAC7B,qBAAqB,EAAE,CAuBxB;IAEF;;;;;;;;OAQG;IACH,UAAU,mBACQ,MAAM,SAAS,CAAC,SACzB,SAAS,eACH,MAAM,KAClB,QAAQ,OAAO,EAAE,CAAC,CAuCnB;CACH;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,87 +1,66 @@
|
|
|
1
1
|
import { In } from 'typeorm';
|
|
2
|
-
import { DummyLogger } from '@rosen-bridge/abstract-logger';
|
|
3
2
|
import { AbstractInitializableErgoExtractorAction, DB_CHUNK_SIZE, } from '@rosen-bridge/abstract-extractor';
|
|
4
3
|
import EventTriggerEntity from '../entities/EventTriggerEntity';
|
|
5
4
|
import { JsonBI } from '../utils';
|
|
6
|
-
import { chunk } from 'lodash-es';
|
|
5
|
+
import { chunk, pick } from 'lodash-es';
|
|
7
6
|
class EventTriggerAction extends AbstractInitializableErgoExtractorAction {
|
|
8
|
-
logger;
|
|
9
7
|
dataSource;
|
|
10
|
-
repository;
|
|
11
8
|
constructor(dataSource, logger) {
|
|
12
|
-
super();
|
|
9
|
+
super(dataSource, EventTriggerEntity, logger);
|
|
13
10
|
this.dataSource = dataSource;
|
|
14
|
-
this.logger = logger ? logger : new DummyLogger();
|
|
15
|
-
this.repository = dataSource.getRepository(EventTriggerEntity);
|
|
16
11
|
}
|
|
17
12
|
/**
|
|
18
|
-
*
|
|
19
|
-
* @param eventTriggers
|
|
20
|
-
* @param block
|
|
21
|
-
* @param extractorId
|
|
13
|
+
* create the box entity from extracted data and block information
|
|
22
14
|
*/
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
this.logger.debug(`Entity: ${JSON.stringify(entity)}`);
|
|
73
|
-
}
|
|
74
|
-
await queryRunner.commitTransaction();
|
|
75
|
-
}
|
|
76
|
-
catch (e) {
|
|
77
|
-
this.logger.error(`An error occurred during store eventTrigger action: ${e}`);
|
|
78
|
-
await queryRunner.rollbackTransaction();
|
|
79
|
-
success = false;
|
|
80
|
-
}
|
|
81
|
-
finally {
|
|
82
|
-
await queryRunner.release();
|
|
83
|
-
}
|
|
84
|
-
return success;
|
|
15
|
+
createEntity = (triggerBoxes, block, extractor) => {
|
|
16
|
+
return triggerBoxes.map((trigger) => ({
|
|
17
|
+
txId: trigger.txId,
|
|
18
|
+
eventId: trigger.eventId,
|
|
19
|
+
boxId: trigger.boxId,
|
|
20
|
+
serialized: trigger.serialized,
|
|
21
|
+
block: block.hash,
|
|
22
|
+
height: block.height,
|
|
23
|
+
extractor: extractor,
|
|
24
|
+
WIDsCount: trigger.WIDsCount,
|
|
25
|
+
WIDsHash: trigger.WIDsHash,
|
|
26
|
+
amount: trigger.amount,
|
|
27
|
+
bridgeFee: trigger.bridgeFee,
|
|
28
|
+
fromAddress: trigger.fromAddress,
|
|
29
|
+
toAddress: trigger.toAddress,
|
|
30
|
+
fromChain: trigger.fromChain,
|
|
31
|
+
networkFee: trigger.networkFee,
|
|
32
|
+
sourceChainTokenId: trigger.sourceChainTokenId,
|
|
33
|
+
targetChainTokenId: trigger.targetChainTokenId,
|
|
34
|
+
sourceBlockId: trigger.sourceBlockId,
|
|
35
|
+
toChain: trigger.toChain,
|
|
36
|
+
sourceTxId: trigger.sourceTxId,
|
|
37
|
+
sourceChainHeight: trigger.sourceChainHeight,
|
|
38
|
+
}));
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* convert the database entity back to raw data
|
|
42
|
+
*/
|
|
43
|
+
convertEntityToData = (entities) => {
|
|
44
|
+
return entities.map((data) => pick(data, [
|
|
45
|
+
'eventId',
|
|
46
|
+
'txId',
|
|
47
|
+
'boxId',
|
|
48
|
+
'serialized',
|
|
49
|
+
'fromChain',
|
|
50
|
+
'toChain',
|
|
51
|
+
'fromAddress',
|
|
52
|
+
'toAddress',
|
|
53
|
+
'amount',
|
|
54
|
+
'bridgeFee',
|
|
55
|
+
'networkFee',
|
|
56
|
+
'sourceChainTokenId',
|
|
57
|
+
'targetChainTokenId',
|
|
58
|
+
'sourceBlockId',
|
|
59
|
+
'sourceTxId',
|
|
60
|
+
'WIDsCount',
|
|
61
|
+
'WIDsHash',
|
|
62
|
+
'sourceChainHeight',
|
|
63
|
+
]));
|
|
85
64
|
};
|
|
86
65
|
/**
|
|
87
66
|
* update spending information of stored event triggers
|
|
@@ -90,8 +69,10 @@ class EventTriggerAction extends AbstractInitializableErgoExtractorAction {
|
|
|
90
69
|
* @param spendInfArray
|
|
91
70
|
* @param block
|
|
92
71
|
* @param extractorId
|
|
72
|
+
* @returns spent box ids
|
|
93
73
|
*/
|
|
94
74
|
spendBoxes = async (spendInfoArray, block, extractorId) => {
|
|
75
|
+
const spentData = [];
|
|
95
76
|
const spendInfoChunks = chunk(spendInfoArray, DB_CHUNK_SIZE);
|
|
96
77
|
for (const spendInfoChunk of spendInfoChunks) {
|
|
97
78
|
const spentTriggers = await this.repository.findBy({
|
|
@@ -110,39 +91,13 @@ class EventTriggerAction extends AbstractInitializableErgoExtractorAction {
|
|
|
110
91
|
result: spendInfo.extras[0],
|
|
111
92
|
paymentTxId: spendInfo.extras[1],
|
|
112
93
|
});
|
|
94
|
+
spentData.push(pick(spendInfo, ['boxId']));
|
|
113
95
|
this.logger.info(`Spent trigger [${spentTrigger.boxId}] of event [${spentTrigger.eventId}] at height ${block.height}`);
|
|
114
96
|
this.logger.debug(`Spent trigger: [${JSON.stringify(spentTrigger)}] with spending information [${JsonBI.stringify(spendInfo)}]`);
|
|
115
97
|
}
|
|
116
98
|
}
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* remove all existing data for the extractor
|
|
120
|
-
* @param extractorId
|
|
121
|
-
*/
|
|
122
|
-
removeAllData = async (extractorId) => {
|
|
123
|
-
await this.repository.delete({ extractor: extractorId });
|
|
124
|
-
};
|
|
125
|
-
/**
|
|
126
|
-
* delete extracted data from a specific block for specified extractor
|
|
127
|
-
* if a box is spend in this block mark it as unspent
|
|
128
|
-
* if a box is created in this block remove it from database
|
|
129
|
-
* @param block
|
|
130
|
-
* @param extractor
|
|
131
|
-
*/
|
|
132
|
-
deleteBlockBoxes = async (block, extractor) => {
|
|
133
|
-
this.logger.info(`Deleting event triggers at block ${block} and extractor ${extractor}`);
|
|
134
|
-
await this.repository.delete({
|
|
135
|
-
block: block,
|
|
136
|
-
extractor: extractor,
|
|
137
|
-
});
|
|
138
|
-
await this.repository.update({ spendBlock: block, extractor: extractor }, {
|
|
139
|
-
spendBlock: null,
|
|
140
|
-
spendTxId: null,
|
|
141
|
-
spendHeight: null,
|
|
142
|
-
result: null,
|
|
143
|
-
paymentTxId: null,
|
|
144
|
-
});
|
|
99
|
+
return spentData;
|
|
145
100
|
};
|
|
146
101
|
}
|
|
147
102
|
export default EventTriggerAction;
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRUcmlnZ2VyQWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2FjdGlvbnMvRXZlbnRUcmlnZ2VyQWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxFQUFFLEVBQWMsTUFBTSxTQUFTLENBQUM7QUFDckQsT0FBTyxFQUFrQixXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQ0wsd0NBQXdDLEVBRXhDLGFBQWEsR0FFZCxNQUFNLGtDQUFrQyxDQUFDO0FBRTFDLE9BQU8sa0JBQWtCLE1BQU0sZ0NBQWdDLENBQUM7QUFFaEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWxDLE1BQU0sa0JBQW1CLFNBQVEsd0NBQStEO0lBQ3JGLE1BQU0sQ0FBaUI7SUFDZixVQUFVLENBQWE7SUFDdkIsVUFBVSxDQUFpQztJQUU1RCxZQUFZLFVBQXNCLEVBQUUsTUFBdUI7UUFDekQsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFdBQVcsR0FBRyxLQUFLLEVBQ2pCLGFBQTJDLEVBQzNDLEtBQWdCLEVBQ2hCLFdBQW1CLEVBQ25CLEVBQUU7UUFDRixJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzVDLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxP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a0IsU0FBUyxFQUFFLENBQ3ZFLENBQUM7UUFDRixNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1lBQzNCLEtBQUssRUFBRSxLQUFLO1lBQ1osU0FBUyxFQUFFLFNBQVM7U0FDckIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FDMUIsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsRUFDM0M7WUFDRSxVQUFVLEVBQUUsSUFBSTtZQUNoQixTQUFTLEVBQUUsSUFBSTtZQUNmLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLE1BQU0sRUFBRSxJQUFJO1lBQ1osV0FBVyxFQUFFLElBQUk7U0FDbEIsQ0FDRixDQUFDO0lBQ0osQ0FBQyxDQUFDO0NBQ0g7QUFFRCxlQUFlLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVNvdXJjZSwgSW4sIFJlcG9zaXRvcnkgfSBmcm9tICd0eXBlb3JtJztcbmltcG9ydCB7IEFic3RyYWN0TG9nZ2VyLCBEdW1teUxvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcbmltcG9ydCB7XG4gIEFic3RyYWN0SW5pdGlhbGl6YWJsZUVyZ29FeHRyYWN0b3JBY3Rpb24sXG4gIEJsb2NrSW5mbyxcbiAgREJfQ0hVTktfU0laRSxcbiAgU3BlbmRJbmZvLFxufSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWV4dHJhY3Rvcic7XG5cbmltcG9ydCBFdmVudFRyaWdnZXJFbnRpdHkgZnJvbSAnLi4vZW50aXRpZXMvRXZlbnRUcmlnZ2VyRW50aXR5JztcbmltcG9ydCB7IEV4dHJhY3RlZEV2ZW50VHJpZ2dlciB9IGZyb20gJy4uL2ludGVyZmFjZXMvZXh0cmFjdGVkRXZlbnRUcmlnZ2VyJztcbmltcG9ydCB7IEpzb25CSSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGNodW5rIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuY2xhc3MgRXZlbnRUcmlnZ2VyQWN0aW9uIGV4dGVuZHMgQWJzdHJhY3RJbml0aWFsaXphYmxlRXJnb0V4dHJhY3RvckFjdGlvbjxFeHRyYWN0ZWRFdmVudFRyaWdnZXI+IHtcbiAgcmVhZG9ubHkgbG9nZ2VyOiBBYnN0cmFjdExvZ2dlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBkYXRhU291cmNlOiBEYXRhU291cmNlO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlcG9zaXRvcnk6IFJlcG9zaXRvcnk8RXZlbnRUcmlnZ2VyRW50aXR5PjtcblxuICBjb25zdHJ1Y3RvcihkYXRhU291cmNlOiBEYXRhU291cmNlLCBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlcikge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5kYXRhU291cmNlID0gZGF0YVNvdXJjZTtcbiAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlciA/IGxvZ2dlciA6IG5ldyBEdW1teUxvZ2dlcigpO1xuICAgIHRoaXMucmVwb3NpdG9yeSA9IGRhdGFTb3VyY2UuZ2V0UmVwb3NpdG9yeShFdmVudFRyaWdnZXJFbnRpdHkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGluc2VydCBhbGwgZXh0cmFjdGVkIGV2ZW50VHJpZ2dlcnMgZm9yIGEgYmxvY2sgaW4gYW4gYXRvbWljIGRiIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSBldmVudFRyaWdnZXJzXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKiBAcGFyYW0gZXh0cmFjdG9ySWRcbiAgICovXG4gIGluc2VydEJveGVzID0gYXN5bmMgKFxuICAgIGV2ZW50VHJpZ2dlcnM6IEFycmF5PEV4dHJhY3RlZEV2ZW50VHJpZ2dlcj4sXG4gICAgYmxvY2s6IEJsb2NrSW5mbyxcbiAgICBleHRyYWN0b3JJZDogc3RyaW5nXG4gICkgPT4ge1xuICAgIGlmIChldmVudFRyaWdnZXJzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHRydWU7XG4gICAgY29uc3QgYm94SWRzID0gZXZlbnRUcmlnZ2Vycy5tYXAoKHRyaWdnZXIpID0+IHRyaWdnZXIuYm94SWQpO1xuICAgIGNvbnN0IHNhdmVkVHJpZ2dlcnMgPSBhd2FpdCB0aGlzLnJlcG9zaXRvcnkuZmluZEJ5KHtcbiAgICAgIGJveElkOiBJbihib3hJZHMpLFxuICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3JJZCxcbiAgICB9KTtcbiAgICBsZXQgc3VjY2VzcyA9IHRydWU7XG4gICAgY29uc3QgcXVlcnlSdW5uZXIgPSB0aGlzLmRhdGFTb3VyY2UuY3JlYXRlUXVlcnlSdW5uZXIoKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5jb25uZWN0KCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIuc3RhcnRUcmFuc2FjdGlvbigpO1xuICAgIGNvbnN0IHJlcG9zaXRvcnkgPSBhd2FpdCBxdWVyeVJ1bm5lci5tYW5hZ2VyLmdldFJlcG9zaXRvcnkoXG4gICAgICBFdmVudFRyaWdnZXJFbnRpdHlcbiAgICApO1xuICAgIHRyeSB7XG4gICAgICBmb3IgKGNvbnN0IHRyaWdnZXIgb2YgZXZlbnRUcmlnZ2Vycykge1xuICAgICAgICBjb25zdCBzYXZlZCA9IHNhdmVkVHJpZ2dlcnMuc29tZSgoZW50aXR5KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGVudGl0eS5ib3hJZCA9PT0gdHJpZ2dlci5ib3hJZDtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGVudGl0eSA9IHtcbiAgICAgICAgICB0eElkOiB0cmlnZ2VyLnR4SWQsXG4gICAgICAgICAgZXZlbnRJZDogdHJpZ2dlci5ldmVudElkLFxuICAgICAgICAgIGJveElkOiB0cmlnZ2VyLmJveElkLFxuICAgICAgICAgIGJveFNlcmlhbGl6ZWQ6IHRyaWdnZXIuYm94U2VyaWFsaXplZCxcbiAgICAgICAgICBibG9jazogYmxvY2suaGFzaCxcbiAgICAgICAgICBoZWlnaHQ6IGJsb2NrLmhlaWdodCxcbiAgICAgICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcklkLFxuICAgICAgICAgIFdJRHNDb3VudDogdHJpZ2dlci5XSURzQ291bnQsXG4gICAgICAgICAgV0lEc0hhc2g6IHRyaWdnZXIuV0lEc0hhc2gsXG4gICAgICAgICAgYW1vdW50OiB0cmlnZ2VyLmFtb3VudCxcbiAgICAgICAgICBicmlkZ2VGZWU6IHRyaWdnZXIuYnJpZGdlRmVlLFxuICAgICAgICAgIGZyb21BZGRyZXNzOiB0cmlnZ2VyLmZyb21BZGRyZXNzLFxuICAgICAgICAgIHRvQWRkcmVzczogdHJpZ2dlci50b0FkZHJlc3MsXG4gICAgICAgICAgZnJvbUNoYWluOiB0cmlnZ2VyLmZyb21DaGFpbixcbiAgICAgICAgICBuZXR3b3JrRmVlOiB0cmlnZ2VyLm5ldHdvcmtGZWUsXG4gICAgICAgICAgc291cmNlQ2hhaW5Ub2tlbklkOiB0cmlnZ2VyLnNvdXJjZUNoYWluVG9rZW5JZCxcbiAgICAgICAgICB0YXJnZXRDaGFpblRva2VuSWQ6IHRyaWdnZXIudGFyZ2V0Q2hhaW5Ub2tlbklkLFxuICAgICAgICAgIHNvdXJjZUJsb2NrSWQ6IHRyaWdnZXIuc291cmNlQmxvY2tJZCxcbiAgICAgICAgICB0b0NoYWluOiB0cmlnZ2VyLnRvQ2hhaW4sXG4gICAgICAgICAgc291cmNlVHhJZDogdHJpZ2dlci5zb3VyY2VUeElkLFxuICAgICAgICAgIHNvdXJjZUNoYWluSGVpZ2h0OiB0cmlnZ2VyLnNvdXJjZUNoYWluSGVpZ2h0LFxuICAgICAgICB9O1xuICAgICAgICBpZiAoIXNhdmVkKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhcbiAgICAgICAgICAgIGBTdG9yaW5nIGV2ZW50IHRyaWdnZXIgWyR7dHJpZ2dlci5ib3hJZH1dIGZvciBldmVudCBbJHt0cmlnZ2VyLmV2ZW50SWR9XSBhdCBoZWlnaHQgJHtibG9jay5oZWlnaHR9IGFuZCBleHRyYWN0b3IgJHtleHRyYWN0b3JJZH1gXG4gICAgICAgICAgKTtcbiAgICAgICAgICBhd2FpdCByZXBvc2l0b3J5Lmluc2VydChlbnRpdHkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmluZm8oXG4gICAgICAgICAgICBgVXBkYXRpbmcgZXZlbnQgdHJpZ2dlciAke3RyaWdnZXIuYm94SWR9IGZvciBldmVudCBbJHt0cmlnZ2VyLmV2ZW50SWR9XSBhdCBoZWlnaHQgJHtibG9jay5oZWlnaHR9IGFuZCBleHRyYWN0b3IgJHtleHRyYWN0b3JJZH1gXG4gICAgICAgICAgKTtcbiAgICAgICAgICBhd2FpdCByZXBvc2l0b3J5LnVwZGF0ZSh7IGJveElkOiB0cmlnZ2VyLmJveElkIH0sIGVudGl0eSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYEVudGl0eTogJHtKU09OLnN0cmluZ2lmeShlbnRpdHkpfWApO1xuICAgICAgfVxuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIuY29tbWl0VHJhbnNhY3Rpb24oKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcihcbiAgICAgICAgYEFuIGVycm9yIG9jY3VycmVkIGR1cmluZyBzdG9yZSBldmVudFRyaWdnZXIgYWN0aW9uOiAke2V9YFxuICAgICAgKTtcbiAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnJvbGxiYWNrVHJhbnNhY3Rpb24oKTtcbiAgICAgIHN1Y2Nlc3MgPSBmYWxzZTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIucmVsZWFzZSgpO1xuICAgIH1cbiAgICByZXR1cm4gc3VjY2VzcztcbiAgfTtcblxuICAvKipcbiAgICogdXBkYXRlIHNwZW5kaW5nIGluZm9ybWF0aW9uIG9mIHN0b3JlZCBldmVudCB0cmlnZ2Vyc1xuICAgKiBhbmQgc2V0IHJlc3VsdCBhbmQgcGF5bWVudFR4SWQgb2YgdGhlIGV2ZW50XG4gICAqIGNodW5rIHNwZW5kSW5mb3MgdG8gcHJldmVudCBsYXJnZSBkYXRhYmFzZSBxdWVyaWVzXG4gICAqIEBwYXJhbSBzcGVuZEluZkFycmF5XG4gICAqIEBwYXJhbSBibG9ja1xuICAgKiBAcGFyYW0gZXh0cmFjdG9ySWRcbiAgICovXG4gIHNwZW5kQm94ZXMgPSBhc3luYyAoXG4gICAgc3BlbmRJbmZvQXJyYXk6IEFycmF5PFNwZW5kSW5mbz4sXG4gICAgYmxvY2s6IEJsb2NrSW5mbyxcbiAgICBleHRyYWN0b3JJZDogc3RyaW5nXG4gICk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGNvbnN0IHNwZW5kSW5mb0NodW5rcyA9IGNodW5rKHNwZW5kSW5mb0FycmF5LCBEQl9DSFVOS19TSVpFKTtcbiAgICBmb3IgKGNvbnN0IHNwZW5kSW5mb0NodW5rIG9mIHNwZW5kSW5mb0NodW5rcykge1xuICAgICAgY29uc3Qgc3BlbnRUcmlnZ2VycyA9IGF3YWl0IHRoaXMucmVwb3NpdG9yeS5maW5kQnkoe1xuICAgICAgICBib3hJZDogSW4oc3BlbmRJbmZvQ2h1bmsubWFwKChzcGVuZEluZm8pID0+IHNwZW5kSW5mby5ib3hJZCkpLFxuICAgICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcklkLFxuICAgICAgfSk7XG4gICAgICBmb3IgKGNvbnN0IHNwZW50VHJpZ2dlciBvZiBzcGVudFRyaWdnZXJzKSB7XG4gICAgICAgIGNvbnN0IHNwZW5kSW5mbyA9IHNwZW5kSW5mb0NodW5rLmZpbmQoXG4gICAgICAgICAgKGluZm8pID0+IGluZm8uYm94SWQgPT09IHNwZW50VHJpZ2dlci5ib3hJZFxuICAgICAgICApO1xuICAgICAgICBpZiAoIXNwZW5kSW5mbyB8fCAhc3BlbmRJbmZvLmV4dHJhcyB8fCBzcGVuZEluZm8uZXh0cmFzLmxlbmd0aCA8IDIpIHtcbiAgICAgICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgICAgIGBJbXBvc3NpYmxlIGNhc2U6IHNwZW5kaW5nIGluZm9ybWF0aW9uIGV4dHJhcyBkb2VzIG5vdCBjb250YWluIHJlc3VsdCBvciBwYXltZW50VHhJZCwgJHtzcGVuZEluZm99YFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgdGhpcy5yZXBvc2l0b3J5LnVwZGF0ZShcbiAgICAgICAgICB7IGJveElkOiBzcGVuZEluZm8uYm94SWQsIGV4dHJhY3RvcjogZXh0cmFjdG9ySWQgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBzcGVuZEJsb2NrOiBibG9jay5oYXNoLFxuICAgICAgICAgICAgc3BlbmRIZWlnaHQ6IGJsb2NrLmhlaWdodCxcbiAgICAgICAgICAgIHNwZW5kVHhJZDogc3BlbmRJbmZvLnR4SWQsXG4gICAgICAgICAgICByZXN1bHQ6IHNwZW5kSW5mby5leHRyYXNbMF0sXG4gICAgICAgICAgICBwYXltZW50VHhJZDogc3BlbmRJbmZvLmV4dHJhc1sxXSxcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmluZm8oXG4gICAgICAgICAgYFNwZW50IHRyaWdnZXIgWyR7c3BlbnRUcmlnZ2VyLmJveElkfV0gb2YgZXZlbnQgWyR7c3BlbnRUcmlnZ2VyLmV2ZW50SWR9XSBhdCBoZWlnaHQgJHtibG9jay5oZWlnaHR9YFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICBgU3BlbnQgdHJpZ2dlcjogWyR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICBzcGVudFRyaWdnZXJcbiAgICAgICAgICApfV0gd2l0aCBzcGVuZGluZyBpbmZvcm1hdGlvbiBbJHtKc29uQkkuc3RyaW5naWZ5KHNwZW5kSW5mbyl9XWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIHJlbW92ZSBhbGwgZXhpc3RpbmcgZGF0YSBmb3IgdGhlIGV4dHJhY3RvclxuICAgKiBAcGFyYW0gZXh0cmFjdG9ySWRcbiAgICovXG4gIHJlbW92ZUFsbERhdGEgPSBhc3luYyAoZXh0cmFjdG9ySWQ6IHN0cmluZykgPT4ge1xuICAgIGF3YWl0IHRoaXMucmVwb3NpdG9yeS5kZWxldGUoeyBleHRyYWN0b3I6IGV4dHJhY3RvcklkIH0pO1xuICB9O1xuXG4gIC8qKlxuICAgKiBkZWxldGUgZXh0cmFjdGVkIGRhdGEgZnJvbSBhIHNwZWNpZmljIGJsb2NrIGZvciBzcGVjaWZpZWQgZXh0cmFjdG9yXG4gICAqIGlmIGEgYm94IGlzIHNwZW5kIGluIHRoaXMgYmxvY2sgbWFyayBpdCBhcyB1bnNwZW50XG4gICAqIGlmIGEgYm94IGlzIGNyZWF0ZWQgaW4gdGhpcyBibG9jayByZW1vdmUgaXQgZnJvbSBkYXRhYmFzZVxuICAgKiBAcGFyYW0gYmxvY2tcbiAgICogQHBhcmFtIGV4dHJhY3RvclxuICAgKi9cbiAgZGVsZXRlQmxvY2tCb3hlcyA9IGFzeW5jIChibG9jazogc3RyaW5nLCBleHRyYWN0b3I6IHN0cmluZykgPT4ge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oXG4gICAgICBgRGVsZXRpbmcgZXZlbnQgdHJpZ2dlcnMgYXQgYmxvY2sgJHtibG9ja30gYW5kIGV4dHJhY3RvciAke2V4dHJhY3Rvcn1gXG4gICAgKTtcbiAgICBhd2FpdCB0aGlzLnJlcG9zaXRvcnkuZGVsZXRlKHtcbiAgICAgIGJsb2NrOiBibG9jayxcbiAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgIH0pO1xuICAgIGF3YWl0IHRoaXMucmVwb3NpdG9yeS51cGRhdGUoXG4gICAgICB7IHNwZW5kQmxvY2s6IGJsb2NrLCBleHRyYWN0b3I6IGV4dHJhY3RvciB9LFxuICAgICAge1xuICAgICAgICBzcGVuZEJsb2NrOiBudWxsLFxuICAgICAgICBzcGVuZFR4SWQ6IG51bGwsXG4gICAgICAgIHNwZW5kSGVpZ2h0OiBudWxsLFxuICAgICAgICByZXN1bHQ6IG51bGwsXG4gICAgICAgIHBheW1lbnRUeElkOiBudWxsLFxuICAgICAgfVxuICAgICk7XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IEV2ZW50VHJpZ2dlckFjdGlvbjtcbiJdfQ==
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRUcmlnZ2VyQWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2FjdGlvbnMvRXZlbnRUcmlnZ2VyQWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFekMsT0FBTyxFQUNMLHdDQUF3QyxFQUd4QyxhQUFhLEdBRWQsTUFBTSxrQ0FBa0MsQ0FBQztBQUUxQyxPQUFPLGtCQUFrQixNQUFNLGdDQUFnQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFeEMsTUFBTSxrQkFBbUIsU0FBUSx3Q0FHaEM7SUFDa0IsVUFBVSxDQUFhO0lBRXhDLFlBQVksVUFBc0IsRUFBRSxNQUF1QjtRQUN6RCxLQUFLLENBQUMsVUFBVSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVksR0FBRyxDQUNiLFlBQXFDLEVBQ3JDLEtBQWdCLEVBQ2hCLFNBQWlCLEVBQ2lCLEVBQUU7UUFDcEMsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3BDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1lBQ3BCLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVTtZQUM5QixLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDakIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztZQUM1QixRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVE7WUFDMUIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1lBQ3RCLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztZQUM1QixXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7WUFDaEMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO1lBQzVCLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztZQUM1QixVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7WUFDOUIsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLGtCQUFrQjtZQUM5QyxrQkFBa0IsRUFBRSxPQUFPLENBQUMsa0JBQWtCO1lBQzlDLGFBQWEsRUFBRSxPQUFPLENBQUMsYUFBYTtZQUNwQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO1lBQzlCLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxpQkFBaUI7U0FDN0MsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDLENBQUM7SUFFRjs7T0FFRztJQUNILG1CQUFtQixHQUFHLENBQ3BCLFFBQThCLEVBQ0wsRUFBRTtRQUMzQixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUMzQixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsU0FBUztZQUNULE1BQU07WUFDTixPQUFPO1lBQ1AsWUFBWTtZQUNaLFdBQVc7WUFDWCxTQUFTO1lBQ1QsYUFBYTtZQUNiLFdBQVc7WUFDWCxRQUFRO1lBQ1IsV0FBVztZQUNYLFlBQVk7WUFDWixvQkFBb0I7WUFDcEIsb0JBQW9CO1lBQ3BCLGVBQWU7WUFDZixZQUFZO1lBQ1osV0FBVztZQUNYLFVBQVU7WUFDVixtQkFBbUI7U0FDcEIsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDLENBQUM7SUFFRjs7Ozs7Ozs7T0FRRztJQUNILFVBQVUsR0FBRyxLQUFLLEVBQ2hCLGNBQWdDLEVBQ2hDLEtBQWdCLEVBQ2hCLFdBQW1CLEVBQ0MsRUFBRTtRQUN0QixNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDckIsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLGNBQWMsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUM3RCxLQUFLLE1BQU0sY0FBYyxJQUFJLGVBQWUsRUFBRTtZQUM1QyxNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO2dCQUNqRCxLQUFLLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDN0QsU0FBUyxFQUFFLFdBQVc7YUFDdkIsQ0FBQyxDQUFDO1lBQ0gsS0FBSyxNQUFNLFlBQVksSUFBSSxhQUFhLEVBQUU7Z0JBQ3hDLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQ25DLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLFlBQVksQ0FBQyxLQUFLLENBQzVDLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUNsRSxNQUFNLEtBQUssQ0FDVCx3RkFBd0YsU0FBUyxFQUFFLENBQ3BHLENBQUM7aUJBQ0g7Z0JBQ0QsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FDMUIsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQ2xEO29CQUNFLFVBQVUsRUFBRSxLQUFLLENBQUMsSUFBSTtvQkFDdEIsV0FBVyxFQUFFLEtBQUssQ0FBQyxNQUFNO29CQUN6QixTQUFTLEVBQUUsU0FBUyxDQUFDLElBQUk7b0JBQ3pCLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztvQkFDM0IsV0FBVyxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2lCQUNqQyxDQUNGLENBQUM7Z0JBQ0YsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCxrQkFBa0IsWUFBWSxDQUFDLEtBQUssZUFBZSxZQUFZLENBQUMsT0FBTyxlQUFlLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FDckcsQ0FBQztnQkFDRixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZixtQkFBbUIsSUFBSSxDQUFDLFNBQVMsQ0FDL0IsWUFBWSxDQUNiLGdDQUFnQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQ2hFLENBQUM7YUFDSDtTQUNGO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0NBQ0g7QUFFRCxlQUFlLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVNvdXJjZSwgSW4gfSBmcm9tICd0eXBlb3JtJztcbmltcG9ydCB7IEFic3RyYWN0TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RJbml0aWFsaXphYmxlRXJnb0V4dHJhY3RvckFjdGlvbixcbiAgQmxvY2tJbmZvLFxuICBCb3hJbmZvLFxuICBEQl9DSFVOS19TSVpFLFxuICBTcGVuZEluZm8sXG59IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtZXh0cmFjdG9yJztcblxuaW1wb3J0IEV2ZW50VHJpZ2dlckVudGl0eSBmcm9tICcuLi9lbnRpdGllcy9FdmVudFRyaWdnZXJFbnRpdHknO1xuaW1wb3J0IHsgRXh0cmFjdGVkRXZlbnRUcmlnZ2VyIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9leHRyYWN0ZWRFdmVudFRyaWdnZXInO1xuaW1wb3J0IHsgSnNvbkJJIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgY2h1bmssIHBpY2sgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5jbGFzcyBFdmVudFRyaWdnZXJBY3Rpb24gZXh0ZW5kcyBBYnN0cmFjdEluaXRpYWxpemFibGVFcmdvRXh0cmFjdG9yQWN0aW9uPFxuICBFeHRyYWN0ZWRFdmVudFRyaWdnZXIsXG4gIEV2ZW50VHJpZ2dlckVudGl0eVxuPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0YVNvdXJjZTogRGF0YVNvdXJjZTtcblxuICBjb25zdHJ1Y3RvcihkYXRhU291cmNlOiBEYXRhU291cmNlLCBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlcikge1xuICAgIHN1cGVyKGRhdGFTb3VyY2UsIEV2ZW50VHJpZ2dlckVudGl0eSwgbG9nZ2VyKTtcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBkYXRhU291cmNlO1xuICB9XG5cbiAgLyoqXG4gICAqIGNyZWF0ZSB0aGUgYm94IGVudGl0eSBmcm9tIGV4dHJhY3RlZCBkYXRhIGFuZCBibG9jayBpbmZvcm1hdGlvblxuICAgKi9cbiAgY3JlYXRlRW50aXR5ID0gKFxuICAgIHRyaWdnZXJCb3hlczogRXh0cmFjdGVkRXZlbnRUcmlnZ2VyW10sXG4gICAgYmxvY2s6IEJsb2NrSW5mbyxcbiAgICBleHRyYWN0b3I6IHN0cmluZ1xuICApOiBPbWl0PEV2ZW50VHJpZ2dlckVudGl0eSwgJ2lkJz5bXSA9PiB7XG4gICAgcmV0dXJuIHRyaWdnZXJCb3hlcy5tYXAoKHRyaWdnZXIpID0+ICh7XG4gICAgICB0eElkOiB0cmlnZ2VyLnR4SWQsXG4gICAgICBldmVudElkOiB0cmlnZ2VyLmV2ZW50SWQsXG4gICAgICBib3hJZDogdHJpZ2dlci5ib3hJZCxcbiAgICAgIHNlcmlhbGl6ZWQ6IHRyaWdnZXIuc2VyaWFsaXplZCxcbiAgICAgIGJsb2NrOiBibG9jay5oYXNoLFxuICAgICAgaGVpZ2h0OiBibG9jay5oZWlnaHQsXG4gICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICAgIFdJRHNDb3VudDogdHJpZ2dlci5XSURzQ291bnQsXG4gICAgICBXSURzSGFzaDogdHJpZ2dlci5XSURzSGFzaCxcbiAgICAgIGFtb3VudDogdHJpZ2dlci5hbW91bnQsXG4gICAgICBicmlkZ2VGZWU6IHRyaWdnZXIuYnJpZGdlRmVlLFxuICAgICAgZnJvbUFkZHJlc3M6IHRyaWdnZXIuZnJvbUFkZHJlc3MsXG4gICAgICB0b0FkZHJlc3M6IHRyaWdnZXIudG9BZGRyZXNzLFxuICAgICAgZnJvbUNoYWluOiB0cmlnZ2VyLmZyb21DaGFpbixcbiAgICAgIG5ldHdvcmtGZWU6IHRyaWdnZXIubmV0d29ya0ZlZSxcbiAgICAgIHNvdXJjZUNoYWluVG9rZW5JZDogdHJpZ2dlci5zb3VyY2VDaGFpblRva2VuSWQsXG4gICAgICB0YXJnZXRDaGFpblRva2VuSWQ6IHRyaWdnZXIudGFyZ2V0Q2hhaW5Ub2tlbklkLFxuICAgICAgc291cmNlQmxvY2tJZDogdHJpZ2dlci5zb3VyY2VCbG9ja0lkLFxuICAgICAgdG9DaGFpbjogdHJpZ2dlci50b0NoYWluLFxuICAgICAgc291cmNlVHhJZDogdHJpZ2dlci5zb3VyY2VUeElkLFxuICAgICAgc291cmNlQ2hhaW5IZWlnaHQ6IHRyaWdnZXIuc291cmNlQ2hhaW5IZWlnaHQsXG4gICAgfSkpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBjb252ZXJ0IHRoZSBkYXRhYmFzZSBlbnRpdHkgYmFjayB0byByYXcgZGF0YVxuICAgKi9cbiAgY29udmVydEVudGl0eVRvRGF0YSA9IChcbiAgICBlbnRpdGllczogRXZlbnRUcmlnZ2VyRW50aXR5W11cbiAgKTogRXh0cmFjdGVkRXZlbnRUcmlnZ2VyW10gPT4ge1xuICAgIHJldHVybiBlbnRpdGllcy5tYXAoKGRhdGEpID0+XG4gICAgICBwaWNrKGRhdGEsIFtcbiAgICAgICAgJ2V2ZW50SWQnLFxuICAgICAgICAndHhJZCcsXG4gICAgICAgICdib3hJZCcsXG4gICAgICAgICdzZXJpYWxpemVkJyxcbiAgICAgICAgJ2Zyb21DaGFpbicsXG4gICAgICAgICd0b0NoYWluJyxcbiAgICAgICAgJ2Zyb21BZGRyZXNzJyxcbiAgICAgICAgJ3RvQWRkcmVzcycsXG4gICAgICAgICdhbW91bnQnLFxuICAgICAgICAnYnJpZGdlRmVlJyxcbiAgICAgICAgJ25ldHdvcmtGZWUnLFxuICAgICAgICAnc291cmNlQ2hhaW5Ub2tlbklkJyxcbiAgICAgICAgJ3RhcmdldENoYWluVG9rZW5JZCcsXG4gICAgICAgICdzb3VyY2VCbG9ja0lkJyxcbiAgICAgICAgJ3NvdXJjZVR4SWQnLFxuICAgICAgICAnV0lEc0NvdW50JyxcbiAgICAgICAgJ1dJRHNIYXNoJyxcbiAgICAgICAgJ3NvdXJjZUNoYWluSGVpZ2h0JyxcbiAgICAgIF0pXG4gICAgKTtcbiAgfTtcblxuICAvKipcbiAgICogdXBkYXRlIHNwZW5kaW5nIGluZm9ybWF0aW9uIG9mIHN0b3JlZCBldmVudCB0cmlnZ2Vyc1xuICAgKiBhbmQgc2V0IHJlc3VsdCBhbmQgcGF5bWVudFR4SWQgb2YgdGhlIGV2ZW50XG4gICAqIGNodW5rIHNwZW5kSW5mb3MgdG8gcHJldmVudCBsYXJnZSBkYXRhYmFzZSBxdWVyaWVzXG4gICAqIEBwYXJhbSBzcGVuZEluZkFycmF5XG4gICAqIEBwYXJhbSBibG9ja1xuICAgKiBAcGFyYW0gZXh0cmFjdG9ySWRcbiAgICogQHJldHVybnMgc3BlbnQgYm94IGlkc1xuICAgKi9cbiAgc3BlbmRCb3hlcyA9IGFzeW5jIChcbiAgICBzcGVuZEluZm9BcnJheTogQXJyYXk8U3BlbmRJbmZvPixcbiAgICBibG9jazogQmxvY2tJbmZvLFxuICAgIGV4dHJhY3RvcklkOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxCb3hJbmZvW10+ID0+IHtcbiAgICBjb25zdCBzcGVudERhdGEgPSBbXTtcbiAgICBjb25zdCBzcGVuZEluZm9DaHVua3MgPSBjaHVuayhzcGVuZEluZm9BcnJheSwgREJfQ0hVTktfU0laRSk7XG4gICAgZm9yIChjb25zdCBzcGVuZEluZm9DaHVuayBvZiBzcGVuZEluZm9DaHVua3MpIHtcbiAgICAgIGNvbnN0IHNwZW50VHJpZ2dlcnMgPSBhd2FpdCB0aGlzLnJlcG9zaXRvcnkuZmluZEJ5KHtcbiAgICAgICAgYm94SWQ6IEluKHNwZW5kSW5mb0NodW5rLm1hcCgoc3BlbmRJbmZvKSA9PiBzcGVuZEluZm8uYm94SWQpKSxcbiAgICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3JJZCxcbiAgICAgIH0pO1xuICAgICAgZm9yIChjb25zdCBzcGVudFRyaWdnZXIgb2Ygc3BlbnRUcmlnZ2Vycykge1xuICAgICAgICBjb25zdCBzcGVuZEluZm8gPSBzcGVuZEluZm9DaHVuay5maW5kKFxuICAgICAgICAgIChpbmZvKSA9PiBpbmZvLmJveElkID09PSBzcGVudFRyaWdnZXIuYm94SWRcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKCFzcGVuZEluZm8gfHwgIXNwZW5kSW5mby5leHRyYXMgfHwgc3BlbmRJbmZvLmV4dHJhcy5sZW5ndGggPCAyKSB7XG4gICAgICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICAgICBgSW1wb3NzaWJsZSBjYXNlOiBzcGVuZGluZyBpbmZvcm1hdGlvbiBleHRyYXMgZG9lcyBub3QgY29udGFpbiByZXN1bHQgb3IgcGF5bWVudFR4SWQsICR7c3BlbmRJbmZvfWBcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGF3YWl0IHRoaXMucmVwb3NpdG9yeS51cGRhdGUoXG4gICAgICAgICAgeyBib3hJZDogc3BlbmRJbmZvLmJveElkLCBleHRyYWN0b3I6IGV4dHJhY3RvcklkIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3BlbmRCbG9jazogYmxvY2suaGFzaCxcbiAgICAgICAgICAgIHNwZW5kSGVpZ2h0OiBibG9jay5oZWlnaHQsXG4gICAgICAgICAgICBzcGVuZFR4SWQ6IHNwZW5kSW5mby50eElkLFxuICAgICAgICAgICAgcmVzdWx0OiBzcGVuZEluZm8uZXh0cmFzWzBdLFxuICAgICAgICAgICAgcGF5bWVudFR4SWQ6IHNwZW5kSW5mby5leHRyYXNbMV0sXG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgICBzcGVudERhdGEucHVzaChwaWNrKHNwZW5kSW5mbywgWydib3hJZCddKSk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmluZm8oXG4gICAgICAgICAgYFNwZW50IHRyaWdnZXIgWyR7c3BlbnRUcmlnZ2VyLmJveElkfV0gb2YgZXZlbnQgWyR7c3BlbnRUcmlnZ2VyLmV2ZW50SWR9XSBhdCBoZWlnaHQgJHtibG9jay5oZWlnaHR9YFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICBgU3BlbnQgdHJpZ2dlcjogWyR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICBzcGVudFRyaWdnZXJcbiAgICAgICAgICApfV0gd2l0aCBzcGVuZGluZyBpbmZvcm1hdGlvbiBbJHtKc29uQkkuc3RyaW5naWZ5KHNwZW5kSW5mbyl9XWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHNwZW50RGF0YTtcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRXZlbnRUcmlnZ2VyQWN0aW9uO1xuIl19
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { AbstractErgoExtractorEntity } from '@rosen-bridge/abstract-extractor';
|
|
2
|
+
declare class EventTriggerEntity extends AbstractErgoExtractorEntity {
|
|
3
3
|
eventId: string;
|
|
4
4
|
txId: string;
|
|
5
|
-
extractor: string;
|
|
6
|
-
boxId: string;
|
|
7
|
-
boxSerialized: string;
|
|
8
|
-
block: string;
|
|
9
|
-
height: number;
|
|
10
5
|
fromChain: string;
|
|
11
6
|
toChain: string;
|
|
12
7
|
fromAddress: string;
|
|
@@ -21,8 +16,6 @@ declare class EventTriggerEntity {
|
|
|
21
16
|
sourceBlockId: string;
|
|
22
17
|
WIDsCount: number;
|
|
23
18
|
WIDsHash: string;
|
|
24
|
-
spendBlock?: string | null;
|
|
25
|
-
spendHeight?: number | null;
|
|
26
19
|
spendTxId?: string | null;
|
|
27
20
|
result?: string | null;
|
|
28
21
|
paymentTxId?: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventTriggerEntity.d.ts","sourceRoot":"","sources":["../../lib/entities/EventTriggerEntity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EventTriggerEntity.d.ts","sourceRoot":"","sources":["../../lib/entities/EventTriggerEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAG/E,cACM,kBAAmB,SAAQ,2BAA2B;IAE1D,OAAO,EAAE,MAAM,CAAC;IAGhB,IAAI,EAAE,MAAM,CAAC;IAGb,SAAS,EAAE,MAAM,CAAC;IAGlB,OAAO,EAAE,MAAM,CAAC;IAGhB,WAAW,EAAE,MAAM,CAAC;IAGpB,SAAS,EAAE,MAAM,CAAC;IAGlB,MAAM,EAAE,MAAM,CAAC;IAGf,SAAS,EAAE,MAAM,CAAC;IAGlB,UAAU,EAAE,MAAM,CAAC;IAGnB,kBAAkB,EAAE,MAAM,CAAC;IAG3B,iBAAiB,EAAE,MAAM,CAAC;IAG1B,kBAAkB,EAAE,MAAM,CAAC;IAG3B,UAAU,EAAE,MAAM,CAAC;IAGnB,aAAa,EAAE,MAAM,CAAC;IAGtB,SAAS,EAAE,MAAM,CAAC;IAGlB,QAAQ,EAAE,MAAM,CAAC;IAGjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAG1B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -7,16 +7,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
import { AbstractErgoExtractorEntity } from '@rosen-bridge/abstract-extractor';
|
|
11
|
+
import { Column, Entity } from 'typeorm';
|
|
12
|
+
let EventTriggerEntity = class EventTriggerEntity extends AbstractErgoExtractorEntity {
|
|
13
13
|
eventId;
|
|
14
14
|
txId;
|
|
15
|
-
extractor;
|
|
16
|
-
boxId;
|
|
17
|
-
boxSerialized;
|
|
18
|
-
block;
|
|
19
|
-
height;
|
|
20
15
|
fromChain;
|
|
21
16
|
toChain;
|
|
22
17
|
fromAddress;
|
|
@@ -31,16 +26,10 @@ let EventTriggerEntity = class EventTriggerEntity {
|
|
|
31
26
|
sourceBlockId;
|
|
32
27
|
WIDsCount;
|
|
33
28
|
WIDsHash;
|
|
34
|
-
spendBlock;
|
|
35
|
-
spendHeight;
|
|
36
29
|
spendTxId;
|
|
37
30
|
result;
|
|
38
31
|
paymentTxId;
|
|
39
32
|
};
|
|
40
|
-
__decorate([
|
|
41
|
-
PrimaryGeneratedColumn(),
|
|
42
|
-
__metadata("design:type", Number)
|
|
43
|
-
], EventTriggerEntity.prototype, "id", void 0);
|
|
44
33
|
__decorate([
|
|
45
34
|
Column({ default: 'Not-set' }),
|
|
46
35
|
__metadata("design:type", String)
|
|
@@ -49,26 +38,6 @@ __decorate([
|
|
|
49
38
|
Column(),
|
|
50
39
|
__metadata("design:type", String)
|
|
51
40
|
], EventTriggerEntity.prototype, "txId", void 0);
|
|
52
|
-
__decorate([
|
|
53
|
-
Column(),
|
|
54
|
-
__metadata("design:type", String)
|
|
55
|
-
], EventTriggerEntity.prototype, "extractor", void 0);
|
|
56
|
-
__decorate([
|
|
57
|
-
Column(),
|
|
58
|
-
__metadata("design:type", String)
|
|
59
|
-
], EventTriggerEntity.prototype, "boxId", void 0);
|
|
60
|
-
__decorate([
|
|
61
|
-
Column(),
|
|
62
|
-
__metadata("design:type", String)
|
|
63
|
-
], EventTriggerEntity.prototype, "boxSerialized", void 0);
|
|
64
|
-
__decorate([
|
|
65
|
-
Column(),
|
|
66
|
-
__metadata("design:type", String)
|
|
67
|
-
], EventTriggerEntity.prototype, "block", void 0);
|
|
68
|
-
__decorate([
|
|
69
|
-
Column(),
|
|
70
|
-
__metadata("design:type", Number)
|
|
71
|
-
], EventTriggerEntity.prototype, "height", void 0);
|
|
72
41
|
__decorate([
|
|
73
42
|
Column(),
|
|
74
43
|
__metadata("design:type", String)
|
|
@@ -125,14 +94,6 @@ __decorate([
|
|
|
125
94
|
Column(),
|
|
126
95
|
__metadata("design:type", String)
|
|
127
96
|
], EventTriggerEntity.prototype, "WIDsHash", void 0);
|
|
128
|
-
__decorate([
|
|
129
|
-
Column({ nullable: true, type: 'text' }),
|
|
130
|
-
__metadata("design:type", Object)
|
|
131
|
-
], EventTriggerEntity.prototype, "spendBlock", void 0);
|
|
132
|
-
__decorate([
|
|
133
|
-
Column({ nullable: true, type: 'int' }),
|
|
134
|
-
__metadata("design:type", Object)
|
|
135
|
-
], EventTriggerEntity.prototype, "spendHeight", void 0);
|
|
136
97
|
__decorate([
|
|
137
98
|
Column({ nullable: true, type: 'text' }),
|
|
138
99
|
__metadata("design:type", Object)
|
|
@@ -146,8 +107,7 @@ __decorate([
|
|
|
146
107
|
__metadata("design:type", Object)
|
|
147
108
|
], EventTriggerEntity.prototype, "paymentTxId", void 0);
|
|
148
109
|
EventTriggerEntity = __decorate([
|
|
149
|
-
Entity('event_trigger_entity')
|
|
150
|
-
Unique(['boxId', 'extractor'])
|
|
110
|
+
Entity('event_trigger_entity')
|
|
151
111
|
], EventTriggerEntity);
|
|
152
112
|
export default EventTriggerEntity;
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRUcmlnZ2VyRW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2VudGl0aWVzL0V2ZW50VHJpZ2dlckVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUd6QyxJQUFNLGtCQUFrQixHQUF4QixNQUFNLGtCQUFtQixTQUFRLDJCQUEyQjtJQUUxRCxPQUFPLENBQVM7SUFHaEIsSUFBSSxDQUFTO0lBR2IsU0FBUyxDQUFTO0lBR2xCLE9BQU8sQ0FBUztJQUdoQixXQUFXLENBQVM7SUFHcEIsU0FBUyxDQUFTO0lBR2xCLE1BQU0sQ0FBUztJQUdmLFNBQVMsQ0FBUztJQUdsQixVQUFVLENBQVM7SUFHbkIsa0JBQWtCLENBQVM7SUFHM0IsaUJBQWlCLENBQVM7SUFHMUIsa0JBQWtCLENBQVM7SUFHM0IsVUFBVSxDQUFTO0lBR25CLGFBQWEsQ0FBUztJQUd0QixTQUFTLENBQVM7SUFHbEIsUUFBUSxDQUFTO0lBR2pCLFNBQVMsQ0FBaUI7SUFHMUIsTUFBTSxDQUFpQjtJQUd2QixXQUFXLENBQWlCO0NBQzdCLENBQUE7QUF4REM7SUFBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUM7O21EQUNmO0FBRWhCO0lBQUMsTUFBTSxFQUFFOztnREFDSTtBQUViO0lBQUMsTUFBTSxFQUFFOztxREFDUztBQUVsQjtJQUFDLE1BQU0sRUFBRTs7bURBQ087QUFFaEI7SUFBQyxNQUFNLEVBQUU7O3VEQUNXO0FBRXBCO0lBQUMsTUFBTSxFQUFFOztxREFDUztBQUVsQjtJQUFDLE1BQU0sRUFBRTs7a0RBQ007QUFFZjtJQUFDLE1BQU0sRUFBRTs7cURBQ1M7QUFFbEI7SUFBQyxNQUFNLEVBQUU7O3NEQUNVO0FBRW5CO0lBQUMsTUFBTSxFQUFFOzs4REFDa0I7QUFFM0I7SUFBQyxNQUFNLEVBQUU7OzZEQUNpQjtBQUUxQjtJQUFDLE1BQU0sRUFBRTs7OERBQ2tCO0FBRTNCO0lBQUMsTUFBTSxFQUFFOztzREFDVTtBQUVuQjtJQUFDLE1BQU0sRUFBRTs7eURBQ2E7QUFFdEI7SUFBQyxNQUFNLEVBQUU7O3FEQUNTO0FBRWxCO0lBQUMsTUFBTSxFQUFFOztvREFDUTtBQUVqQjtJQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDOztxREFDZjtBQUUxQjtJQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDOztrREFDbEI7QUFFdkI7SUFBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzs7dURBQ2I7QUF4RHhCLGtCQUFrQjtJQUR2QixNQUFNLENBQUMsc0JBQXNCLENBQUM7R0FDekIsa0JBQWtCLENBeUR2QjtBQUVELGVBQWUsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdEVyZ29FeHRyYWN0b3JFbnRpdHkgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWV4dHJhY3Rvcic7XG5pbXBvcnQgeyBDb2x1bW4sIEVudGl0eSB9IGZyb20gJ3R5cGVvcm0nO1xuXG5ARW50aXR5KCdldmVudF90cmlnZ2VyX2VudGl0eScpXG5jbGFzcyBFdmVudFRyaWdnZXJFbnRpdHkgZXh0ZW5kcyBBYnN0cmFjdEVyZ29FeHRyYWN0b3JFbnRpdHkge1xuICBAQ29sdW1uKHsgZGVmYXVsdDogJ05vdC1zZXQnIH0pXG4gIGV2ZW50SWQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgdHhJZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBmcm9tQ2hhaW46IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgdG9DaGFpbjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBmcm9tQWRkcmVzczogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICB0b0FkZHJlc3M6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgYW1vdW50OiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIGJyaWRnZUZlZTogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBuZXR3b3JrRmVlOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIHNvdXJjZUNoYWluVG9rZW5JZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBzb3VyY2VDaGFpbkhlaWdodDogbnVtYmVyO1xuXG4gIEBDb2x1bW4oKVxuICB0YXJnZXRDaGFpblRva2VuSWQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgc291cmNlVHhJZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBzb3VyY2VCbG9ja0lkOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIFdJRHNDb3VudDogbnVtYmVyO1xuXG4gIEBDb2x1bW4oKVxuICBXSURzSGFzaDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBudWxsYWJsZTogdHJ1ZSwgdHlwZTogJ3RleHQnIH0pXG4gIHNwZW5kVHhJZD86IHN0cmluZyB8IG51bGw7XG5cbiAgQENvbHVtbih7IG51bGxhYmxlOiB0cnVlLCB0eXBlOiAndGV4dCcgfSlcbiAgcmVzdWx0Pzogc3RyaW5nIHwgbnVsbDtcblxuICBAQ29sdW1uKHsgbnVsbGFibGU6IHRydWUsIHR5cGU6ICd0ZXh0JyB9KVxuICBwYXltZW50VHhJZD86IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEV2ZW50VHJpZ2dlckVudGl0eTtcbiJdfQ==
|
|
@@ -5,14 +5,15 @@ import { AbstractInitializableErgoExtractor, BlockInfo, ErgoNetworkType, OutputB
|
|
|
5
5
|
import EventTriggerAction from '../actions/EventTriggerAction';
|
|
6
6
|
import { ExtractedEventTrigger } from '../interfaces/extractedEventTrigger';
|
|
7
7
|
import { EventResult } from '../types';
|
|
8
|
-
|
|
8
|
+
import EventTriggerEntity from '../entities/EventTriggerEntity';
|
|
9
|
+
declare class EventTriggerExtractor extends AbstractInitializableErgoExtractor<ExtractedEventTrigger, EventTriggerEntity> {
|
|
9
10
|
id: string;
|
|
10
11
|
protected readonly actions: EventTriggerAction;
|
|
11
12
|
private readonly eventTriggerErgoTree;
|
|
12
13
|
private readonly permitErgoTree;
|
|
13
14
|
private readonly fraudErgoTree;
|
|
14
15
|
private readonly RWT;
|
|
15
|
-
constructor(id: string, dataSource: DataSource, type: ErgoNetworkType, url: string, address: string, RWT: string, permitAddress: string, fraudAddress: string, logger?: AbstractLogger);
|
|
16
|
+
constructor(id: string, dataSource: DataSource, type: ErgoNetworkType, url: string, address: string, RWT: string, permitAddress: string, fraudAddress: string, logger?: AbstractLogger, initialize?: boolean);
|
|
16
17
|
/**
|
|
17
18
|
* get Id for current extractor
|
|
18
19
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventTriggerExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractor/EventTriggerExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EACL,kCAAkC,EAClC,SAAS,
|
|
1
|
+
{"version":3,"file":"EventTriggerExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractor/EventTriggerExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EACL,kCAAkC,EAClC,SAAS,EAET,eAAe,EACf,SAAS,EAEV,MAAM,kCAAkC,CAAC;AAE1C,OAAO,kBAAkB,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,kBAAkB,MAAM,gCAAgC,CAAC;AAEhE,cAAM,qBAAsB,SAAQ,kCAAkC,CACpE,qBAAqB,EACrB,kBAAkB,CACnB;IACC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IAC/C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAG3B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,cAAc,EACvB,UAAU,UAAO;IAiBnB;;OAEG;IACH,KAAK,eAAiB;IAEtB;;;;;;;;;OASG;IACH,OAAO,QAAS,SAAS,KAAG,OAAO,CA2BjC;IAEF;;;;OAIG;IACH,cAAc,QACP,SAAS,KACb,KAAK,qBAAqB,EAAE,YAAY,GAAG,aAAa,CAAC,GAAG,SAAS,CAwDtE;IAEF;;;;;OAKG;IACH,mBAAmB,QACZ,MAAM,WAAW,CAAC,SAChB,SAAS,KACf,QAAQ,OAAO,CAAC,CAuDjB;IAEF;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,gBAAiB,WAAW;;;MA0CtD;CACH;AAED,eAAe,qBAAqB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as wasm from 'ergo-lib-wasm-nodejs';
|
|
2
2
|
import { blake2b } from 'blakejs';
|
|
3
|
-
import { AbstractInitializableErgoExtractor, } from '@rosen-bridge/abstract-extractor';
|
|
3
|
+
import { AbstractInitializableErgoExtractor, CallbackType, } from '@rosen-bridge/abstract-extractor';
|
|
4
4
|
import EventTriggerAction from '../actions/EventTriggerAction';
|
|
5
5
|
import { JsonBI } from '../utils';
|
|
6
6
|
import { EventResult } from '../types';
|
|
@@ -11,8 +11,8 @@ class EventTriggerExtractor extends AbstractInitializableErgoExtractor {
|
|
|
11
11
|
permitErgoTree;
|
|
12
12
|
fraudErgoTree;
|
|
13
13
|
RWT;
|
|
14
|
-
constructor(id, dataSource, type, url, address, RWT, permitAddress, fraudAddress, logger) {
|
|
15
|
-
super(type, url, address, logger);
|
|
14
|
+
constructor(id, dataSource, type, url, address, RWT, permitAddress, fraudAddress, logger, initialize = true) {
|
|
15
|
+
super(type, url, address, logger, initialize);
|
|
16
16
|
this.id = id;
|
|
17
17
|
this.eventTriggerErgoTree = wasm.Address.from_base58(address)
|
|
18
18
|
.to_ergo_tree()
|
|
@@ -42,18 +42,15 @@ class EventTriggerExtractor extends AbstractInitializableErgoExtractor {
|
|
|
42
42
|
*/
|
|
43
43
|
hasData = (box) => {
|
|
44
44
|
try {
|
|
45
|
-
const parsedBox = wasm.ErgoBox.from_json(JsonBI.stringify(box));
|
|
46
45
|
if (box.additionalRegisters &&
|
|
47
46
|
box.additionalRegisters.R4 &&
|
|
48
47
|
box.additionalRegisters.R5 &&
|
|
49
48
|
box.additionalRegisters.R7 &&
|
|
50
|
-
parsedBox.register_value(wasm.NonMandatoryRegisterId.R4) &&
|
|
51
|
-
parsedBox.register_value(wasm.NonMandatoryRegisterId.R5) &&
|
|
52
|
-
parsedBox.register_value(wasm.NonMandatoryRegisterId.R7) &&
|
|
53
49
|
box.assets &&
|
|
54
50
|
box.assets.length > 0 &&
|
|
55
51
|
box.assets[0].tokenId === this.RWT &&
|
|
56
52
|
box.ergoTree === this.eventTriggerErgoTree) {
|
|
53
|
+
const parsedBox = wasm.ErgoBox.from_json(JsonBI.stringify(box));
|
|
57
54
|
const R4Serialized = parsedBox
|
|
58
55
|
.register_value(wasm.NonMandatoryRegisterId.R4)
|
|
59
56
|
.to_byte_array();
|
|
@@ -93,7 +90,7 @@ class EventTriggerExtractor extends AbstractInitializableErgoExtractor {
|
|
|
93
90
|
eventId: eventId,
|
|
94
91
|
txId: box.transactionId,
|
|
95
92
|
boxId: box.boxId,
|
|
96
|
-
|
|
93
|
+
serialized: Buffer.from(parsedBox.sigma_serialize_bytes()).toString('base64'),
|
|
97
94
|
toChain: Buffer.from(R5Serialized[2]).toString(),
|
|
98
95
|
toAddress: Buffer.from(R5Serialized[4]).toString(),
|
|
99
96
|
networkFee: BigInt('0x' + Buffer.from(R5Serialized[7]).toString('hex')).toString(10),
|
|
@@ -148,9 +145,15 @@ class EventTriggerExtractor extends AbstractInitializableErgoExtractor {
|
|
|
148
145
|
extras: [result, paymentTxId],
|
|
149
146
|
});
|
|
150
147
|
});
|
|
151
|
-
if (boxes.length > 0)
|
|
152
|
-
await this.actions.
|
|
153
|
-
|
|
148
|
+
if (boxes.length > 0) {
|
|
149
|
+
if (!(await this.actions.storeBoxes(boxes, block, this.getId()))) {
|
|
150
|
+
this.logger.warn(`Data insertion failed at height ${block.height} for extractor ${this.id}`);
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
this.triggerCallbacks(CallbackType.Insert, boxes);
|
|
154
|
+
}
|
|
155
|
+
const spentData = await this.actions.spendBoxes(spendInfoArray, block, this.id);
|
|
156
|
+
this.triggerCallbacks(CallbackType.Spend, spentData);
|
|
154
157
|
}
|
|
155
158
|
catch (e) {
|
|
156
159
|
this.logger.error(`Error in storing data in ${this.getId()} of the block ${block}: ${e}`);
|
|
@@ -209,4 +212,4 @@ class EventTriggerExtractor extends AbstractInitializableErgoExtractor {
|
|
|
209
212
|
};
|
|
210
213
|
}
|
|
211
214
|
export default EventTriggerExtractor;
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRUcmlnZ2VyRXh0cmFjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2V4dHJhY3Rvci9FdmVudFRyaWdnZXJFeHRyYWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLElBQUksTUFBTSxzQkFBc0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBR2xDLE9BQU8sRUFDTCxrQ0FBa0MsR0FLbkMsTUFBTSxrQ0FBa0MsQ0FBQztBQUUxQyxPQUFPLGtCQUFrQixNQUFNLCtCQUErQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2QyxNQUFNLHFCQUFzQixTQUFRLGtDQUF5RDtJQUMzRixFQUFFLENBQVM7SUFDUSxPQUFPLENBQXFCO0lBQzlCLG9CQUFvQixDQUFTO0lBQzdCLGNBQWMsQ0FBUztJQUN2QixhQUFhLENBQVM7SUFDdEIsR0FBRyxDQUFTO0lBRTdCLFlBQ0UsRUFBVSxFQUNWLFVBQXNCLEVBQ3RCLElBQXFCLEVBQ3JCLEdBQVcsRUFDWCxPQUFlLEVBQ2YsR0FBVyxFQUNYLGFBQXFCLEVBQ3JCLFlBQW9CLEVBQ3BCLE1BQXVCO1FBRXZCLEtBQUssQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7YUFDMUQsWUFBWSxFQUFFO2FBQ2QsZUFBZSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7YUFDMUQsWUFBWSxFQUFFO2FBQ2QsZUFBZSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUM7YUFDeEQsWUFBWSxFQUFFO2FBQ2QsZUFBZSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksa0JBQWtCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUV0Qjs7Ozs7Ozs7O09BU0c7SUFDSCxPQUFPLEdBQUcsQ0FBQyxHQUFjLEVBQVcsRUFBRTtRQUNwQyxJQUFJO1lBQ0YsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ2hFLElBQ0UsR0FBRyxDQUFDLG1CQUFtQjtnQkFDdkIsR0FBRyxDQUFDLG1CQUFtQixDQUFDLEVBQUU7Z0JBQzFCLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO2dCQUMxQixHQUFHLENBQUMsbUJBQW1CLENBQUMsRUFBRTtnQkFDMUIsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDO2dCQUN4RCxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hELFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztnQkFDeEQsR0FBRyxDQUFDLE1BQU07Z0JBQ1YsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQztnQkFDckIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLEdBQUc7Z0JBQ2xDLEdBQUcsQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLG9CQUFvQixFQUMxQztnQkFDQSxNQUFNLFlBQVksR0FBRyxTQUFTO3FCQUMzQixjQUFjLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBRTtxQkFDL0MsYUFBYSxFQUFFLENBQUM7Z0JBQ25CLE1BQU0sWUFBWSxHQUFHLFNBQVM7cUJBQzNCLGNBQWMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFFO3FCQUMvQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUN2QixJQUFJLFlBQVksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLFlBQVksQ0FBQyxNQUFNLElBQUksRUFBRTtvQkFBRSxPQUFPLElBQUksQ0FBQzthQUN4RTtTQUNGO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCxtRkFBbUYsR0FBRyxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FDckcsQ0FBQztTQUNIO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUM7SUFFRjs7OztPQUlHO0lBQ0gsY0FBYyxHQUFHLENBQ2YsR0FBYyxFQUN5RCxFQUFFO1FBQ3pFLElBQUk7WUFDRixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDaEUsTUFBTSxZQUFZLEdBQUcsU0FBUztpQkFDM0IsY0FBYyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUU7aUJBQy9DLGFBQWEsRUFBRSxDQUFDO1lBQ25CLE1BQU0sWUFBWSxHQUFHLFNBQVM7aUJBQzNCLGNBQWMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFFO2lCQUMvQyxpQkFBaUIsRUFBRSxDQUFDO1lBRXZCLE1BQU0sU0FBUyxHQUFHLFNBQVM7aUJBQ3hCLGNBQWMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFFO2lCQUMvQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDM0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FDdEUsS0FBSyxDQUNOLENBQUM7WUFDRixPQUFPO2dCQUNMLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixJQUFJLEVBQUUsR0FBRyxDQUFDLGFBQWE7Z0JBQ3ZCLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSztnQkFDaEIsYUFBYSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQyxRQUFRLENBQ3BFLFFBQVEsQ0FDVDtnQkFDRCxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7Z0JBQ2hELFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtnQkFDbEQsVUFBVSxFQUFFLE1BQU0sQ0FDaEIsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUNwRCxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQ2QsU0FBUyxFQUFFLE1BQU0sQ0FDZixJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQ3BELENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDZCxNQUFNLEVBQUUsTUFBTSxDQUNaLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FDcEQsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNkLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO2dCQUMzRCxrQkFBa0IsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtnQkFDM0QsVUFBVSxFQUFFLFVBQVU7Z0JBQ3RCLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtnQkFDbEQsV0FBVyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO2dCQUNwRCxhQUFhLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3ZELFNBQVMsRUFBRSxTQUFTO2dCQUNwQixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsaUJBQWlCLEVBQUUsTUFBTSxDQUN2QixNQUFNLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUNuRSxFQUFFLENBQ0gsQ0FDRjthQUNGLENBQUM7U0FDSDtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2QsbUVBQW1FLEdBQUcsQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQ3JGLENBQUM7WUFDRixPQUFPLFNBQVMsQ0FBQztTQUNsQjtJQUNILENBQUMsQ0FBQztJQUVGOzs7OztPQUtHO0lBQ0gsbUJBQW1CLEdBQUcsS0FBSyxFQUN6QixHQUF1QixFQUN2QixLQUFnQixFQUNFLEVBQUU7UUFDcEIsSUFBSTtZQUNGLE1BQU0sS0FBSyxHQUFpQyxFQUFFLENBQUM7WUFDL0MsTUFBTSxjQUFjLEdBQXFCLEVBQUUsQ0FBQztZQUM1QyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7Z0JBQzFCLHVCQUF1QjtnQkFDdkIsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3JFLEtBQUssTUFBTSxNQUFNLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRTtvQkFDeEMsMEJBQTBCO29CQUMxQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7d0JBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLG1DQUFtQyxNQUFNLENBQUMsS0FBSyxjQUFjLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FDNUUsQ0FBQzt3QkFDRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUN6QyxJQUFJLElBQUksRUFBRTs0QkFDUixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZixrQkFBa0IsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFDdEMsTUFBTSxDQUFDLEtBQ1QsRUFBRSxDQUNILENBQUM7NEJBQ0YsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzt5QkFDbEI7cUJBQ0Y7aUJBQ0Y7Z0JBQ0QsaUJBQWlCO2dCQUNqQixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFO29CQUM1RCxjQUFjLENBQUMsSUFBSSxDQUFDO3dCQUNsQixJQUFJLEVBQUUsV0FBVyxDQUFDLEVBQUU7d0JBQ3BCLEtBQUssRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUs7d0JBQ3RDLEtBQUssRUFBRSxLQUFLO3dCQUNaLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUM7cUJBQzlCLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUM7Z0JBQ2xCLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUM3RCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQy9EO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZiw0QkFBNEIsSUFBSSxDQUFDLEtBQUssRUFBRSxpQkFBaUIsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUN2RSxDQUFDO1lBQ0YsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0lBRUY7Ozs7O09BS0c7SUFDTyxrQkFBa0IsR0FBRyxDQUFDLFdBQXdCLEVBQUUsRUFBRTtRQUMxRCxJQUFJLE1BQU0sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO1FBQ2pDLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxhQUFhO1lBQ3hELE1BQU0sR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDO2FBQ3hCLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNoRSxNQUFNLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQztZQUNoQywyQ0FBMkM7WUFDM0MsS0FBSyxNQUFNLEdBQUcsSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFO2dCQUNyQywrQkFBK0I7Z0JBQy9CLElBQUksR0FBRyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsY0FBYztvQkFBRSxTQUFTO2dCQUNuRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ25FLElBQUk7b0JBQ0YsTUFBTSxZQUFZLEdBQUcsWUFBWTt5QkFDOUIsY0FBYyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUM7d0JBQy9DLEVBQUUsYUFBYSxFQUFFLENBQUM7b0JBQ3BCLElBQUksWUFBWSxLQUFLLFNBQVMsSUFBSSxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTt3QkFDekQsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQzt3QkFDaEQsaURBQWlEO3dCQUNqRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFOzRCQUNyQyx5QkFBeUI7NEJBQ3pCLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQzt5QkFDbEQ7d0JBQ0QsV0FBVyxHQUFHLElBQUksQ0FBQzt3QkFDbkIsSUFBSSxJQUFJLEtBQUssRUFBRSxFQUFFOzRCQUNmLFdBQVcsR0FBRyxXQUFXLENBQUMsRUFBRSxDQUFDOzRCQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZixrQ0FBa0MsV0FBVyxDQUFDLEVBQUUsOENBQThDLENBQy9GLENBQUM7eUJBQ0g7d0JBQ0QsMERBQTBEO3dCQUMxRCxNQUFNO3FCQUNQO2lCQUNGO2dCQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNWLFNBQVM7aUJBQ1Y7YUFDRjtTQUNGO1FBQ0QsT0FBTztZQUNMLE1BQU07WUFDTixXQUFXO1NBQ1osQ0FBQztJQUNKLENBQUMsQ0FBQztDQUNIO0FBRUQsZUFBZSxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICd0eXBlb3JtJztcbmltcG9ydCAqIGFzIHdhc20gZnJvbSAnZXJnby1saWItd2FzbS1ub2RlanMnO1xuaW1wb3J0IHsgYmxha2UyYiB9IGZyb20gJ2JsYWtlanMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXInO1xuaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQge1xuICBBYnN0cmFjdEluaXRpYWxpemFibGVFcmdvRXh0cmFjdG9yLFxuICBCbG9ja0luZm8sXG4gIEVyZ29OZXR3b3JrVHlwZSxcbiAgT3V0cHV0Qm94LFxuICBTcGVuZEluZm8sXG59IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtZXh0cmFjdG9yJztcblxuaW1wb3J0IEV2ZW50VHJpZ2dlckFjdGlvbiBmcm9tICcuLi9hY3Rpb25zL0V2ZW50VHJpZ2dlckFjdGlvbic7XG5pbXBvcnQgeyBFeHRyYWN0ZWRFdmVudFRyaWdnZXIgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2V4dHJhY3RlZEV2ZW50VHJpZ2dlcic7XG5pbXBvcnQgeyBKc29uQkkgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBFdmVudFJlc3VsdCB9IGZyb20gJy4uL3R5cGVzJztcblxuY2xhc3MgRXZlbnRUcmlnZ2VyRXh0cmFjdG9yIGV4dGVuZHMgQWJzdHJhY3RJbml0aWFsaXphYmxlRXJnb0V4dHJhY3RvcjxFeHRyYWN0ZWRFdmVudFRyaWdnZXI+IHtcbiAgaWQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFjdGlvbnM6IEV2ZW50VHJpZ2dlckFjdGlvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBldmVudFRyaWdnZXJFcmdvVHJlZTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHBlcm1pdEVyZ29UcmVlOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgZnJhdWRFcmdvVHJlZTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IFJXVDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGlkOiBzdHJpbmcsXG4gICAgZGF0YVNvdXJjZTogRGF0YVNvdXJjZSxcbiAgICB0eXBlOiBFcmdvTmV0d29ya1R5cGUsXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgYWRkcmVzczogc3RyaW5nLFxuICAgIFJXVDogc3RyaW5nLFxuICAgIHBlcm1pdEFkZHJlc3M6IHN0cmluZyxcbiAgICBmcmF1ZEFkZHJlc3M6IHN0cmluZyxcbiAgICBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlclxuICApIHtcbiAgICBzdXBlcih0eXBlLCB1cmwsIGFkZHJlc3MsIGxvZ2dlcik7XG4gICAgdGhpcy5pZCA9IGlkO1xuICAgIHRoaXMuZXZlbnRUcmlnZ2VyRXJnb1RyZWUgPSB3YXNtLkFkZHJlc3MuZnJvbV9iYXNlNTgoYWRkcmVzcylcbiAgICAgIC50b19lcmdvX3RyZWUoKVxuICAgICAgLnRvX2Jhc2UxNl9ieXRlcygpO1xuICAgIHRoaXMucGVybWl0RXJnb1RyZWUgPSB3YXNtLkFkZHJlc3MuZnJvbV9iYXNlNTgocGVybWl0QWRkcmVzcylcbiAgICAgIC50b19lcmdvX3RyZWUoKVxuICAgICAgLnRvX2Jhc2UxNl9ieXRlcygpO1xuICAgIHRoaXMuZnJhdWRFcmdvVHJlZSA9IHdhc20uQWRkcmVzcy5mcm9tX2Jhc2U1OChmcmF1ZEFkZHJlc3MpXG4gICAgICAudG9fZXJnb190cmVlKClcbiAgICAgIC50b19iYXNlMTZfYnl0ZXMoKTtcbiAgICB0aGlzLlJXVCA9IFJXVDtcbiAgICB0aGlzLmFjdGlvbnMgPSBuZXcgRXZlbnRUcmlnZ2VyQWN0aW9uKGRhdGFTb3VyY2UsIHRoaXMubG9nZ2VyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgSWQgZm9yIGN1cnJlbnQgZXh0cmFjdG9yXG4gICAqL1xuICBnZXRJZCA9ICgpID0+IHRoaXMuaWQ7XG5cbiAgLyoqXG4gICAqIGNoZWNrIHByb3BlciBkYXRhIGZvcm1hdCBpbiB0aGUgYm94XG4gICAqICAtIGJveCBlcmdvVHJlZVxuICAgKiAgLSBSV1QgaW4gZmlyc3QgdG9rZW4gcGxhY2VcbiAgICogIC0gd2lkTGlzdEhhc2ggaW4gUjRcbiAgICogIC0gZXZlbnQgZGF0YSBpbiBSNVxuICAgKiAgLSB3aWRDb3VudCBpbiBSN1xuICAgKiBAcGFyYW0gYm94XG4gICAqIEByZXR1cm4gdHJ1ZSBpZiB0aGUgYm94IGhhcyB0aGUgcmVxdWlyZWQgZGF0YSBhbmQgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqL1xuICBoYXNEYXRhID0gKGJveDogT3V0cHV0Qm94KTogYm9vbGVhbiA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhcnNlZEJveCA9IHdhc20uRXJnb0JveC5mcm9tX2pzb24oSnNvbkJJLnN0cmluZ2lmeShib3gpKTtcbiAgICAgIGlmIChcbiAgICAgICAgYm94LmFkZGl0aW9uYWxSZWdpc3RlcnMgJiZcbiAgICAgICAgYm94LmFkZGl0aW9uYWxSZWdpc3RlcnMuUjQgJiZcbiAgICAgICAgYm94LmFkZGl0aW9uYWxSZWdpc3RlcnMuUjUgJiZcbiAgICAgICAgYm94LmFkZGl0aW9uYWxSZWdpc3RlcnMuUjcgJiZcbiAgICAgICAgcGFyc2VkQm94LnJlZ2lzdGVyX3ZhbHVlKHdhc20uTm9uTWFuZGF0b3J5UmVnaXN0ZXJJZC5SNCkgJiZcbiAgICAgICAgcGFyc2VkQm94LnJlZ2lzdGVyX3ZhbHVlKHdhc20uTm9uTWFuZGF0b3J5UmVnaXN0ZXJJZC5SNSkgJiZcbiAgICAgICAgcGFyc2VkQm94LnJlZ2lzdGVyX3ZhbHVlKHdhc20uTm9uTWFuZGF0b3J5UmVnaXN0ZXJJZC5SNykgJiZcbiAgICAgICAgYm94LmFzc2V0cyAmJlxuICAgICAgICBib3guYXNzZXRzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgYm94LmFzc2V0c1swXS50b2tlbklkID09PSB0aGlzLlJXVCAmJlxuICAgICAgICBib3guZXJnb1RyZWUgPT09IHRoaXMuZXZlbnRUcmlnZ2VyRXJnb1RyZWVcbiAgICAgICkge1xuICAgICAgICBjb25zdCBSNFNlcmlhbGl6ZWQgPSBwYXJzZWRCb3hcbiAgICAgICAgICAucmVnaXN0ZXJfdmFsdWUod2FzbS5Ob25NYW5kYXRvcnlSZWdpc3RlcklkLlI0KSFcbiAgICAgICAgICAudG9fYnl0ZV9hcnJheSgpO1xuICAgICAgICBjb25zdCBSNVNlcmlhbGl6ZWQgPSBwYXJzZWRCb3hcbiAgICAgICAgICAucmVnaXN0ZXJfdmFsdWUod2FzbS5Ob25NYW5kYXRvcnlSZWdpc3RlcklkLlI1KSFcbiAgICAgICAgICAudG9fY29sbF9jb2xsX2J5dGUoKTtcbiAgICAgICAgaWYgKFI0U2VyaWFsaXplZC5sZW5ndGggPj0gMSAmJiBSNVNlcmlhbGl6ZWQubGVuZ3RoID49IDEyKSByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKFxuICAgICAgICBgVW5leHBlY3RlZCBlcnJvciBvY2N1cnJlZCB3aGlsZSBjaGVja2luZyB0aGUgcHJvcGVyIHRyaWdnZXIgZGF0YSBmb3JtYXQgZm9yIGJveCAke2JveC5ib3hJZH06ICR7ZX1gXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG5cbiAgLyoqXG4gICAqIGV4dHJhY3QgYm94IGRhdGEgdG8gcHJvcGVyIGZvcm1hdCAobm90IGluY2x1ZGluZyBzcGVuZGluZyBpbmZvcm1hdGlvbilcbiAgICogQHBhcmFtIGJveFxuICAgKiBAcmV0dXJuIGV4dHJhY3RlZCBkYXRhIGluIHByb3BlciBmb3JtYXRcbiAgICovXG4gIGV4dHJhY3RCb3hEYXRhID0gKFxuICAgIGJveDogT3V0cHV0Qm94XG4gICk6IE9taXQ8RXh0cmFjdGVkRXZlbnRUcmlnZ2VyLCAnc3BlbmRCbG9jaycgfCAnc3BlbmRIZWlnaHQnPiB8IHVuZGVmaW5lZCA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhcnNlZEJveCA9IHdhc20uRXJnb0JveC5mcm9tX2pzb24oSnNvbkJJLnN0cmluZ2lmeShib3gpKTtcbiAgICAgIGNvbnN0IFI0U2VyaWFsaXplZCA9IHBhcnNlZEJveFxuICAgICAgICAucmVnaXN0ZXJfdmFsdWUod2FzbS5Ob25NYW5kYXRvcnlSZWdpc3RlcklkLlI0KSFcbiAgICAgICAgLnRvX2J5dGVfYXJyYXkoKTtcbiAgICAgIGNvbnN0IFI1U2VyaWFsaXplZCA9IHBhcnNlZEJveFxuICAgICAgICAucmVnaXN0ZXJfdmFsdWUod2FzbS5Ob25NYW5kYXRvcnlSZWdpc3RlcklkLlI1KSFcbiAgICAgICAgLnRvX2NvbGxfY29sbF9ieXRlKCk7XG5cbiAgICAgIGNvbnN0IFdJRHNDb3VudCA9IHBhcnNlZEJveFxuICAgICAgICAucmVnaXN0ZXJfdmFsdWUod2FzbS5Ob25NYW5kYXRvcnlSZWdpc3RlcklkLlI3KSFcbiAgICAgICAgLnRvX2kzMigpO1xuICAgICAgY29uc3QgV0lEc0hhc2ggPSBCdWZmZXIuZnJvbShSNFNlcmlhbGl6ZWQpLnRvU3RyaW5nKCdoZXgnKTtcbiAgICAgIGNvbnN0IHNvdXJjZVR4SWQgPSBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbMF0pLnRvU3RyaW5nKCk7XG4gICAgICBjb25zdCBldmVudElkID0gQnVmZmVyLmZyb20oYmxha2UyYihzb3VyY2VUeElkLCB1bmRlZmluZWQsIDMyKSkudG9TdHJpbmcoXG4gICAgICAgICdoZXgnXG4gICAgICApO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZXZlbnRJZDogZXZlbnRJZCxcbiAgICAgICAgdHhJZDogYm94LnRyYW5zYWN0aW9uSWQsXG4gICAgICAgIGJveElkOiBib3guYm94SWQsXG4gICAgICAgIGJveFNlcmlhbGl6ZWQ6IEJ1ZmZlci5mcm9tKHBhcnNlZEJveC5zaWdtYV9zZXJpYWxpemVfYnl0ZXMoKSkudG9TdHJpbmcoXG4gICAgICAgICAgJ2Jhc2U2NCdcbiAgICAgICAgKSxcbiAgICAgICAgdG9DaGFpbjogQnVmZmVyLmZyb20oUjVTZXJpYWxpemVkWzJdKS50b1N0cmluZygpLFxuICAgICAgICB0b0FkZHJlc3M6IEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFs0XSkudG9TdHJpbmcoKSxcbiAgICAgICAgbmV0d29ya0ZlZTogQmlnSW50KFxuICAgICAgICAgICcweCcgKyBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbN10pLnRvU3RyaW5nKCdoZXgnKVxuICAgICAgICApLnRvU3RyaW5nKDEwKSxcbiAgICAgICAgYnJpZGdlRmVlOiBCaWdJbnQoXG4gICAgICAgICAgJzB4JyArIEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFs2XSkudG9TdHJpbmcoJ2hleCcpXG4gICAgICAgICkudG9TdHJpbmcoMTApLFxuICAgICAgICBhbW91bnQ6IEJpZ0ludChcbiAgICAgICAgICAnMHgnICsgQnVmZmVyLmZyb20oUjVTZXJpYWxpemVkWzVdKS50b1N0cmluZygnaGV4JylcbiAgICAgICAgKS50b1N0cmluZygxMCksXG4gICAgICAgIHNvdXJjZUNoYWluVG9rZW5JZDogQnVmZmVyLmZyb20oUjVTZXJpYWxpemVkWzhdKS50b1N0cmluZygpLFxuICAgICAgICB0YXJnZXRDaGFpblRva2VuSWQ6IEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFs5XSkudG9TdHJpbmcoKSxcbiAgICAgICAgc291cmNlVHhJZDogc291cmNlVHhJZCxcbiAgICAgICAgZnJvbUNoYWluOiBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbMV0pLnRvU3RyaW5nKCksXG4gICAgICAgIGZyb21BZGRyZXNzOiBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbM10pLnRvU3RyaW5nKCksXG4gICAgICAgIHNvdXJjZUJsb2NrSWQ6IEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFsxMF0pLnRvU3RyaW5nKCksXG4gICAgICAgIFdJRHNDb3VudDogV0lEc0NvdW50LFxuICAgICAgICBXSURzSGFzaDogV0lEc0hhc2gsXG4gICAgICAgIHNvdXJjZUNoYWluSGVpZ2h0OiBOdW1iZXIoXG4gICAgICAgICAgQmlnSW50KCcweCcgKyBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbMTFdKS50b1N0cmluZygnaGV4JykpLnRvU3RyaW5nKFxuICAgICAgICAgICAgMTBcbiAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLndhcm4oXG4gICAgICAgIGBVbmV4cGVjdGVkIGVycm9yIG9jY3VycmVkIHdoaWxlIGV4dHJhY3RpbmcgdHJpZ2dlciBkYXRhIGZvciBib3ggJHtib3guYm94SWR9OiAke2V9YFxuICAgICAgKTtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBnZXRzIGJsb2NrIGlkIGFuZCB0cmFuc2FjdGlvbnMgY29ycmVzcG9uZGluZyB0byB0aGUgYmxvY2sgYW5kIHNhdmVzIGlmIHRoZXkgYXJlIHZhbGlkIHJvc2VuXG4gICAqICB0cmFuc2FjdGlvbnMgYW5kIGluIGNhc2Ugb2Ygc3VjY2VzcyByZXR1cm4gdHJ1ZSBhbmQgaW4gY2FzZSBvZiBmYWlsdXJlIHJldHVybnMgZmFsc2VcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSB0eHNcbiAgICovXG4gIHByb2Nlc3NUcmFuc2FjdGlvbnMgPSBhc3luYyAoXG4gICAgdHhzOiBBcnJheTxUcmFuc2FjdGlvbj4sXG4gICAgYmxvY2s6IEJsb2NrSW5mb1xuICApOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYm94ZXM6IEFycmF5PEV4dHJhY3RlZEV2ZW50VHJpZ2dlcj4gPSBbXTtcbiAgICAgIGNvbnN0IHNwZW5kSW5mb0FycmF5OiBBcnJheTxTcGVuZEluZm8+ID0gW107XG4gICAgICB0eHMuZm9yRWFjaCgodHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgLy8gZXh0cmFjdCBldmVudCByZXN1bHRcbiAgICAgICAgY29uc3QgeyByZXN1bHQsIHBheW1lbnRUeElkIH0gPSB0aGlzLmV4dHJhY3RFdmVudFJlc3VsdCh0cmFuc2FjdGlvbik7XG4gICAgICAgIGZvciAoY29uc3Qgb3V0cHV0IG9mIHRyYW5zYWN0aW9uLm91dHB1dHMpIHtcbiAgICAgICAgICAvLyBleHRyYWN0IG91dHB1dCBib3ggZGF0YVxuICAgICAgICAgIGlmICh0aGlzLmhhc0RhdGEob3V0cHV0KSkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgICAgIGBUcnlpbmcgdG8gZXh0cmFjdCBkYXRhIGZyb20gYm94ICR7b3V0cHV0LmJveElkfSBhdCBoZWlnaHQgJHtibG9jay5oZWlnaHR9YFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmV4dHJhY3RCb3hEYXRhKG91dHB1dCk7XG4gICAgICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgICAgICBgRXh0cmFjdGVkIGRhdGEgJHtKc29uQkkuc3RyaW5naWZ5KGRhdGEpfSBmcm9tIGJveCAke1xuICAgICAgICAgICAgICAgICAgb3V0cHV0LmJveElkXG4gICAgICAgICAgICAgICAgfWBcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgYm94ZXMucHVzaChkYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gcHJvY2VzcyBpbnB1dHNcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHRyYW5zYWN0aW9uLmlucHV0cy5sZW5ndGg7IGluZGV4KyspXG4gICAgICAgICAgc3BlbmRJbmZvQXJyYXkucHVzaCh7XG4gICAgICAgICAgICB0eElkOiB0cmFuc2FjdGlvbi5pZCxcbiAgICAgICAgICAgIGJveElkOiB0cmFuc2FjdGlvbi5pbnB1dHNbaW5kZXhdLmJveElkLFxuICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICAgICAgZXh0cmFzOiBbcmVzdWx0LCBwYXltZW50VHhJZF0sXG4gICAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICAgIGlmIChib3hlcy5sZW5ndGggPiAwKVxuICAgICAgICBhd2FpdCB0aGlzLmFjdGlvbnMuaW5zZXJ0Qm94ZXMoYm94ZXMsIGJsb2NrLCB0aGlzLmdldElkKCkpO1xuICAgICAgYXdhaXQgdGhpcy5hY3Rpb25zLnNwZW5kQm94ZXMoc3BlbmRJbmZvQXJyYXksIGJsb2NrLCB0aGlzLmlkKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcihcbiAgICAgICAgYEVycm9yIGluIHN0b3JpbmcgZGF0YSBpbiAke3RoaXMuZ2V0SWQoKX0gb2YgdGhlIGJsb2NrICR7YmxvY2t9OiAke2V9YFxuICAgICAgKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgLyoqXG4gICAqIGV4dHJhY3RzIHJlc3VsdCBhbmQgcGF5bWVudFR4SWQgZnJvbSBhIHRyYW5zYWN0aW9uXG4gICAqIHJldHVybnMgJ3Vua25vd24nIGFzIHJlc3VsdCB3aGVuIHR4IGlzIG5laXRoZXIgZnJhdWQgb3Igc3VjY2Vzc2Z1bFxuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb25cbiAgICogQHJldHVybnNcbiAgICovXG4gIHByb3RlY3RlZCBleHRyYWN0RXZlbnRSZXN1bHQgPSAodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiB7XG4gICAgbGV0IHJlc3VsdCA9IEV2ZW50UmVzdWx0LnVua25vd247XG4gICAgbGV0IHBheW1lbnRUeElkID0gJyc7XG4gICAgaWYgKHRyYW5zYWN0aW9uLm91dHB1dHNbMF0uZXJnb1RyZWUgPT09IHRoaXMuZnJhdWRFcmdvVHJlZSlcbiAgICAgIHJlc3VsdCA9IEV2ZW50UmVzdWx0LmZyYXVkO1xuICAgIGVsc2UgaWYgKHRyYW5zYWN0aW9uLm91dHB1dHNbMF0uZXJnb1RyZWUgPT09IHRoaXMucGVybWl0RXJnb1RyZWUpIHtcbiAgICAgIHJlc3VsdCA9IEV2ZW50UmVzdWx0LnN1Y2Nlc3NmdWw7XG4gICAgICAvLyBmaW5kIGZpcnN0IG5vbi13YXRjaGVyIGJveCB3aXRoIFI0IHZhbHVlXG4gICAgICBmb3IgKGNvbnN0IGJveCBvZiB0cmFuc2FjdGlvbi5vdXRwdXRzKSB7XG4gICAgICAgIC8vIGlmIGl0J3Mgd2F0Y2hlciBib3gsIHNraXAgaXRcbiAgICAgICAgaWYgKGJveC5lcmdvVHJlZSA9PT0gdGhpcy5wZXJtaXRFcmdvVHJlZSkgY29udGludWU7XG4gICAgICAgIGNvbnN0IG91dHB1dFBhcnNlZCA9IHdhc20uRXJnb0JveC5mcm9tX2pzb24oSnNvbkJJLnN0cmluZ2lmeShib3gpKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBSNFNlcmlhbGl6ZWQgPSBvdXRwdXRQYXJzZWRcbiAgICAgICAgICAgIC5yZWdpc3Rlcl92YWx1ZSh3YXNtLk5vbk1hbmRhdG9yeVJlZ2lzdGVySWQuUjQpXG4gICAgICAgICAgICA/LnRvX2J5dGVfYXJyYXkoKTtcbiAgICAgICAgICBpZiAoUjRTZXJpYWxpemVkICE9PSB1bmRlZmluZWQgJiYgUjRTZXJpYWxpemVkLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGxldCB0eElkID0gQnVmZmVyLmZyb20oUjRTZXJpYWxpemVkKS50b1N0cmluZygpO1xuICAgICAgICAgICAgLy8gd2UgYXNzdW1lZCB0eElkIG9ubHkgaW5jbHVkZXMgdGhlc2UgY2hhcmFjdGVyc1xuICAgICAgICAgICAgaWYgKCF0eElkLm1hdGNoKC9eWzAtOWEtekEtWlxcLV8uXSskLykpIHtcbiAgICAgICAgICAgICAgLy8gYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICAgICAgICAgICAgICB0eElkID0gQnVmZmVyLmZyb20oUjRTZXJpYWxpemVkKS50b1N0cmluZygnaGV4Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXltZW50VHhJZCA9IHR4SWQ7XG4gICAgICAgICAgICBpZiAodHhJZCA9PT0gJycpIHtcbiAgICAgICAgICAgICAgcGF5bWVudFR4SWQgPSB0cmFuc2FjdGlvbi5pZDtcbiAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgICAgICAgYHN1Y2Nlc3NmdWwgZXZlbnQgaXMgc3BlbnQuIHR4IFske3RyYW5zYWN0aW9uLmlkfV0gaXMgYm90aCBwYXltZW50IGFuZCByZXdhcmQgZGlzdHJpYnV0aW9uIHR4YFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gcGF5bWVudFR4SWQgaXMgZXh0cmFjdGVkLiBubyBuZWVkIHRvIHByb2Nlc3MgbmV4dCBib3hlc1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlc3VsdCxcbiAgICAgIHBheW1lbnRUeElkLFxuICAgIH07XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IEV2ZW50VHJpZ2dlckV4dHJhY3RvcjtcbiJdfQ==
|
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRUcmlnZ2VyRXh0cmFjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2V4dHJhY3Rvci9FdmVudFRyaWdnZXJFeHRyYWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLElBQUksTUFBTSxzQkFBc0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBR2xDLE9BQU8sRUFDTCxrQ0FBa0MsRUFFbEMsWUFBWSxHQUliLE1BQU0sa0NBQWtDLENBQUM7QUFFMUMsT0FBTyxrQkFBa0IsTUFBTSwrQkFBK0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHdkMsTUFBTSxxQkFBc0IsU0FBUSxrQ0FHbkM7SUFDQyxFQUFFLENBQVM7SUFDUSxPQUFPLENBQXFCO0lBQzlCLG9CQUFvQixDQUFTO0lBQzdCLGNBQWMsQ0FBUztJQUN2QixhQUFhLENBQVM7SUFDdEIsR0FBRyxDQUFTO0lBRTdCLFlBQ0UsRUFBVSxFQUNWLFVBQXNCLEVBQ3RCLElBQXFCLEVBQ3JCLEdBQVcsRUFDWCxPQUFlLEVBQ2YsR0FBVyxFQUNYLGFBQXFCLEVBQ3JCLFlBQW9CLEVBQ3BCLE1BQXVCLEVBQ3ZCLFVBQVUsR0FBRyxJQUFJO1FBRWpCLEtBQUssQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO2FBQzFELFlBQVksRUFBRTthQUNkLGVBQWUsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8s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LENBQUMsRUFBRSxDQUFDOzRCQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZixrQ0FBa0MsV0FBVyxDQUFDLEVBQUUsOENBQThDLENBQy9GLENBQUM7eUJBQ0g7d0JBQ0QsMERBQTBEO3dCQUMxRCxNQUFNO3FCQUNQO2lCQUNGO2dCQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNWLFNBQVM7aUJBQ1Y7YUFDRjtTQUNGO1FBQ0QsT0FBTztZQUNMLE1BQU07WUFDTixXQUFXO1NBQ1osQ0FBQztJQUNKLENBQUMsQ0FBQztDQUNIO0FBRUQsZUFBZSxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICd0eXBlb3JtJztcbmltcG9ydCAqIGFzIHdhc20gZnJvbSAnZXJnby1saWItd2FzbS1ub2RlanMnO1xuaW1wb3J0IHsgYmxha2UyYiB9IGZyb20gJ2JsYWtlanMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXInO1xuaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQge1xuICBBYnN0cmFjdEluaXRpYWxpemFibGVFcmdvRXh0cmFjdG9yLFxuICBCbG9ja0luZm8sXG4gIENhbGxiYWNrVHlwZSxcbiAgRXJnb05ldHdvcmtUeXBlLFxuICBPdXRwdXRCb3gsXG4gIFNwZW5kSW5mbyxcbn0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1leHRyYWN0b3InO1xuXG5pbXBvcnQgRXZlbnRUcmlnZ2VyQWN0aW9uIGZyb20gJy4uL2FjdGlvbnMvRXZlbnRUcmlnZ2VyQWN0aW9uJztcbmltcG9ydCB7IEV4dHJhY3RlZEV2ZW50VHJpZ2dlciB9IGZyb20gJy4uL2ludGVyZmFjZXMvZXh0cmFjdGVkRXZlbnRUcmlnZ2VyJztcbmltcG9ydCB7IEpzb25CSSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IEV2ZW50UmVzdWx0IH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IEV2ZW50VHJpZ2dlckVudGl0eSBmcm9tICcuLi9lbnRpdGllcy9FdmVudFRyaWdnZXJFbnRpdHknO1xuXG5jbGFzcyBFdmVudFRyaWdnZXJFeHRyYWN0b3IgZXh0ZW5kcyBBYnN0cmFjdEluaXRpYWxpemFibGVFcmdvRXh0cmFjdG9yPFxuICBFeHRyYWN0ZWRFdmVudFRyaWdnZXIsXG4gIEV2ZW50VHJpZ2dlckVudGl0eVxuPiB7XG4gIGlkOiBzdHJpbmc7XG4gIHByb3RlY3RlZCByZWFkb25seSBhY3Rpb25zOiBFdmVudFRyaWdnZXJBY3Rpb247XG4gIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRUcmlnZ2VyRXJnb1RyZWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBwZXJtaXRFcmdvVHJlZTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGZyYXVkRXJnb1RyZWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBSV1Q6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpZDogc3RyaW5nLFxuICAgIGRhdGFTb3VyY2U6IERhdGFTb3VyY2UsXG4gICAgdHlwZTogRXJnb05ldHdvcmtUeXBlLFxuICAgIHVybDogc3RyaW5nLFxuICAgIGFkZHJlc3M6IHN0cmluZyxcbiAgICBSV1Q6IHN0cmluZyxcbiAgICBwZXJtaXRBZGRyZXNzOiBzdHJpbmcsXG4gICAgZnJhdWRBZGRyZXNzOiBzdHJpbmcsXG4gICAgbG9nZ2VyPzogQWJzdHJhY3RMb2dnZXIsXG4gICAgaW5pdGlhbGl6ZSA9IHRydWVcbiAgKSB7XG4gICAgc3VwZXIodHlwZSwgdXJsLCBhZGRyZXNzLCBsb2dnZXIsIGluaXRpYWxpemUpO1xuICAgIHRoaXMuaWQgPSBpZDtcbiAgICB0aGlzLmV2ZW50VHJpZ2dlckVyZ29UcmVlID0gd2FzbS5BZGRyZXNzLmZyb21fYmFzZTU4KGFkZHJlc3MpXG4gICAgICAudG9fZXJnb190cmVlKClcbiAgICAgIC50b19iYXNlMTZfYnl0ZXMoKTtcbiAgICB0aGlzLnBlcm1pdEVyZ29UcmVlID0gd2FzbS5BZGRyZXNzLmZyb21fYmFzZTU4KHBlcm1pdEFkZHJlc3MpXG4gICAgICAudG9fZXJnb190cmVlKClcbiAgICAgIC50b19iYXNlMTZfYnl0ZXMoKTtcbiAgICB0aGlzLmZyYXVkRXJnb1RyZWUgPSB3YXNtLkFkZHJlc3MuZnJvbV9iYXNlNTgoZnJhdWRBZGRyZXNzKVxuICAgICAgLnRvX2VyZ29fdHJlZSgpXG4gICAgICAudG9fYmFzZTE2X2J5dGVzKCk7XG4gICAgdGhpcy5SV1QgPSBSV1Q7XG4gICAgdGhpcy5hY3Rpb25zID0gbmV3IEV2ZW50VHJpZ2dlckFjdGlvbihkYXRhU291cmNlLCB0aGlzLmxvZ2dlcik7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IElkIGZvciBjdXJyZW50IGV4dHJhY3RvclxuICAgKi9cbiAgZ2V0SWQgPSAoKSA9PiB0aGlzLmlkO1xuXG4gIC8qKlxuICAgKiBjaGVjayBwcm9wZXIgZGF0YSBmb3JtYXQgaW4gdGhlIGJveFxuICAgKiAgLSBib3ggZXJnb1RyZWVcbiAgICogIC0gUldUIGluIGZpcnN0IHRva2VuIHBsYWNlXG4gICAqICAtIHdpZExpc3RIYXNoIGluIFI0XG4gICAqICAtIGV2ZW50IGRhdGEgaW4gUjVcbiAgICogIC0gd2lkQ291bnQgaW4gUjdcbiAgICogQHBhcmFtIGJveFxuICAgKiBAcmV0dXJuIHRydWUgaWYgdGhlIGJveCBoYXMgdGhlIHJlcXVpcmVkIGRhdGEgYW5kIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgaGFzRGF0YSA9IChib3g6IE91dHB1dEJveCk6IGJvb2xlYW4gPT4ge1xuICAgIHRyeSB7XG4gICAgICBpZiAoXG4gICAgICAgIGJveC5hZGRpdGlvbmFsUmVnaXN0ZXJzICYmXG4gICAgICAgIGJveC5hZGRpdGlvbmFsUmVnaXN0ZXJzLlI0ICYmXG4gICAgICAgIGJveC5hZGRpdGlvbmFsUmVnaXN0ZXJzLlI1ICYmXG4gICAgICAgIGJveC5hZGRpdGlvbmFsUmVnaXN0ZXJzLlI3ICYmXG4gICAgICAgIGJveC5hc3NldHMgJiZcbiAgICAgICAgYm94LmFzc2V0cy5sZW5ndGggPiAwICYmXG4gICAgICAgIGJveC5hc3NldHNbMF0udG9rZW5JZCA9PT0gdGhpcy5SV1QgJiZcbiAgICAgICAgYm94LmVyZ29UcmVlID09PSB0aGlzLmV2ZW50VHJpZ2dlckVyZ29UcmVlXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgcGFyc2VkQm94ID0gd2FzbS5FcmdvQm94LmZyb21fanNvbihKc29uQkkuc3RyaW5naWZ5KGJveCkpO1xuICAgICAgICBjb25zdCBSNFNlcmlhbGl6ZWQgPSBwYXJzZWRCb3hcbiAgICAgICAgICAucmVnaXN0ZXJfdmFsdWUod2FzbS5Ob25NYW5kYXRvcnlSZWdpc3RlcklkLlI0KSFcbiAgICAgICAgICAudG9fYnl0ZV9hcnJheSgpO1xuICAgICAgICBjb25zdCBSNVNlcmlhbGl6ZWQgPSBwYXJzZWRCb3hcbiAgICAgICAgICAucmVnaXN0ZXJfdmFsdWUod2FzbS5Ob25NYW5kYXRvcnlSZWdpc3RlcklkLlI1KSFcbiAgICAgICAgICAudG9fY29sbF9jb2xsX2J5dGUoKTtcbiAgICAgICAgaWYgKFI0U2VyaWFsaXplZC5sZW5ndGggPj0gMSAmJiBSNVNlcmlhbGl6ZWQubGVuZ3RoID49IDEyKSByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKFxuICAgICAgICBgVW5leHBlY3RlZCBlcnJvciBvY2N1cnJlZCB3aGlsZSBjaGVja2luZyB0aGUgcHJvcGVyIHRyaWdnZXIgZGF0YSBmb3JtYXQgZm9yIGJveCAke2JveC5ib3hJZH06ICR7ZX1gXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG5cbiAgLyoqXG4gICAqIGV4dHJhY3QgYm94IGRhdGEgdG8gcHJvcGVyIGZvcm1hdCAobm90IGluY2x1ZGluZyBzcGVuZGluZyBpbmZvcm1hdGlvbilcbiAgICogQHBhcmFtIGJveFxuICAgKiBAcmV0dXJuIGV4dHJhY3RlZCBkYXRhIGluIHByb3BlciBmb3JtYXRcbiAgICovXG4gIGV4dHJhY3RCb3hEYXRhID0gKFxuICAgIGJveDogT3V0cHV0Qm94XG4gICk6IE9taXQ8RXh0cmFjdGVkRXZlbnRUcmlnZ2VyLCAnc3BlbmRCbG9jaycgfCAnc3BlbmRIZWlnaHQnPiB8IHVuZGVmaW5lZCA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhcnNlZEJveCA9IHdhc20uRXJnb0JveC5mcm9tX2pzb24oSnNvbkJJLnN0cmluZ2lmeShib3gpKTtcbiAgICAgIGNvbnN0IFI0U2VyaWFsaXplZCA9IHBhcnNlZEJveFxuICAgICAgICAucmVnaXN0ZXJfdmFsdWUod2FzbS5Ob25NYW5kYXRvcnlSZWdpc3RlcklkLlI0KSFcbiAgICAgICAgLnRvX2J5dGVfYXJyYXkoKTtcbiAgICAgIGNvbnN0IFI1U2VyaWFsaXplZCA9IHBhcnNlZEJveFxuICAgICAgICAucmVnaXN0ZXJfdmFsdWUod2FzbS5Ob25NYW5kYXRvcnlSZWdpc3RlcklkLlI1KSFcbiAgICAgICAgLnRvX2NvbGxfY29sbF9ieXRlKCk7XG5cbiAgICAgIGNvbnN0IFdJRHNDb3VudCA9IHBhcnNlZEJveFxuICAgICAgICAucmVnaXN0ZXJfdmFsdWUod2FzbS5Ob25NYW5kYXRvcnlSZWdpc3RlcklkLlI3KSFcbiAgICAgICAgLnRvX2kzMigpO1xuICAgICAgY29uc3QgV0lEc0hhc2ggPSBCdWZmZXIuZnJvbShSNFNlcmlhbGl6ZWQpLnRvU3RyaW5nKCdoZXgnKTtcbiAgICAgIGNvbnN0IHNvdXJjZVR4SWQgPSBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbMF0pLnRvU3RyaW5nKCk7XG4gICAgICBjb25zdCBldmVudElkID0gQnVmZmVyLmZyb20oYmxha2UyYihzb3VyY2VUeElkLCB1bmRlZmluZWQsIDMyKSkudG9TdHJpbmcoXG4gICAgICAgICdoZXgnXG4gICAgICApO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZXZlbnRJZDogZXZlbnRJZCxcbiAgICAgICAgdHhJZDogYm94LnRyYW5zYWN0aW9uSWQsXG4gICAgICAgIGJveElkOiBib3guYm94SWQsXG4gICAgICAgIHNlcmlhbGl6ZWQ6IEJ1ZmZlci5mcm9tKHBhcnNlZEJveC5zaWdtYV9zZXJpYWxpemVfYnl0ZXMoKSkudG9TdHJpbmcoXG4gICAgICAgICAgJ2Jhc2U2NCdcbiAgICAgICAgKSxcbiAgICAgICAgdG9DaGFpbjogQnVmZmVyLmZyb20oUjVTZXJpYWxpemVkWzJdKS50b1N0cmluZygpLFxuICAgICAgICB0b0FkZHJlc3M6IEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFs0XSkudG9TdHJpbmcoKSxcbiAgICAgICAgbmV0d29ya0ZlZTogQmlnSW50KFxuICAgICAgICAgICcweCcgKyBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbN10pLnRvU3RyaW5nKCdoZXgnKVxuICAgICAgICApLnRvU3RyaW5nKDEwKSxcbiAgICAgICAgYnJpZGdlRmVlOiBCaWdJbnQoXG4gICAgICAgICAgJzB4JyArIEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFs2XSkudG9TdHJpbmcoJ2hleCcpXG4gICAgICAgICkudG9TdHJpbmcoMTApLFxuICAgICAgICBhbW91bnQ6IEJpZ0ludChcbiAgICAgICAgICAnMHgnICsgQnVmZmVyLmZyb20oUjVTZXJpYWxpemVkWzVdKS50b1N0cmluZygnaGV4JylcbiAgICAgICAgKS50b1N0cmluZygxMCksXG4gICAgICAgIHNvdXJjZUNoYWluVG9rZW5JZDogQnVmZmVyLmZyb20oUjVTZXJpYWxpemVkWzhdKS50b1N0cmluZygpLFxuICAgICAgICB0YXJnZXRDaGFpblRva2VuSWQ6IEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFs5XSkudG9TdHJpbmcoKSxcbiAgICAgICAgc291cmNlVHhJZDogc291cmNlVHhJZCxcbiAgICAgICAgZnJvbUNoYWluOiBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbMV0pLnRvU3RyaW5nKCksXG4gICAgICAgIGZyb21BZGRyZXNzOiBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbM10pLnRvU3RyaW5nKCksXG4gICAgICAgIHNvdXJjZUJsb2NrSWQ6IEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFsxMF0pLnRvU3RyaW5nKCksXG4gICAgICAgIFdJRHNDb3VudDogV0lEc0NvdW50LFxuICAgICAgICBXSURzSGFzaDogV0lEc0hhc2gsXG4gICAgICAgIHNvdXJjZUNoYWluSGVpZ2h0OiBOdW1iZXIoXG4gICAgICAgICAgQmlnSW50KCcweCcgKyBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbMTFdKS50b1N0cmluZygnaGV4JykpLnRvU3RyaW5nKFxuICAgICAgICAgICAgMTBcbiAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLndhcm4oXG4gICAgICAgIGBVbmV4cGVjdGVkIGVycm9yIG9jY3VycmVkIHdoaWxlIGV4dHJhY3RpbmcgdHJpZ2dlciBkYXRhIGZvciBib3ggJHtib3guYm94SWR9OiAke2V9YFxuICAgICAgKTtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBnZXRzIGJsb2NrIGlkIGFuZCB0cmFuc2FjdGlvbnMgY29ycmVzcG9uZGluZyB0byB0aGUgYmxvY2sgYW5kIHNhdmVzIGlmIHRoZXkgYXJlIHZhbGlkIHJvc2VuXG4gICAqICB0cmFuc2FjdGlvbnMgYW5kIGluIGNhc2Ugb2Ygc3VjY2VzcyByZXR1cm4gdHJ1ZSBhbmQgaW4gY2FzZSBvZiBmYWlsdXJlIHJldHVybnMgZmFsc2VcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSB0eHNcbiAgICovXG4gIHByb2Nlc3NUcmFuc2FjdGlvbnMgPSBhc3luYyAoXG4gICAgdHhzOiBBcnJheTxUcmFuc2FjdGlvbj4sXG4gICAgYmxvY2s6IEJsb2NrSW5mb1xuICApOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYm94ZXM6IEFycmF5PEV4dHJhY3RlZEV2ZW50VHJpZ2dlcj4gPSBbXTtcbiAgICAgIGNvbnN0IHNwZW5kSW5mb0FycmF5OiBBcnJheTxTcGVuZEluZm8+ID0gW107XG4gICAgICB0eHMuZm9yRWFjaCgodHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgLy8gZXh0cmFjdCBldmVudCByZXN1bHRcbiAgICAgICAgY29uc3QgeyByZXN1bHQsIHBheW1lbnRUeElkIH0gPSB0aGlzLmV4dHJhY3RFdmVudFJlc3VsdCh0cmFuc2FjdGlvbik7XG4gICAgICAgIGZvciAoY29uc3Qgb3V0cHV0IG9mIHRyYW5zYWN0aW9uLm91dHB1dHMpIHtcbiAgICAgICAgICAvLyBleHRyYWN0IG91dHB1dCBib3ggZGF0YVxuICAgICAgICAgIGlmICh0aGlzLmhhc0RhdGEob3V0cHV0KSkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgICAgIGBUcnlpbmcgdG8gZXh0cmFjdCBkYXRhIGZyb20gYm94ICR7b3V0cHV0LmJveElkfSBhdCBoZWlnaHQgJHtibG9jay5oZWlnaHR9YFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmV4dHJhY3RCb3hEYXRhKG91dHB1dCk7XG4gICAgICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgICAgICBgRXh0cmFjdGVkIGRhdGEgJHtKc29uQkkuc3RyaW5naWZ5KGRhdGEpfSBmcm9tIGJveCAke1xuICAgICAgICAgICAgICAgICAgb3V0cHV0LmJveElkXG4gICAgICAgICAgICAgICAgfWBcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgYm94ZXMucHVzaChkYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gcHJvY2VzcyBpbnB1dHNcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHRyYW5zYWN0aW9uLmlucHV0cy5sZW5ndGg7IGluZGV4KyspXG4gICAgICAgICAgc3BlbmRJbmZvQXJyYXkucHVzaCh7XG4gICAgICAgICAgICB0eElkOiB0cmFuc2FjdGlvbi5pZCxcbiAgICAgICAgICAgIGJveElkOiB0cmFuc2FjdGlvbi5pbnB1dHNbaW5kZXhdLmJveElkLFxuICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICAgICAgZXh0cmFzOiBbcmVzdWx0LCBwYXltZW50VHhJZF0sXG4gICAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICAgIGlmIChib3hlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGlmICghKGF3YWl0IHRoaXMuYWN0aW9ucy5zdG9yZUJveGVzKGJveGVzLCBibG9jaywgdGhpcy5nZXRJZCgpKSkpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci53YXJuKFxuICAgICAgICAgICAgYERhdGEgaW5zZXJ0aW9uIGZhaWxlZCBhdCBoZWlnaHQgJHtibG9jay5oZWlnaHR9IGZvciBleHRyYWN0b3IgJHt0aGlzLmlkfWBcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRyaWdnZXJDYWxsYmFja3MoQ2FsbGJhY2tUeXBlLkluc2VydCwgYm94ZXMpO1xuICAgICAgfVxuICAgICAgY29uc3Qgc3BlbnREYXRhID0gYXdhaXQgdGhpcy5hY3Rpb25zLnNwZW5kQm94ZXMoXG4gICAgICAgIHNwZW5kSW5mb0FycmF5LFxuICAgICAgICBibG9jayxcbiAgICAgICAgdGhpcy5pZFxuICAgICAgKTtcbiAgICAgIHRoaXMudHJpZ2dlckNhbGxiYWNrcyhDYWxsYmFja1R5cGUuU3BlbmQsIHNwZW50RGF0YSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXG4gICAgICAgIGBFcnJvciBpbiBzdG9yaW5nIGRhdGEgaW4gJHt0aGlzLmdldElkKCl9IG9mIHRoZSBibG9jayAke2Jsb2NrfTogJHtlfWBcbiAgICAgICk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIC8qKlxuICAgKiBleHRyYWN0cyByZXN1bHQgYW5kIHBheW1lbnRUeElkIGZyb20gYSB0cmFuc2FjdGlvblxuICAgKiByZXR1cm5zICd1bmtub3duJyBhcyByZXN1bHQgd2hlbiB0eCBpcyBuZWl0aGVyIGZyYXVkIG9yIHN1Y2Nlc3NmdWxcbiAgICogQHBhcmFtIHRyYW5zYWN0aW9uXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBwcm90ZWN0ZWQgZXh0cmFjdEV2ZW50UmVzdWx0ID0gKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4ge1xuICAgIGxldCByZXN1bHQgPSBFdmVudFJlc3VsdC51bmtub3duO1xuICAgIGxldCBwYXltZW50VHhJZCA9ICcnO1xuICAgIGlmICh0cmFuc2FjdGlvbi5vdXRwdXRzWzBdLmVyZ29UcmVlID09PSB0aGlzLmZyYXVkRXJnb1RyZWUpXG4gICAgICByZXN1bHQgPSBFdmVudFJlc3VsdC5mcmF1ZDtcbiAgICBlbHNlIGlmICh0cmFuc2FjdGlvbi5vdXRwdXRzWzBdLmVyZ29UcmVlID09PSB0aGlzLnBlcm1pdEVyZ29UcmVlKSB7XG4gICAgICByZXN1bHQgPSBFdmVudFJlc3VsdC5zdWNjZXNzZnVsO1xuICAgICAgLy8gZmluZCBmaXJzdCBub24td2F0Y2hlciBib3ggd2l0aCBSNCB2YWx1ZVxuICAgICAgZm9yIChjb25zdCBib3ggb2YgdHJhbnNhY3Rpb24ub3V0cHV0cykge1xuICAgICAgICAvLyBpZiBpdCdzIHdhdGNoZXIgYm94LCBza2lwIGl0XG4gICAgICAgIGlmIChib3guZXJnb1RyZWUgPT09IHRoaXMucGVybWl0RXJnb1RyZWUpIGNvbnRpbnVlO1xuICAgICAgICBjb25zdCBvdXRwdXRQYXJzZWQgPSB3YXNtLkVyZ29Cb3guZnJvbV9qc29uKEpzb25CSS5zdHJpbmdpZnkoYm94KSk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgUjRTZXJpYWxpemVkID0gb3V0cHV0UGFyc2VkXG4gICAgICAgICAgICAucmVnaXN0ZXJfdmFsdWUod2FzbS5Ob25NYW5kYXRvcnlSZWdpc3RlcklkLlI0KVxuICAgICAgICAgICAgPy50b19ieXRlX2FycmF5KCk7XG4gICAgICAgICAgaWYgKFI0U2VyaWFsaXplZCAhPT0gdW5kZWZpbmVkICYmIFI0U2VyaWFsaXplZC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBsZXQgdHhJZCA9IEJ1ZmZlci5mcm9tKFI0U2VyaWFsaXplZCkudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIC8vIHdlIGFzc3VtZWQgdHhJZCBvbmx5IGluY2x1ZGVzIHRoZXNlIGNoYXJhY3RlcnNcbiAgICAgICAgICAgIGlmICghdHhJZC5tYXRjaCgvXlswLTlhLXpBLVpcXC1fLl0rJC8pKSB7XG4gICAgICAgICAgICAgIC8vIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiAgICAgICAgICAgICAgdHhJZCA9IEJ1ZmZlci5mcm9tKFI0U2VyaWFsaXplZCkudG9TdHJpbmcoJ2hleCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGF5bWVudFR4SWQgPSB0eElkO1xuICAgICAgICAgICAgaWYgKHR4SWQgPT09ICcnKSB7XG4gICAgICAgICAgICAgIHBheW1lbnRUeElkID0gdHJhbnNhY3Rpb24uaWQ7XG4gICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgICAgIGBzdWNjZXNzZnVsIGV2ZW50IGlzIHNwZW50LiB0eCBbJHt0cmFuc2FjdGlvbi5pZH1dIGlzIGJvdGggcGF5bWVudCBhbmQgcmV3YXJkIGRpc3RyaWJ1dGlvbiB0eGBcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHBheW1lbnRUeElkIGlzIGV4dHJhY3RlZC4gbm8gbmVlZCB0byBwcm9jZXNzIG5leHQgYm94ZXNcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICByZXN1bHQsXG4gICAgICBwYXltZW50VHhJZCxcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBFdmVudFRyaWdnZXJFeHRyYWN0b3I7XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractedEventTrigger.d.ts","sourceRoot":"","sources":["../../lib/interfaces/extractedEventTrigger.ts"],"names":[],"mappings":"AAAA,UAAU,qBAAqB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,
|
|
1
|
+
{"version":3,"file":"extractedEventTrigger.d.ts","sourceRoot":"","sources":["../../lib/interfaces/extractedEventTrigger.ts"],"names":[],"mappings":"AAAA,UAAU,qBAAqB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFjdGVkRXZlbnRUcmlnZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2ludGVyZmFjZXMvZXh0cmFjdGVkRXZlbnRUcmlnZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgRXh0cmFjdGVkRXZlbnRUcmlnZ2VyIHtcbiAgZXZlbnRJZDogc3RyaW5nO1xuICB0eElkOiBzdHJpbmc7XG4gIGJveElkOiBzdHJpbmc7XG4gIHNlcmlhbGl6ZWQ6IHN0cmluZztcbiAgZnJvbUNoYWluOiBzdHJpbmc7XG4gIHRvQ2hhaW46IHN0cmluZztcbiAgZnJvbUFkZHJlc3M6IHN0cmluZztcbiAgdG9BZGRyZXNzOiBzdHJpbmc7XG4gIGFtb3VudDogc3RyaW5nO1xuICBicmlkZ2VGZWU6IHN0cmluZztcbiAgbmV0d29ya0ZlZTogc3RyaW5nO1xuICBzb3VyY2VDaGFpblRva2VuSWQ6IHN0cmluZztcbiAgdGFyZ2V0Q2hhaW5Ub2tlbklkOiBzdHJpbmc7XG4gIHNvdXJjZUJsb2NrSWQ6IHN0cmluZztcbiAgc291cmNlVHhJZDogc3RyaW5nO1xuICBXSURzQ291bnQ6IG51bWJlcjtcbiAgV0lEc0hhc2g6IHN0cmluZztcbiAgc291cmNlQ2hhaW5IZWlnaHQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IHsgRXh0cmFjdGVkRXZlbnRUcmlnZ2VyIH07XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Migration1737785036299 } from './postgres/1737785036299-migration';
|
|
2
2
|
import { migration1688555766601 } from './sqlite/1688555766601-migration';
|
|
3
3
|
export declare const migrations: {
|
|
4
4
|
sqlite: (typeof migration1688555766601)[];
|
|
5
|
-
postgres: (typeof
|
|
5
|
+
postgres: (typeof Migration1737785036299)[];
|
|
6
6
|
};
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/migrations/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/migrations/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAO1E,eAAO,MAAM,UAAU;;;CAiBtB,CAAC"}
|
package/dist/migrations/index.js
CHANGED
|
@@ -3,11 +3,13 @@ import { migration1689175974257 } from './postgres/1689175974257-migration';
|
|
|
3
3
|
import { migration1699874447928 } from './postgres/1699874447928-migration';
|
|
4
4
|
import { migration1706610773315 } from './postgres/1706610773315-migration';
|
|
5
5
|
import { Migration1709388482275 } from './postgres/1709388482275-migration';
|
|
6
|
+
import { Migration1737785036299 } from './postgres/1737785036299-migration';
|
|
6
7
|
import { migration1688555766601 } from './sqlite/1688555766601-migration';
|
|
7
8
|
import { migration1689175103163 } from './sqlite/1689175103163-migration';
|
|
8
9
|
import { migration1699872205117 } from './sqlite/1699872205117-migration';
|
|
9
10
|
import { migration1706610773176 } from './sqlite/1706610773176-migration';
|
|
10
11
|
import { Migration1709388134975 } from './sqlite/1709388134975-migration';
|
|
12
|
+
import { Migration1737547743177 } from './sqlite/1737547743177-migration';
|
|
11
13
|
export const migrations = {
|
|
12
14
|
sqlite: [
|
|
13
15
|
migration1688555766601,
|
|
@@ -15,6 +17,7 @@ export const migrations = {
|
|
|
15
17
|
migration1699872205117,
|
|
16
18
|
migration1706610773176,
|
|
17
19
|
Migration1709388134975,
|
|
20
|
+
Migration1737547743177,
|
|
18
21
|
],
|
|
19
22
|
postgres: [
|
|
20
23
|
migration1688554842087,
|
|
@@ -22,6 +25,7 @@ export const migrations = {
|
|
|
22
25
|
migration1699874447928,
|
|
23
26
|
migration1706610773315,
|
|
24
27
|
Migration1709388482275,
|
|
28
|
+
Migration1737785036299,
|
|
25
29
|
],
|
|
26
30
|
};
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbWlncmF0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUUxRSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDeEIsTUFBTSxFQUFFO1FBQ04sc0JBQXNCO1FBQ3RCLHNCQUFzQjtRQUN0QixzQkFBc0I7UUFDdEIsc0JBQXNCO1FBQ3RCLHNCQUFzQjtRQUN0QixzQkFBc0I7S0FDdkI7SUFDRCxRQUFRLEVBQUU7UUFDUixzQkFBc0I7UUFDdEIsc0JBQXNCO1FBQ3RCLHNCQUFzQjtRQUN0QixzQkFBc0I7UUFDdEIsc0JBQXNCO1FBQ3RCLHNCQUFzQjtLQUN2QjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtaWdyYXRpb24xNjg4NTU0ODQyMDg3IH0gZnJvbSAnLi9wb3N0Z3Jlcy8xNjg4NTU0ODQyMDg3LW1pZ3JhdGlvbic7XG5pbXBvcnQgeyBtaWdyYXRpb24xNjg5MTc1OTc0MjU3IH0gZnJvbSAnLi9wb3N0Z3Jlcy8xNjg5MTc1OTc0MjU3LW1pZ3JhdGlvbic7XG5pbXBvcnQgeyBtaWdyYXRpb24xNjk5ODc0NDQ3OTI4IH0gZnJvbSAnLi9wb3N0Z3Jlcy8xNjk5ODc0NDQ3OTI4LW1pZ3JhdGlvbic7XG5pbXBvcnQgeyBtaWdyYXRpb24xNzA2NjEwNzczMzE1IH0gZnJvbSAnLi9wb3N0Z3Jlcy8xNzA2NjEwNzczMzE1LW1pZ3JhdGlvbic7XG5pbXBvcnQgeyBNaWdyYXRpb24xNzA5Mzg4NDgyMjc1IH0gZnJvbSAnLi9wb3N0Z3Jlcy8xNzA5Mzg4NDgyMjc1LW1pZ3JhdGlvbic7XG5pbXBvcnQgeyBNaWdyYXRpb24xNzM3Nzg1MDM2Mjk5IH0gZnJvbSAnLi9wb3N0Z3Jlcy8xNzM3Nzg1MDM2Mjk5LW1pZ3JhdGlvbic7XG5pbXBvcnQgeyBtaWdyYXRpb24xNjg4NTU1NzY2NjAxIH0gZnJvbSAnLi9zcWxpdGUvMTY4ODU1NTc2NjYwMS1taWdyYXRpb24nO1xuaW1wb3J0IHsgbWlncmF0aW9uMTY4OTE3NTEwMzE2MyB9IGZyb20gJy4vc3FsaXRlLzE2ODkxNzUxMDMxNjMtbWlncmF0aW9uJztcbmltcG9ydCB7IG1pZ3JhdGlvbjE2OTk4NzIyMDUxMTcgfSBmcm9tICcuL3NxbGl0ZS8xNjk5ODcyMjA1MTE3LW1pZ3JhdGlvbic7XG5pbXBvcnQgeyBtaWdyYXRpb24xNzA2NjEwNzczMTc2IH0gZnJvbSAnLi9zcWxpdGUvMTcwNjYxMDc3MzE3Ni1taWdyYXRpb24nO1xuaW1wb3J0IHsgTWlncmF0aW9uMTcwOTM4ODEzNDk3NSB9IGZyb20gJy4vc3FsaXRlLzE3MDkzODgxMzQ5NzUtbWlncmF0aW9uJztcbmltcG9ydCB7IE1pZ3JhdGlvbjE3Mzc1NDc3NDMxNzcgfSBmcm9tICcuL3NxbGl0ZS8xNzM3NTQ3NzQzMTc3LW1pZ3JhdGlvbic7XG5cbmV4cG9ydCBjb25zdCBtaWdyYXRpb25zID0ge1xuICBzcWxpdGU6IFtcbiAgICBtaWdyYXRpb24xNjg4NTU1NzY2NjAxLFxuICAgIG1pZ3JhdGlvbjE2ODkxNzUxMDMxNjMsXG4gICAgbWlncmF0aW9uMTY5OTg3MjIwNTExNyxcbiAgICBtaWdyYXRpb24xNzA2NjEwNzczMTc2LFxuICAgIE1pZ3JhdGlvbjE3MDkzODgxMzQ5NzUsXG4gICAgTWlncmF0aW9uMTczNzU0Nzc0MzE3NyxcbiAgXSxcbiAgcG9zdGdyZXM6IFtcbiAgICBtaWdyYXRpb24xNjg4NTU0ODQyMDg3LFxuICAgIG1pZ3JhdGlvbjE2ODkxNzU5NzQyNTcsXG4gICAgbWlncmF0aW9uMTY5OTg3NDQ0NzkyOCxcbiAgICBtaWdyYXRpb24xNzA2NjEwNzczMzE1LFxuICAgIE1pZ3JhdGlvbjE3MDkzODg0ODIyNzUsXG4gICAgTWlncmF0aW9uMTczNzc4NTAzNjI5OSxcbiAgXSxcbn07XG4iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { MigrationInterface, QueryRunner } from 'typeorm';
|
|
2
|
+
export declare class Migration1737785036299 implements MigrationInterface {
|
|
3
|
+
name: string;
|
|
4
|
+
up(queryRunner: QueryRunner): Promise<void>;
|
|
5
|
+
down(queryRunner: QueryRunner): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=1737785036299-migration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1737785036299-migration.d.ts","sourceRoot":"","sources":["../../../lib/migrations/postgres/1737785036299-migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE1D,qBAAa,sBAAuB,YAAW,kBAAkB;IAC/D,IAAI,SAA4B;IAEnB,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAc3D"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export class Migration1737785036299 {
|
|
2
|
+
name = 'Migration1737785036299';
|
|
3
|
+
async up(queryRunner) {
|
|
4
|
+
await queryRunner.query(`
|
|
5
|
+
ALTER TABLE "event_trigger_entity"
|
|
6
|
+
ALTER COLUMN "boxSerialized" TYPE character varying
|
|
7
|
+
`);
|
|
8
|
+
await queryRunner.query(`
|
|
9
|
+
ALTER TABLE "event_trigger_entity"
|
|
10
|
+
ALTER COLUMN "spendBlock" TYPE character varying
|
|
11
|
+
`);
|
|
12
|
+
await queryRunner.query(`
|
|
13
|
+
ALTER TABLE "event_trigger_entity"
|
|
14
|
+
RENAME COLUMN "boxSerialized" TO "serialized"
|
|
15
|
+
`);
|
|
16
|
+
}
|
|
17
|
+
async down(queryRunner) {
|
|
18
|
+
await queryRunner.query(`
|
|
19
|
+
ALTER TABLE "event_trigger_entity"
|
|
20
|
+
RENAME COLUMN "serialized" TO "boxSerialized"
|
|
21
|
+
`);
|
|
22
|
+
await queryRunner.query(`
|
|
23
|
+
ALTER TABLE "event_trigger_entity"
|
|
24
|
+
ALTER COLUMN "spendBlock" TYPE text
|
|
25
|
+
`);
|
|
26
|
+
await queryRunner.query(`
|
|
27
|
+
ALTER TABLE "event_trigger_entity"
|
|
28
|
+
ALTER COLUMN "boxSerialized" TYPE text
|
|
29
|
+
`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTczNzc4NTAzNjI5OS1taWdyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvbWlncmF0aW9ucy9wb3N0Z3Jlcy8xNzM3Nzg1MDM2Mjk5LW1pZ3JhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLElBQUksR0FBRyx3QkFBd0IsQ0FBQztJQUV6QixLQUFLLENBQUMsRUFBRSxDQUFDLFdBQXdCO1FBQ3RDLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7O1NBR25CLENBQUMsQ0FBQztRQUNQLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7O1NBR25CLENBQUMsQ0FBQztRQUNQLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7O1NBR25CLENBQUMsQ0FBQztJQUNULENBQUM7SUFFTSxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQXdCO1FBQ3hDLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7O1NBR25CLENBQUMsQ0FBQztRQUNQLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7O1NBR25CLENBQUMsQ0FBQztRQUNQLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7O1NBR25CLENBQUMsQ0FBQztJQUNULENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1pZ3JhdGlvbkludGVyZmFjZSwgUXVlcnlSdW5uZXIgfSBmcm9tICd0eXBlb3JtJztcblxuZXhwb3J0IGNsYXNzIE1pZ3JhdGlvbjE3Mzc3ODUwMzYyOTkgaW1wbGVtZW50cyBNaWdyYXRpb25JbnRlcmZhY2Uge1xuICBuYW1lID0gJ01pZ3JhdGlvbjE3Mzc3ODUwMzYyOTknO1xuXG4gIHB1YmxpYyBhc3luYyB1cChxdWVyeVJ1bm5lcjogUXVlcnlSdW5uZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5xdWVyeShgXG4gICAgICAgICAgICBBTFRFUiBUQUJMRSBcImV2ZW50X3RyaWdnZXJfZW50aXR5XCIgXG4gICAgICAgICAgICAgICAgQUxURVIgQ09MVU1OIFwiYm94U2VyaWFsaXplZFwiIFRZUEUgY2hhcmFjdGVyIHZhcnlpbmdcbiAgICAgICAgYCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIucXVlcnkoYFxuICAgICAgICAgICAgQUxURVIgVEFCTEUgXCJldmVudF90cmlnZ2VyX2VudGl0eVwiIFxuICAgICAgICAgICAgICAgIEFMVEVSIENPTFVNTiBcInNwZW5kQmxvY2tcIiBUWVBFIGNoYXJhY3RlciB2YXJ5aW5nXG4gICAgICAgIGApO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnF1ZXJ5KGBcbiAgICAgICAgICAgIEFMVEVSIFRBQkxFIFwiZXZlbnRfdHJpZ2dlcl9lbnRpdHlcIlxuICAgICAgICAgICAgICAgIFJFTkFNRSBDT0xVTU4gXCJib3hTZXJpYWxpemVkXCIgVE8gXCJzZXJpYWxpemVkXCJcbiAgICAgICAgYCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZG93bihxdWVyeVJ1bm5lcjogUXVlcnlSdW5uZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5xdWVyeShgXG4gICAgICAgICAgICBBTFRFUiBUQUJMRSBcImV2ZW50X3RyaWdnZXJfZW50aXR5XCJcbiAgICAgICAgICAgICAgICBSRU5BTUUgQ09MVU1OIFwic2VyaWFsaXplZFwiIFRPIFwiYm94U2VyaWFsaXplZFwiXG4gICAgICAgIGApO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnF1ZXJ5KGBcbiAgICAgICAgICAgIEFMVEVSIFRBQkxFIFwiZXZlbnRfdHJpZ2dlcl9lbnRpdHlcIiBcbiAgICAgICAgICAgICAgICBBTFRFUiBDT0xVTU4gXCJzcGVuZEJsb2NrXCIgVFlQRSB0ZXh0XG4gICAgICAgIGApO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnF1ZXJ5KGBcbiAgICAgICAgICAgIEFMVEVSIFRBQkxFIFwiZXZlbnRfdHJpZ2dlcl9lbnRpdHlcIiBcbiAgICAgICAgICAgICAgICBBTFRFUiBDT0xVTU4gXCJib3hTZXJpYWxpemVkXCIgVFlQRSB0ZXh0XG4gICAgICAgIGApO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { MigrationInterface, QueryRunner } from 'typeorm';
|
|
2
|
+
export declare class Migration1737547743177 implements MigrationInterface {
|
|
3
|
+
name: string;
|
|
4
|
+
up(queryRunner: QueryRunner): Promise<void>;
|
|
5
|
+
down(queryRunner: QueryRunner): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=1737547743177-migration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1737547743177-migration.d.ts","sourceRoot":"","sources":["../../../lib/migrations/sqlite/1737547743177-migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE1D,qBAAa,sBAAuB,YAAW,kBAAkB;IAC/D,IAAI,SAA4B;IAEnB,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAqG3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAoG3D"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
export class Migration1737547743177 {
|
|
2
|
+
name = 'Migration1737547743177';
|
|
3
|
+
async up(queryRunner) {
|
|
4
|
+
await queryRunner.query(`
|
|
5
|
+
CREATE TABLE "temporary_event_trigger_entity" (
|
|
6
|
+
"id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
7
|
+
"eventId" varchar NOT NULL DEFAULT ('Not-set'),
|
|
8
|
+
"boxId" varchar NOT NULL,
|
|
9
|
+
"block" varchar NOT NULL,
|
|
10
|
+
"height" integer NOT NULL,
|
|
11
|
+
"extractor" varchar NOT NULL,
|
|
12
|
+
"fromChain" varchar NOT NULL,
|
|
13
|
+
"toChain" varchar NOT NULL,
|
|
14
|
+
"txId" varchar NOT NULL,
|
|
15
|
+
"fromAddress" varchar NOT NULL,
|
|
16
|
+
"toAddress" varchar NOT NULL,
|
|
17
|
+
"amount" varchar NOT NULL,
|
|
18
|
+
"bridgeFee" varchar NOT NULL,
|
|
19
|
+
"networkFee" varchar NOT NULL,
|
|
20
|
+
"sourceChainTokenId" varchar NOT NULL,
|
|
21
|
+
"sourceChainHeight" integer NOT NULL,
|
|
22
|
+
"targetChainTokenId" varchar NOT NULL,
|
|
23
|
+
"sourceTxId" varchar NOT NULL,
|
|
24
|
+
"sourceBlockId" varchar NOT NULL,
|
|
25
|
+
"spendBlock" varchar,
|
|
26
|
+
"spendHeight" integer,
|
|
27
|
+
"spendTxId" varchar,
|
|
28
|
+
"result" varchar,
|
|
29
|
+
"paymentTxId" varchar,
|
|
30
|
+
"WIDsCount" integer NOT NULL,
|
|
31
|
+
"WIDsHash" varchar NOT NULL,
|
|
32
|
+
"serialized" varchar NOT NULL,
|
|
33
|
+
CONSTRAINT "UQ_c905f221a1b6271ca4405dbbe5f" UNIQUE ("boxId", "extractor")
|
|
34
|
+
)
|
|
35
|
+
`);
|
|
36
|
+
await queryRunner.query(`
|
|
37
|
+
INSERT INTO "temporary_event_trigger_entity"(
|
|
38
|
+
"id",
|
|
39
|
+
"eventId",
|
|
40
|
+
"txId",
|
|
41
|
+
"extractor",
|
|
42
|
+
"boxId",
|
|
43
|
+
"block",
|
|
44
|
+
"height",
|
|
45
|
+
"fromChain",
|
|
46
|
+
"toChain",
|
|
47
|
+
"fromAddress",
|
|
48
|
+
"toAddress",
|
|
49
|
+
"amount",
|
|
50
|
+
"bridgeFee",
|
|
51
|
+
"networkFee",
|
|
52
|
+
"sourceChainTokenId",
|
|
53
|
+
"sourceChainHeight",
|
|
54
|
+
"targetChainTokenId",
|
|
55
|
+
"sourceTxId",
|
|
56
|
+
"sourceBlockId",
|
|
57
|
+
"spendBlock",
|
|
58
|
+
"spendHeight",
|
|
59
|
+
"spendTxId",
|
|
60
|
+
"result",
|
|
61
|
+
"paymentTxId",
|
|
62
|
+
"WIDsCount",
|
|
63
|
+
"WIDsHash",
|
|
64
|
+
"serialized"
|
|
65
|
+
)
|
|
66
|
+
SELECT "id",
|
|
67
|
+
"eventId",
|
|
68
|
+
"txId",
|
|
69
|
+
"extractor",
|
|
70
|
+
"boxId",
|
|
71
|
+
"block",
|
|
72
|
+
"height",
|
|
73
|
+
"fromChain",
|
|
74
|
+
"toChain",
|
|
75
|
+
"fromAddress",
|
|
76
|
+
"toAddress",
|
|
77
|
+
"amount",
|
|
78
|
+
"bridgeFee",
|
|
79
|
+
"networkFee",
|
|
80
|
+
"sourceChainTokenId",
|
|
81
|
+
"sourceChainHeight",
|
|
82
|
+
"targetChainTokenId",
|
|
83
|
+
"sourceTxId",
|
|
84
|
+
"sourceBlockId",
|
|
85
|
+
"spendBlock",
|
|
86
|
+
"spendHeight",
|
|
87
|
+
"spendTxId",
|
|
88
|
+
"result",
|
|
89
|
+
"paymentTxId",
|
|
90
|
+
"WIDsCount",
|
|
91
|
+
"WIDsHash",
|
|
92
|
+
"boxSerialized"
|
|
93
|
+
FROM "event_trigger_entity"
|
|
94
|
+
`);
|
|
95
|
+
await queryRunner.query(`
|
|
96
|
+
DROP TABLE "event_trigger_entity"
|
|
97
|
+
`);
|
|
98
|
+
await queryRunner.query(`
|
|
99
|
+
ALTER TABLE "temporary_event_trigger_entity"
|
|
100
|
+
RENAME TO "event_trigger_entity"
|
|
101
|
+
`);
|
|
102
|
+
}
|
|
103
|
+
async down(queryRunner) {
|
|
104
|
+
await queryRunner.query(`
|
|
105
|
+
ALTER TABLE "event_trigger_entity"
|
|
106
|
+
RENAME TO "temporary_event_trigger_entity"
|
|
107
|
+
`);
|
|
108
|
+
await queryRunner.query(`
|
|
109
|
+
CREATE TABLE "event_trigger_entity" (
|
|
110
|
+
"id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
111
|
+
"eventId" varchar NOT NULL DEFAULT ('Not-set'),
|
|
112
|
+
"txId" varchar NOT NULL,
|
|
113
|
+
"extractor" varchar NOT NULL,
|
|
114
|
+
"boxId" varchar NOT NULL,
|
|
115
|
+
"boxSerialized" varchar NOT NULL,
|
|
116
|
+
"block" varchar NOT NULL,
|
|
117
|
+
"height" integer NOT NULL,
|
|
118
|
+
"fromChain" varchar NOT NULL,
|
|
119
|
+
"toChain" varchar NOT NULL,
|
|
120
|
+
"fromAddress" varchar NOT NULL,
|
|
121
|
+
"toAddress" varchar NOT NULL,
|
|
122
|
+
"amount" varchar NOT NULL,
|
|
123
|
+
"bridgeFee" varchar NOT NULL,
|
|
124
|
+
"networkFee" varchar NOT NULL,
|
|
125
|
+
"sourceChainTokenId" varchar NOT NULL,
|
|
126
|
+
"sourceChainHeight" integer NOT NULL,
|
|
127
|
+
"targetChainTokenId" varchar NOT NULL,
|
|
128
|
+
"sourceTxId" varchar NOT NULL,
|
|
129
|
+
"sourceBlockId" varchar NOT NULL,
|
|
130
|
+
"spendBlock" text,
|
|
131
|
+
"spendHeight" integer,
|
|
132
|
+
"spendTxId" text,
|
|
133
|
+
"result" text,
|
|
134
|
+
"paymentTxId" text,
|
|
135
|
+
"WIDsCount" integer NOT NULL,
|
|
136
|
+
"WIDsHash" varchar NOT NULL,
|
|
137
|
+
CONSTRAINT "UQ_c905f221a1b6271ca4405dbbe5f" UNIQUE ("boxId", "extractor")
|
|
138
|
+
)
|
|
139
|
+
`);
|
|
140
|
+
await queryRunner.query(`
|
|
141
|
+
INSERT INTO "event_trigger_entity"(
|
|
142
|
+
"id",
|
|
143
|
+
"eventId",
|
|
144
|
+
"txId",
|
|
145
|
+
"extractor",
|
|
146
|
+
"boxId",
|
|
147
|
+
"block",
|
|
148
|
+
"height",
|
|
149
|
+
"fromChain",
|
|
150
|
+
"toChain",
|
|
151
|
+
"fromAddress",
|
|
152
|
+
"toAddress",
|
|
153
|
+
"amount",
|
|
154
|
+
"bridgeFee",
|
|
155
|
+
"networkFee",
|
|
156
|
+
"sourceChainTokenId",
|
|
157
|
+
"sourceChainHeight",
|
|
158
|
+
"targetChainTokenId",
|
|
159
|
+
"sourceTxId",
|
|
160
|
+
"sourceBlockId",
|
|
161
|
+
"spendBlock",
|
|
162
|
+
"spendHeight",
|
|
163
|
+
"spendTxId",
|
|
164
|
+
"result",
|
|
165
|
+
"paymentTxId",
|
|
166
|
+
"WIDsCount",
|
|
167
|
+
"WIDsHash",
|
|
168
|
+
"boxSerialized"
|
|
169
|
+
)
|
|
170
|
+
SELECT "id",
|
|
171
|
+
"eventId",
|
|
172
|
+
"txId",
|
|
173
|
+
"extractor",
|
|
174
|
+
"boxId",
|
|
175
|
+
"block",
|
|
176
|
+
"height",
|
|
177
|
+
"fromChain",
|
|
178
|
+
"toChain",
|
|
179
|
+
"fromAddress",
|
|
180
|
+
"toAddress",
|
|
181
|
+
"amount",
|
|
182
|
+
"bridgeFee",
|
|
183
|
+
"networkFee",
|
|
184
|
+
"sourceChainTokenId",
|
|
185
|
+
"sourceChainHeight",
|
|
186
|
+
"targetChainTokenId",
|
|
187
|
+
"sourceTxId",
|
|
188
|
+
"sourceBlockId",
|
|
189
|
+
"spendBlock",
|
|
190
|
+
"spendHeight",
|
|
191
|
+
"spendTxId",
|
|
192
|
+
"result",
|
|
193
|
+
"paymentTxId",
|
|
194
|
+
"WIDsCount",
|
|
195
|
+
"WIDsHash",
|
|
196
|
+
"serialized"
|
|
197
|
+
FROM "temporary_event_trigger_entity"
|
|
198
|
+
`);
|
|
199
|
+
await queryRunner.query(`
|
|
200
|
+
DROP TABLE "temporary_event_trigger_entity"
|
|
201
|
+
`);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTczNzU0Nzc0MzE3Ny1taWdyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvbWlncmF0aW9ucy9zcWxpdGUvMTczNzU0Nzc0MzE3Ny1taWdyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxJQUFJLEdBQUcsd0JBQXdCLENBQUM7SUFFekIsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUF3QjtRQUN0QyxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7U0ErQm5CLENBQUMsQ0FBQztRQUNQLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztTQTBEbkIsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxXQUFXLENBQUMsS0FBSyxDQUFDOztTQUVuQixDQUFDLENBQUM7UUFDUCxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUM7OztTQUduQixDQUFDLENBQUM7SUFDVCxDQUFDO0lBRU0sS0FBSyxDQUFDLElBQUksQ0FBQyxXQUF3QjtRQUN4QyxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUM7OztTQUduQixDQUFDLENBQUM7UUFDUCxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7U0ErQm5CLENBQUMsQ0FBQztRQUNQLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztTQTBEbkIsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxXQUFXLENBQUMsS0FBSyxDQUFDOztTQUVuQixDQUFDLENBQUM7SUFDVCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNaWdyYXRpb25JbnRlcmZhY2UsIFF1ZXJ5UnVubmVyIH0gZnJvbSAndHlwZW9ybSc7XG5cbmV4cG9ydCBjbGFzcyBNaWdyYXRpb24xNzM3NTQ3NzQzMTc3IGltcGxlbWVudHMgTWlncmF0aW9uSW50ZXJmYWNlIHtcbiAgbmFtZSA9ICdNaWdyYXRpb24xNzM3NTQ3NzQzMTc3JztcblxuICBwdWJsaWMgYXN5bmMgdXAocXVlcnlSdW5uZXI6IFF1ZXJ5UnVubmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIucXVlcnkoYFxuICAgICAgICAgICAgQ1JFQVRFIFRBQkxFIFwidGVtcG9yYXJ5X2V2ZW50X3RyaWdnZXJfZW50aXR5XCIgKFxuICAgICAgICAgICAgICAgIFwiaWRcIiBpbnRlZ2VyIFBSSU1BUlkgS0VZIEFVVE9JTkNSRU1FTlQgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJldmVudElkXCIgdmFyY2hhciBOT1QgTlVMTCBERUZBVUxUICgnTm90LXNldCcpLFxuICAgICAgICAgICAgICAgIFwiYm94SWRcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiYmxvY2tcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiaGVpZ2h0XCIgaW50ZWdlciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImV4dHJhY3RvclwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJmcm9tQ2hhaW5cIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwidG9DaGFpblwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJ0eElkXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImZyb21BZGRyZXNzXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcInRvQWRkcmVzc1wiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJhbW91bnRcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiYnJpZGdlRmVlXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcIm5ldHdvcmtGZWVcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwic291cmNlQ2hhaW5Ub2tlbklkXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcInNvdXJjZUNoYWluSGVpZ2h0XCIgaW50ZWdlciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcInRhcmdldENoYWluVG9rZW5JZFwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJzb3VyY2VUeElkXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcInNvdXJjZUJsb2NrSWRcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwic3BlbmRCbG9ja1wiIHZhcmNoYXIsXG4gICAgICAgICAgICAgICAgXCJzcGVuZEhlaWdodFwiIGludGVnZXIsXG4gICAgICAgICAgICAgICAgXCJzcGVuZFR4SWRcIiB2YXJjaGFyLFxuICAgICAgICAgICAgICAgIFwicmVzdWx0XCIgdmFyY2hhcixcbiAgICAgICAgICAgICAgICBcInBheW1lbnRUeElkXCIgdmFyY2hhcixcbiAgICAgICAgICAgICAgICBcIldJRHNDb3VudFwiIGludGVnZXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJXSURzSGFzaFwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJzZXJpYWxpemVkXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBDT05TVFJBSU5UIFwiVVFfYzkwNWYyMjFhMWI2MjcxY2E0NDA1ZGJiZTVmXCIgVU5JUVVFIChcImJveElkXCIsIFwiZXh0cmFjdG9yXCIpXG4gICAgICAgICAgICApXG4gICAgICAgIGApO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnF1ZXJ5KGBcbiAgICAgICAgICAgIElOU0VSVCBJTlRPIFwidGVtcG9yYXJ5X2V2ZW50X3RyaWdnZXJfZW50aXR5XCIoXG4gICAgICAgICAgICAgICAgICAgIFwiaWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJldmVudElkXCIsXG4gICAgICAgICAgICAgICAgICAgIFwidHhJZFwiLFxuICAgICAgICAgICAgICAgICAgICBcImV4dHJhY3RvclwiLFxuICAgICAgICAgICAgICAgICAgICBcImJveElkXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiYmxvY2tcIixcbiAgICAgICAgICAgICAgICAgICAgXCJoZWlnaHRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJmcm9tQ2hhaW5cIixcbiAgICAgICAgICAgICAgICAgICAgXCJ0b0NoYWluXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiZnJvbUFkZHJlc3NcIixcbiAgICAgICAgICAgICAgICAgICAgXCJ0b0FkZHJlc3NcIixcbiAgICAgICAgICAgICAgICAgICAgXCJhbW91bnRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJicmlkZ2VGZWVcIixcbiAgICAgICAgICAgICAgICAgICAgXCJuZXR3b3JrRmVlXCIsXG4gICAgICAgICAgICAgICAgICAgIFwic291cmNlQ2hhaW5Ub2tlbklkXCIsXG4gICAgICAgICAgICAgICAgICAgIFwic291cmNlQ2hhaW5IZWlnaHRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJ0YXJnZXRDaGFpblRva2VuSWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzb3VyY2VUeElkXCIsXG4gICAgICAgICAgICAgICAgICAgIFwic291cmNlQmxvY2tJZFwiLFxuICAgICAgICAgICAgICAgICAgICBcInNwZW5kQmxvY2tcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzcGVuZEhlaWdodFwiLFxuICAgICAgICAgICAgICAgICAgICBcInNwZW5kVHhJZFwiLFxuICAgICAgICAgICAgICAgICAgICBcInJlc3VsdFwiLFxuICAgICAgICAgICAgICAgICAgICBcInBheW1lbnRUeElkXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiV0lEc0NvdW50XCIsXG4gICAgICAgICAgICAgICAgICAgIFwiV0lEc0hhc2hcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzZXJpYWxpemVkXCJcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICBTRUxFQ1QgXCJpZFwiLFxuICAgICAgICAgICAgICAgIFwiZXZlbnRJZFwiLFxuICAgICAgICAgICAgICAgIFwidHhJZFwiLFxuICAgICAgICAgICAgICAgIFwiZXh0cmFjdG9yXCIsXG4gICAgICAgICAgICAgICAgXCJib3hJZFwiLFxuICAgICAgICAgICAgICAgIFwiYmxvY2tcIixcbiAgICAgICAgICAgICAgICBcImhlaWdodFwiLFxuICAgICAgICAgICAgICAgIFwiZnJvbUNoYWluXCIsXG4gICAgICAgICAgICAgICAgXCJ0b0NoYWluXCIsXG4gICAgICAgICAgICAgICAgXCJmcm9tQWRkcmVzc1wiLFxuICAgICAgICAgICAgICAgIFwidG9BZGRyZXNzXCIsXG4gICAgICAgICAgICAgICAgXCJhbW91bnRcIixcbiAgICAgICAgICAgICAgICBcImJyaWRnZUZlZVwiLFxuICAgICAgICAgICAgICAgIFwibmV0d29ya0ZlZVwiLFxuICAgICAgICAgICAgICAgIFwic291cmNlQ2hhaW5Ub2tlbklkXCIsXG4gICAgICAgICAgICAgICAgXCJzb3VyY2VDaGFpbkhlaWdodFwiLFxuICAgICAgICAgICAgICAgIFwidGFyZ2V0Q2hhaW5Ub2tlbklkXCIsXG4gICAgICAgICAgICAgICAgXCJzb3VyY2VUeElkXCIsXG4gICAgICAgICAgICAgICAgXCJzb3VyY2VCbG9ja0lkXCIsXG4gICAgICAgICAgICAgICAgXCJzcGVuZEJsb2NrXCIsXG4gICAgICAgICAgICAgICAgXCJzcGVuZEhlaWdodFwiLFxuICAgICAgICAgICAgICAgIFwic3BlbmRUeElkXCIsXG4gICAgICAgICAgICAgICAgXCJyZXN1bHRcIixcbiAgICAgICAgICAgICAgICBcInBheW1lbnRUeElkXCIsXG4gICAgICAgICAgICAgICAgXCJXSURzQ291bnRcIixcbiAgICAgICAgICAgICAgICBcIldJRHNIYXNoXCIsXG4gICAgICAgICAgICAgICAgXCJib3hTZXJpYWxpemVkXCJcbiAgICAgICAgICAgIEZST00gXCJldmVudF90cmlnZ2VyX2VudGl0eVwiXG4gICAgICAgIGApO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnF1ZXJ5KGBcbiAgICAgICAgICAgIERST1AgVEFCTEUgXCJldmVudF90cmlnZ2VyX2VudGl0eVwiXG4gICAgICAgIGApO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnF1ZXJ5KGBcbiAgICAgICAgICAgIEFMVEVSIFRBQkxFIFwidGVtcG9yYXJ5X2V2ZW50X3RyaWdnZXJfZW50aXR5XCJcbiAgICAgICAgICAgICAgICBSRU5BTUUgVE8gXCJldmVudF90cmlnZ2VyX2VudGl0eVwiXG4gICAgICAgIGApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRvd24ocXVlcnlSdW5uZXI6IFF1ZXJ5UnVubmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIucXVlcnkoYFxuICAgICAgICAgICAgQUxURVIgVEFCTEUgXCJldmVudF90cmlnZ2VyX2VudGl0eVwiXG4gICAgICAgICAgICAgICAgUkVOQU1FIFRPIFwidGVtcG9yYXJ5X2V2ZW50X3RyaWdnZXJfZW50aXR5XCJcbiAgICAgICAgYCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIucXVlcnkoYFxuICAgICAgICAgICAgQ1JFQVRFIFRBQkxFIFwiZXZlbnRfdHJpZ2dlcl9lbnRpdHlcIiAoXG4gICAgICAgICAgICAgICAgXCJpZFwiIGludGVnZXIgUFJJTUFSWSBLRVkgQVVUT0lOQ1JFTUVOVCBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImV2ZW50SWRcIiB2YXJjaGFyIE5PVCBOVUxMIERFRkFVTFQgKCdOb3Qtc2V0JyksXG4gICAgICAgICAgICAgICAgXCJ0eElkXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImV4dHJhY3RvclwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJib3hJZFwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJib3hTZXJpYWxpemVkXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImJsb2NrXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImhlaWdodFwiIGludGVnZXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJmcm9tQ2hhaW5cIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwidG9DaGFpblwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJmcm9tQWRkcmVzc1wiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJ0b0FkZHJlc3NcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiYW1vdW50XCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImJyaWRnZUZlZVwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJuZXR3b3JrRmVlXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcInNvdXJjZUNoYWluVG9rZW5JZFwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJzb3VyY2VDaGFpbkhlaWdodFwiIGludGVnZXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJ0YXJnZXRDaGFpblRva2VuSWRcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwic291cmNlVHhJZFwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJzb3VyY2VCbG9ja0lkXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcInNwZW5kQmxvY2tcIiB0ZXh0LFxuICAgICAgICAgICAgICAgIFwic3BlbmRIZWlnaHRcIiBpbnRlZ2VyLFxuICAgICAgICAgICAgICAgIFwic3BlbmRUeElkXCIgdGV4dCxcbiAgICAgICAgICAgICAgICBcInJlc3VsdFwiIHRleHQsXG4gICAgICAgICAgICAgICAgXCJwYXltZW50VHhJZFwiIHRleHQsXG4gICAgICAgICAgICAgICAgXCJXSURzQ291bnRcIiBpbnRlZ2VyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiV0lEc0hhc2hcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIENPTlNUUkFJTlQgXCJVUV9jOTA1ZjIyMWExYjYyNzFjYTQ0MDVkYmJlNWZcIiBVTklRVUUgKFwiYm94SWRcIiwgXCJleHRyYWN0b3JcIilcbiAgICAgICAgICAgIClcbiAgICAgICAgYCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIucXVlcnkoYFxuICAgICAgICAgICAgSU5TRVJUIElOVE8gXCJldmVudF90cmlnZ2VyX2VudGl0eVwiKFxuICAgICAgICAgICAgICAgICAgICBcImlkXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiZXZlbnRJZFwiLFxuICAgICAgICAgICAgICAgICAgICBcInR4SWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJleHRyYWN0b3JcIixcbiAgICAgICAgICAgICAgICAgICAgXCJib3hJZFwiLFxuICAgICAgICAgICAgICAgICAgICBcImJsb2NrXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiaGVpZ2h0XCIsXG4gICAgICAgICAgICAgICAgICAgIFwiZnJvbUNoYWluXCIsXG4gICAgICAgICAgICAgICAgICAgIFwidG9DaGFpblwiLFxuICAgICAgICAgICAgICAgICAgICBcImZyb21BZGRyZXNzXCIsXG4gICAgICAgICAgICAgICAgICAgIFwidG9BZGRyZXNzXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiYW1vdW50XCIsXG4gICAgICAgICAgICAgICAgICAgIFwiYnJpZGdlRmVlXCIsXG4gICAgICAgICAgICAgICAgICAgIFwibmV0d29ya0ZlZVwiLFxuICAgICAgICAgICAgICAgICAgICBcInNvdXJjZUNoYWluVG9rZW5JZFwiLFxuICAgICAgICAgICAgICAgICAgICBcInNvdXJjZUNoYWluSGVpZ2h0XCIsXG4gICAgICAgICAgICAgICAgICAgIFwidGFyZ2V0Q2hhaW5Ub2tlbklkXCIsXG4gICAgICAgICAgICAgICAgICAgIFwic291cmNlVHhJZFwiLFxuICAgICAgICAgICAgICAgICAgICBcInNvdXJjZUJsb2NrSWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzcGVuZEJsb2NrXCIsXG4gICAgICAgICAgICAgICAgICAgIFwic3BlbmRIZWlnaHRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzcGVuZFR4SWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJyZXN1bHRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJwYXltZW50VHhJZFwiLFxuICAgICAgICAgICAgICAgICAgICBcIldJRHNDb3VudFwiLFxuICAgICAgICAgICAgICAgICAgICBcIldJRHNIYXNoXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiYm94U2VyaWFsaXplZFwiXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgU0VMRUNUIFwiaWRcIixcbiAgICAgICAgICAgICAgICBcImV2ZW50SWRcIixcbiAgICAgICAgICAgICAgICBcInR4SWRcIixcbiAgICAgICAgICAgICAgICBcImV4dHJhY3RvclwiLFxuICAgICAgICAgICAgICAgIFwiYm94SWRcIixcbiAgICAgICAgICAgICAgICBcImJsb2NrXCIsXG4gICAgICAgICAgICAgICAgXCJoZWlnaHRcIixcbiAgICAgICAgICAgICAgICBcImZyb21DaGFpblwiLFxuICAgICAgICAgICAgICAgIFwidG9DaGFpblwiLFxuICAgICAgICAgICAgICAgIFwiZnJvbUFkZHJlc3NcIixcbiAgICAgICAgICAgICAgICBcInRvQWRkcmVzc1wiLFxuICAgICAgICAgICAgICAgIFwiYW1vdW50XCIsXG4gICAgICAgICAgICAgICAgXCJicmlkZ2VGZWVcIixcbiAgICAgICAgICAgICAgICBcIm5ldHdvcmtGZWVcIixcbiAgICAgICAgICAgICAgICBcInNvdXJjZUNoYWluVG9rZW5JZFwiLFxuICAgICAgICAgICAgICAgIFwic291cmNlQ2hhaW5IZWlnaHRcIixcbiAgICAgICAgICAgICAgICBcInRhcmdldENoYWluVG9rZW5JZFwiLFxuICAgICAgICAgICAgICAgIFwic291cmNlVHhJZFwiLFxuICAgICAgICAgICAgICAgIFwic291cmNlQmxvY2tJZFwiLFxuICAgICAgICAgICAgICAgIFwic3BlbmRCbG9ja1wiLFxuICAgICAgICAgICAgICAgIFwic3BlbmRIZWlnaHRcIixcbiAgICAgICAgICAgICAgICBcInNwZW5kVHhJZFwiLFxuICAgICAgICAgICAgICAgIFwicmVzdWx0XCIsXG4gICAgICAgICAgICAgICAgXCJwYXltZW50VHhJZFwiLFxuICAgICAgICAgICAgICAgIFwiV0lEc0NvdW50XCIsXG4gICAgICAgICAgICAgICAgXCJXSURzSGFzaFwiLFxuICAgICAgICAgICAgICAgIFwic2VyaWFsaXplZFwiXG4gICAgICAgICAgICBGUk9NIFwidGVtcG9yYXJ5X2V2ZW50X3RyaWdnZXJfZW50aXR5XCJcbiAgICAgICAgYCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIucXVlcnkoYFxuICAgICAgICAgICAgRFJPUCBUQUJMRSBcInRlbXBvcmFyeV9ldmVudF90cmlnZ2VyX2VudGl0eVwiXG4gICAgICAgIGApO1xuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rosen-bridge/watcher-data-extractor",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "10.0.0",
|
|
4
4
|
"description": "Extractor for rosen specific boxes on ergo blockchain",
|
|
5
5
|
"author": "Rosen Team",
|
|
6
6
|
"license": "GPL-3.0",
|
|
@@ -19,11 +19,11 @@
|
|
|
19
19
|
"dist"
|
|
20
20
|
],
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@rosen-bridge/abstract-extractor": "^0.
|
|
23
|
-
"@rosen-bridge/abstract-logger": "^
|
|
22
|
+
"@rosen-bridge/abstract-extractor": "^1.0.0",
|
|
23
|
+
"@rosen-bridge/abstract-logger": "^2.0.1",
|
|
24
24
|
"@rosen-bridge/extended-typeorm": "^0.0.3",
|
|
25
25
|
"@rosen-bridge/json-bigint": "^0.1.0",
|
|
26
|
-
"@rosen-bridge/scanner": "^5.0.
|
|
26
|
+
"@rosen-bridge/scanner": "^5.0.1",
|
|
27
27
|
"@rosen-bridge/tokens": "^1.2.1",
|
|
28
28
|
"@rosen-clients/ergo-explorer": "^1.1.1",
|
|
29
29
|
"@types/lodash-es": "^4.17.6",
|