@rosen-bridge/watcher-data-extractor 8.0.2 → 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.
@@ -1,38 +1,29 @@
1
1
  import { DataSource } from 'typeorm';
2
2
  import { AbstractLogger } from '@rosen-bridge/abstract-logger';
3
- import { Block } 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 {
6
- readonly logger: AbstractLogger;
7
- private readonly datasource;
8
- private readonly triggerEventRepository;
6
+ declare class EventTriggerAction extends AbstractInitializableErgoExtractorAction<ExtractedEventTrigger, EventTriggerEntity> {
7
+ private readonly dataSource;
9
8
  constructor(dataSource: DataSource, logger?: AbstractLogger);
10
9
  /**
11
- * It stores list of eventTriggers in the dataSource with block id
12
- * @param eventTriggers
13
- * @param block
14
- * @param extractor
10
+ * create the box entity from extracted data and block information
15
11
  */
16
- storeEventTriggers: (eventTriggers: Array<ExtractedEventTrigger>, block: Block, extractor: string) => Promise<boolean>;
12
+ createEntity: (triggerBoxes: ExtractedEventTrigger[], block: BlockInfo, extractor: string) => Omit<EventTriggerEntity, 'id'>[];
17
13
  /**
18
- * Update spendBlock and spendHeight of eventTriggers spent on the block
19
- * also update the spendTxId with the specified txId
20
- * and set result and paymentTxId of the event
21
- * @param spendId
22
- * @param block
23
- * @param extractor
24
- * @param txId
25
- * @param result
26
- * @param paymentTxId
14
+ * convert the database entity back to raw data
27
15
  */
28
- spendEventTriggers: (spendId: Array<string>, block: Block, extractor: string, txId: string, result: string, paymentTxId: string) => Promise<void>;
16
+ convertEntityToData: (entities: EventTriggerEntity[]) => ExtractedEventTrigger[];
29
17
  /**
30
- * Delete all eventTriggers corresponding to the block(id) and extractor(id)
31
- * and update all eventTriggers spent on the specified block
18
+ * update spending information of stored event triggers
19
+ * and set result and paymentTxId of the event
20
+ * chunk spendInfos to prevent large database queries
21
+ * @param spendInfArray
32
22
  * @param block
33
- * @param extractor
23
+ * @param extractorId
24
+ * @returns spent box ids
34
25
  */
35
- deleteBlock: (block: string, extractor: string) => Promise<void>;
26
+ spendBoxes: (spendInfoArray: Array<SpendInfo>, block: BlockInfo, extractorId: string) => Promise<BoxInfo[]>;
36
27
  }
37
28
  export default EventTriggerAction;
38
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,EAAkB,MAAM,SAAS,CAAC;AAErD,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAGzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAG5E,cAAM,kBAAkB;IACtB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAiC;gBAE5D,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,cAAc;IAM3D;;;;;OAKG;IACH,kBAAkB,kBACD,MAAM,qBAAqB,CAAC,SACpC,KAAK,aACD,MAAM,sBAmEjB;IAEF;;;;;;;;;;OAUG;IACH,kBAAkB,YACP,MAAM,MAAM,CAAC,SACf,KAAK,aACD,MAAM,QACX,MAAM,UACJ,MAAM,eACD,MAAM,KAClB,QAAQ,IAAI,CAAC,CA2Bd;IAEF;;;;;OAKG;IACH,WAAW,UAAiB,MAAM,aAAa,MAAM,mBAkBnD;CACH;AAED,eAAe,kBAAkB,CAAC"}
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,139 +1,103 @@
1
1
  import { In } from 'typeorm';
2
- import { chunk } from 'lodash-es';
3
- import { DummyLogger } from '@rosen-bridge/abstract-logger';
2
+ import { AbstractInitializableErgoExtractorAction, DB_CHUNK_SIZE, } from '@rosen-bridge/abstract-extractor';
4
3
  import EventTriggerEntity from '../entities/EventTriggerEntity';
5
- import { dbIdChunkSize } from '../constants';
6
- class EventTriggerAction {
7
- logger;
8
- datasource;
9
- triggerEventRepository;
4
+ import { JsonBI } from '../utils';
5
+ import { chunk, pick } from 'lodash-es';
6
+ class EventTriggerAction extends AbstractInitializableErgoExtractorAction {
7
+ dataSource;
10
8
  constructor(dataSource, logger) {
11
- this.datasource = dataSource;
12
- this.logger = logger ? logger : new DummyLogger();
13
- this.triggerEventRepository = dataSource.getRepository(EventTriggerEntity);
9
+ super(dataSource, EventTriggerEntity, logger);
10
+ this.dataSource = dataSource;
14
11
  }
15
12
  /**
16
- * It stores list of eventTriggers in the dataSource with block id
17
- * @param eventTriggers
18
- * @param block
19
- * @param extractor
13
+ * create the box entity from extracted data and block information
20
14
  */
21
- storeEventTriggers = async (eventTriggers, block, extractor) => {
22
- if (eventTriggers.length === 0)
23
- return true;
24
- const boxIds = eventTriggers.map((trigger) => trigger.boxId);
25
- const savedTriggers = await this.triggerEventRepository.findBy({
26
- boxId: In(boxIds),
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,
27
23
  extractor: extractor,
28
- });
29
- let success = true;
30
- const queryRunner = this.datasource.createQueryRunner();
31
- await queryRunner.connect();
32
- await queryRunner.startTransaction();
33
- const repository = await queryRunner.manager.getRepository(EventTriggerEntity);
34
- try {
35
- for (const trigger of eventTriggers) {
36
- const saved = savedTriggers.some((entity) => {
37
- return entity.boxId === trigger.boxId;
38
- });
39
- const entity = {
40
- txId: trigger.txId,
41
- eventId: trigger.eventId,
42
- boxId: trigger.boxId,
43
- boxSerialized: trigger.boxSerialized,
44
- block: block.hash,
45
- height: block.height,
46
- extractor: extractor,
47
- WIDsCount: trigger.WIDsCount,
48
- WIDsHash: trigger.WIDsHash,
49
- amount: trigger.amount,
50
- bridgeFee: trigger.bridgeFee,
51
- fromAddress: trigger.fromAddress,
52
- toAddress: trigger.toAddress,
53
- fromChain: trigger.fromChain,
54
- networkFee: trigger.networkFee,
55
- sourceChainTokenId: trigger.sourceChainTokenId,
56
- targetChainTokenId: trigger.targetChainTokenId,
57
- sourceBlockId: trigger.sourceBlockId,
58
- toChain: trigger.toChain,
59
- sourceTxId: trigger.sourceTxId,
60
- sourceChainHeight: trigger.sourceChainHeight,
61
- };
62
- if (!saved) {
63
- this.logger.info(`Storing event trigger [${trigger.boxId}] for event [${trigger.eventId}] at height ${block.height} and extractor ${extractor}`);
64
- await repository.insert(entity);
65
- }
66
- else {
67
- this.logger.info(`Updating event trigger ${trigger.boxId} for event [${trigger.eventId}] at height ${block.height} and extractor ${extractor}`);
68
- await repository.update({ boxId: trigger.boxId }, entity);
69
- }
70
- this.logger.debug(`Entity: ${JSON.stringify(entity)}`);
71
- }
72
- await queryRunner.commitTransaction();
73
- }
74
- catch (e) {
75
- this.logger.error(`An error occurred during store eventTrigger action: ${e}`);
76
- await queryRunner.rollbackTransaction();
77
- success = false;
78
- }
79
- finally {
80
- await queryRunner.release();
81
- }
82
- return success;
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
+ ]));
83
64
  };
84
65
  /**
85
- * Update spendBlock and spendHeight of eventTriggers spent on the block
86
- * also update the spendTxId with the specified txId
66
+ * update spending information of stored event triggers
87
67
  * and set result and paymentTxId of the event
88
- * @param spendId
68
+ * chunk spendInfos to prevent large database queries
69
+ * @param spendInfArray
89
70
  * @param block
90
- * @param extractor
91
- * @param txId
92
- * @param result
93
- * @param paymentTxId
71
+ * @param extractorId
72
+ * @returns spent box ids
94
73
  */
95
- spendEventTriggers = async (spendId, block, extractor, txId, result, paymentTxId) => {
96
- const spendIdChunks = chunk(spendId, dbIdChunkSize);
97
- for (const spendIdChunk of spendIdChunks) {
98
- const updateResult = await this.triggerEventRepository.update({ boxId: In(spendIdChunk), extractor: extractor }, {
99
- spendBlock: block.hash,
100
- spendHeight: block.height,
101
- spendTxId: txId,
102
- result: result,
103
- paymentTxId: paymentTxId,
74
+ spendBoxes = async (spendInfoArray, block, extractorId) => {
75
+ const spentData = [];
76
+ const spendInfoChunks = chunk(spendInfoArray, DB_CHUNK_SIZE);
77
+ for (const spendInfoChunk of spendInfoChunks) {
78
+ const spentTriggers = await this.repository.findBy({
79
+ boxId: In(spendInfoChunk.map((spendInfo) => spendInfo.boxId)),
80
+ extractor: extractorId,
104
81
  });
105
- if (updateResult.affected && updateResult.affected > 0) {
106
- const spentRows = await this.triggerEventRepository.findBy({
107
- boxId: In(spendIdChunk),
82
+ for (const spentTrigger of spentTriggers) {
83
+ const spendInfo = spendInfoChunk.find((info) => info.boxId === spentTrigger.boxId);
84
+ if (!spendInfo || !spendInfo.extras || spendInfo.extras.length < 2) {
85
+ throw Error(`Impossible case: spending information extras does not contain result or paymentTxId, ${spendInfo}`);
86
+ }
87
+ await this.repository.update({ boxId: spendInfo.boxId, extractor: extractorId }, {
108
88
  spendBlock: block.hash,
89
+ spendHeight: block.height,
90
+ spendTxId: spendInfo.txId,
91
+ result: spendInfo.extras[0],
92
+ paymentTxId: spendInfo.extras[1],
109
93
  });
110
- for (const row of spentRows) {
111
- this.logger.info(`Spent trigger [${row.boxId}] of event [${row.eventId}] at height ${block.height}`);
112
- this.logger.debug(`Spent trigger: [${JSON.stringify(row)}]`);
113
- }
94
+ spentData.push(pick(spendInfo, ['boxId']));
95
+ this.logger.info(`Spent trigger [${spentTrigger.boxId}] of event [${spentTrigger.eventId}] at height ${block.height}`);
96
+ this.logger.debug(`Spent trigger: [${JSON.stringify(spentTrigger)}] with spending information [${JsonBI.stringify(spendInfo)}]`);
114
97
  }
115
98
  }
116
- };
117
- /**
118
- * Delete all eventTriggers corresponding to the block(id) and extractor(id)
119
- * and update all eventTriggers spent on the specified block
120
- * @param block
121
- * @param extractor
122
- */
123
- deleteBlock = async (block, extractor) => {
124
- this.logger.info(`Deleting event triggers at block ${block} and extractor ${extractor}`);
125
- await this.triggerEventRepository.delete({
126
- block: block,
127
- extractor: extractor,
128
- });
129
- await this.triggerEventRepository.update({ spendBlock: block, extractor: extractor }, {
130
- spendBlock: null,
131
- spendTxId: null,
132
- spendHeight: null,
133
- result: null,
134
- paymentTxId: null,
135
- });
99
+ return spentData;
136
100
  };
137
101
  }
138
102
  export default EventTriggerAction;
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRUcmlnZ2VyQWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2FjdGlvbnMvRXZlbnRUcmlnZ2VyQWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxFQUFFLEVBQWMsTUFBTSxTQUFTLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNsQyxPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRzVFLE9BQU8sa0JBQWtCLE1BQU0sZ0NBQWdDLENBQUM7QUFFaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3QyxNQUFNLGtCQUFrQjtJQUNiLE1BQU0sQ0FBaUI7SUFDZixVQUFVLENBQWE7SUFDdkIsc0JBQXNCLENBQWlDO0lBRXhFLFlBQVksVUFBc0IsRUFBRSxNQUF1QjtRQUN6RCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsa0JBQWtCLEdBQUcsS0FBSyxFQUN4QixhQUEyQyxFQUMzQyxLQUFZLEVBQ1osU0FBaUIsRUFDakIsRUFBRTtRQUNGLElBQUksYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDNUMsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdELE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLHNCQUFz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QUNILEtBQUssTUFBTSxHQUFHLElBQUksU0FBUyxFQUFFO29CQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCxrQkFBa0IsR0FBRyxDQUFDLEtBQUssZUFBZSxHQUFHLENBQUMsT0FBTyxlQUFlLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FDbkYsQ0FBQztvQkFDRixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQzlEO2FBQ0Y7U0FDRjtJQUNILENBQUMsQ0FBQztJQUVGOzs7OztPQUtHO0lBQ0gsV0FBVyxHQUFHLEtBQUssRUFBRSxLQUFhLEVBQUUsU0FBaUIsRUFBRSxFQUFFO1FBQ3ZELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNkLG9DQUFvQyxLQUFLLGtCQUFrQixTQUFTLEVBQUUsQ0FDdkUsQ0FBQztRQUNGLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQztZQUN2QyxLQUFLLEVBQUUsS0FBSztZQUNaLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUMsQ0FBQztRQUNILE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FDdEMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsRUFDM0M7WUFDRSxVQUFVLEVBQUUsSUFBSTtZQUNoQixTQUFTLEVBQUUsSUFBSTtZQUNmLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLE1BQU0sRUFBRSxJQUFJO1lBQ1osV0FBVyxFQUFFLElBQUk7U0FDbEIsQ0FDRixDQUFDO0lBQ0osQ0FBQyxDQUFDO0NBQ0g7QUFFRCxlQUFlLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVNvdXJjZSwgSW4sIFJlcG9zaXRvcnkgfSBmcm9tICd0eXBlb3JtJztcbmltcG9ydCB7IGNodW5rIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEFic3RyYWN0TG9nZ2VyLCBEdW1teUxvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcbmltcG9ydCB7IEJsb2NrIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1leHRyYWN0b3InO1xuXG5pbXBvcnQgRXZlbnRUcmlnZ2VyRW50aXR5IGZyb20gJy4uL2VudGl0aWVzL0V2ZW50VHJpZ2dlckVudGl0eSc7XG5pbXBvcnQgeyBFeHRyYWN0ZWRFdmVudFRyaWdnZXIgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2V4dHJhY3RlZEV2ZW50VHJpZ2dlcic7XG5pbXBvcnQgeyBkYklkQ2h1bmtTaXplIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuY2xhc3MgRXZlbnRUcmlnZ2VyQWN0aW9uIHtcbiAgcmVhZG9ubHkgbG9nZ2VyOiBBYnN0cmFjdExvZ2dlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBkYXRhc291cmNlOiBEYXRhU291cmNlO1xuICBwcml2YXRlIHJlYWRvbmx5IHRyaWdnZXJFdmVudFJlcG9zaXRvcnk6IFJlcG9zaXRvcnk8RXZlbnRUcmlnZ2VyRW50aXR5PjtcblxuICBjb25zdHJ1Y3RvcihkYXRhU291cmNlOiBEYXRhU291cmNlLCBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlcikge1xuICAgIHRoaXMuZGF0YXNvdXJjZSA9IGRhdGFTb3VyY2U7XG4gICAgdGhpcy5sb2dnZXIgPSBsb2dnZXIgPyBsb2dnZXIgOiBuZXcgRHVtbXlMb2dnZXIoKTtcbiAgICB0aGlzLnRyaWdnZXJFdmVudFJlcG9zaXRvcnkgPSBkYXRhU291cmNlLmdldFJlcG9zaXRvcnkoRXZlbnRUcmlnZ2VyRW50aXR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCBzdG9yZXMgbGlzdCBvZiBldmVudFRyaWdnZXJzIGluIHRoZSBkYXRhU291cmNlIHdpdGggYmxvY2sgaWRcbiAgICogQHBhcmFtIGV2ZW50VHJpZ2dlcnNcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICovXG4gIHN0b3JlRXZlbnRUcmlnZ2VycyA9IGFzeW5jIChcbiAgICBldmVudFRyaWdnZXJzOiBBcnJheTxFeHRyYWN0ZWRFdmVudFRyaWdnZXI+LFxuICAgIGJsb2NrOiBCbG9jayxcbiAgICBleHRyYWN0b3I6IHN0cmluZ1xuICApID0+IHtcbiAgICBpZiAoZXZlbnRUcmlnZ2Vycy5sZW5ndGggPT09IDApIHJldHVybiB0cnVlO1xuICAgIGNvbnN0IGJveElkcyA9IGV2ZW50VHJpZ2dlcnMubWFwKCh0cmlnZ2VyKSA9PiB0cmlnZ2VyLmJveElkKTtcbiAgICBjb25zdCBzYXZlZFRyaWdnZXJzID0gYXdhaXQgdGhpcy50cmlnZ2VyRXZlbnRSZXBvc2l0b3J5LmZpbmRCeSh7XG4gICAgICBib3hJZDogSW4oYm94SWRzKSxcbiAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgIH0pO1xuICAgIGxldCBzdWNjZXNzID0gdHJ1ZTtcbiAgICBjb25zdCBxdWVyeVJ1bm5lciA9IHRoaXMuZGF0YXNvdXJjZS5jcmVhdGVRdWVyeVJ1bm5lcigpO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLmNvbm5lY3QoKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5zdGFydFRyYW5zYWN0aW9uKCk7XG4gICAgY29uc3QgcmVwb3NpdG9yeSA9IGF3YWl0IHF1ZXJ5UnVubmVyLm1hbmFnZXIuZ2V0UmVwb3NpdG9yeShcbiAgICAgIEV2ZW50VHJpZ2dlckVudGl0eVxuICAgICk7XG4gICAgdHJ5IHtcbiAgICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiBldmVudFRyaWdnZXJzKSB7XG4gICAgICAgIGNvbnN0IHNhdmVkID0gc2F2ZWRUcmlnZ2Vycy5zb21lKChlbnRpdHkpID0+IHtcbiAgICAgICAgICByZXR1cm4gZW50aXR5LmJveElkID09PSB0cmlnZ2VyLmJveElkO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgZW50aXR5ID0ge1xuICAgICAgICAgIHR4SWQ6IHRyaWdnZXIudHhJZCxcbiAgICAgICAgICBldmVudElkOiB0cmlnZ2VyLmV2ZW50SWQsXG4gICAgICAgICAgYm94SWQ6IHRyaWdnZXIuYm94SWQsXG4gICAgICAgICAgYm94U2VyaWFsaXplZDogdHJpZ2dlci5ib3hTZXJpYWxpemVkLFxuICAgICAgICAgIGJsb2NrOiBibG9jay5oYXNoLFxuICAgICAgICAgIGhlaWdodDogYmxvY2suaGVpZ2h0LFxuICAgICAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgICAgICAgIFdJRHNDb3VudDogdHJpZ2dlci5XSURzQ291bnQsXG4gICAgICAgICAgV0lEc0hhc2g6IHRyaWdnZXIuV0lEc0hhc2gsXG4gICAgICAgICAgYW1vdW50OiB0cmlnZ2VyLmFtb3VudCxcbiAgICAgICAgICBicmlkZ2VGZWU6IHRyaWdnZXIuYnJpZGdlRmVlLFxuICAgICAgICAgIGZyb21BZGRyZXNzOiB0cmlnZ2VyLmZyb21BZGRyZXNzLFxuICAgICAgICAgIHRvQWRkcmVzczogdHJpZ2dlci50b0FkZHJlc3MsXG4gICAgICAgICAgZnJvbUNoYWluOiB0cmlnZ2VyLmZyb21DaGFpbixcbiAgICAgICAgICBuZXR3b3JrRmVlOiB0cmlnZ2VyLm5ldHdvcmtGZWUsXG4gICAgICAgICAgc291cmNlQ2hhaW5Ub2tlbklkOiB0cmlnZ2VyLnNvdXJjZUNoYWluVG9rZW5JZCxcbiAgICAgICAgICB0YXJnZXRDaGFpblRva2VuSWQ6IHRyaWdnZXIudGFyZ2V0Q2hhaW5Ub2tlbklkLFxuICAgICAgICAgIHNvdXJjZUJsb2NrSWQ6IHRyaWdnZXIuc291cmNlQmxvY2tJZCxcbiAgICAgICAgICB0b0NoYWluOiB0cmlnZ2VyLnRvQ2hhaW4sXG4gICAgICAgICAgc291cmNlVHhJZDogdHJpZ2dlci5zb3VyY2VUeElkLFxuICAgICAgICAgIHNvdXJjZUNoYWluSGVpZ2h0OiB0cmlnZ2VyLnNvdXJjZUNoYWluSGVpZ2h0LFxuICAgICAgICB9O1xuICAgICAgICBpZiAoIXNhdmVkKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhcbiAgICAgICAgICAgIGBTdG9yaW5nIGV2ZW50IHRyaWdnZXIgWyR7dHJpZ2dlci5ib3hJZH1dIGZvciBldmVudCBbJHt0cmlnZ2VyLmV2ZW50SWR9XSBhdCBoZWlnaHQgJHtibG9jay5oZWlnaHR9IGFuZCBleHRyYWN0b3IgJHtleHRyYWN0b3J9YFxuICAgICAgICAgICk7XG4gICAgICAgICAgYXdhaXQgcmVwb3NpdG9yeS5pbnNlcnQoZW50aXR5KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKFxuICAgICAgICAgICAgYFVwZGF0aW5nIGV2ZW50IHRyaWdnZXIgJHt0cmlnZ2VyLmJveElkfSBmb3IgZXZlbnQgWyR7dHJpZ2dlci5ldmVudElkfV0gYXQgaGVpZ2h0ICR7YmxvY2suaGVpZ2h0fSBhbmQgZXh0cmFjdG9yICR7ZXh0cmFjdG9yfWBcbiAgICAgICAgICApO1xuICAgICAgICAgIGF3YWl0IHJlcG9zaXRvcnkudXBkYXRlKHsgYm94SWQ6IHRyaWdnZXIuYm94SWQgfSwgZW50aXR5KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgRW50aXR5OiAke0pTT04uc3RyaW5naWZ5KGVudGl0eSl9YCk7XG4gICAgICB9XG4gICAgICBhd2FpdCBxdWVyeVJ1bm5lci5jb21taXRUcmFuc2FjdGlvbigpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFxuICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHN0b3JlIGV2ZW50VHJpZ2dlciBhY3Rpb246ICR7ZX1gXG4gICAgICApO1xuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIucm9sbGJhY2tUcmFuc2FjdGlvbigpO1xuICAgICAgc3VjY2VzcyA9IGZhbHNlO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCBxdWVyeVJ1bm5lci5yZWxlYXNlKCk7XG4gICAgfVxuICAgIHJldHVybiBzdWNjZXNzO1xuICB9O1xuXG4gIC8qKlxuICAgKiBVcGRhdGUgc3BlbmRCbG9jayBhbmQgc3BlbmRIZWlnaHQgb2YgZXZlbnRUcmlnZ2VycyBzcGVudCBvbiB0aGUgYmxvY2tcbiAgICogYWxzbyB1cGRhdGUgdGhlIHNwZW5kVHhJZCB3aXRoIHRoZSBzcGVjaWZpZWQgdHhJZFxuICAgKiBhbmQgc2V0IHJlc3VsdCBhbmQgcGF5bWVudFR4SWQgb2YgdGhlIGV2ZW50XG4gICAqIEBwYXJhbSBzcGVuZElkXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKiBAcGFyYW0gZXh0cmFjdG9yXG4gICAqIEBwYXJhbSB0eElkXG4gICAqIEBwYXJhbSByZXN1bHRcbiAgICogQHBhcmFtIHBheW1lbnRUeElkXG4gICAqL1xuICBzcGVuZEV2ZW50VHJpZ2dlcnMgPSBhc3luYyAoXG4gICAgc3BlbmRJZDogQXJyYXk8c3RyaW5nPixcbiAgICBibG9jazogQmxvY2ssXG4gICAgZXh0cmFjdG9yOiBzdHJpbmcsXG4gICAgdHhJZDogc3RyaW5nLFxuICAgIHJlc3VsdDogc3RyaW5nLFxuICAgIHBheW1lbnRUeElkOiBzdHJpbmdcbiAgKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgY29uc3Qgc3BlbmRJZENodW5rcyA9IGNodW5rKHNwZW5kSWQsIGRiSWRDaHVua1NpemUpO1xuICAgIGZvciAoY29uc3Qgc3BlbmRJZENodW5rIG9mIHNwZW5kSWRDaHVua3MpIHtcbiAgICAgIGNvbnN0IHVwZGF0ZVJlc3VsdCA9IGF3YWl0IHRoaXMudHJpZ2dlckV2ZW50UmVwb3NpdG9yeS51cGRhdGUoXG4gICAgICAgIHsgYm94SWQ6IEluKHNwZW5kSWRDaHVuayksIGV4dHJhY3RvcjogZXh0cmFjdG9yIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzcGVuZEJsb2NrOiBibG9jay5oYXNoLFxuICAgICAgICAgIHNwZW5kSGVpZ2h0OiBibG9jay5oZWlnaHQsXG4gICAgICAgICAgc3BlbmRUeElkOiB0eElkLFxuICAgICAgICAgIHJlc3VsdDogcmVzdWx0LFxuICAgICAgICAgIHBheW1lbnRUeElkOiBwYXltZW50VHhJZCxcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgaWYgKHVwZGF0ZVJlc3VsdC5hZmZlY3RlZCAmJiB1cGRhdGVSZXN1bHQuYWZmZWN0ZWQgPiAwKSB7XG4gICAgICAgIGNvbnN0IHNwZW50Um93cyA9IGF3YWl0IHRoaXMudHJpZ2dlckV2ZW50UmVwb3NpdG9yeS5maW5kQnkoe1xuICAgICAgICAgIGJveElkOiBJbihzcGVuZElkQ2h1bmspLFxuICAgICAgICAgIHNwZW5kQmxvY2s6IGJsb2NrLmhhc2gsXG4gICAgICAgIH0pO1xuICAgICAgICBmb3IgKGNvbnN0IHJvdyBvZiBzcGVudFJvd3MpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKFxuICAgICAgICAgICAgYFNwZW50IHRyaWdnZXIgWyR7cm93LmJveElkfV0gb2YgZXZlbnQgWyR7cm93LmV2ZW50SWR9XSBhdCBoZWlnaHQgJHtibG9jay5oZWlnaHR9YFxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYFNwZW50IHRyaWdnZXI6IFske0pTT04uc3RyaW5naWZ5KHJvdyl9XWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBEZWxldGUgYWxsIGV2ZW50VHJpZ2dlcnMgY29ycmVzcG9uZGluZyB0byB0aGUgYmxvY2soaWQpIGFuZCBleHRyYWN0b3IoaWQpXG4gICAqIGFuZCB1cGRhdGUgYWxsIGV2ZW50VHJpZ2dlcnMgc3BlbnQgb24gdGhlIHNwZWNpZmllZCBibG9ja1xuICAgKiBAcGFyYW0gYmxvY2tcbiAgICogQHBhcmFtIGV4dHJhY3RvclxuICAgKi9cbiAgZGVsZXRlQmxvY2sgPSBhc3luYyAoYmxvY2s6IHN0cmluZywgZXh0cmFjdG9yOiBzdHJpbmcpID0+IHtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKFxuICAgICAgYERlbGV0aW5nIGV2ZW50IHRyaWdnZXJzIGF0IGJsb2NrICR7YmxvY2t9IGFuZCBleHRyYWN0b3IgJHtleHRyYWN0b3J9YFxuICAgICk7XG4gICAgYXdhaXQgdGhpcy50cmlnZ2VyRXZlbnRSZXBvc2l0b3J5LmRlbGV0ZSh7XG4gICAgICBibG9jazogYmxvY2ssXG4gICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICB9KTtcbiAgICBhd2FpdCB0aGlzLnRyaWdnZXJFdmVudFJlcG9zaXRvcnkudXBkYXRlKFxuICAgICAgeyBzcGVuZEJsb2NrOiBibG9jaywgZXh0cmFjdG9yOiBleHRyYWN0b3IgfSxcbiAgICAgIHtcbiAgICAgICAgc3BlbmRCbG9jazogbnVsbCxcbiAgICAgICAgc3BlbmRUeElkOiBudWxsLFxuICAgICAgICBzcGVuZEhlaWdodDogbnVsbCxcbiAgICAgICAgcmVzdWx0OiBudWxsLFxuICAgICAgICBwYXltZW50VHhJZDogbnVsbCxcbiAgICAgIH1cbiAgICApO1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBFdmVudFRyaWdnZXJBY3Rpb247XG4iXX0=
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRUcmlnZ2VyQWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2FjdGlvbnMvRXZlbnRUcmlnZ2VyQWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFekMsT0FBTyxFQUNMLHdDQUF3QyxFQUd4QyxhQUFhLEdBRWQsTUFBTSxrQ0FBa0MsQ0FBQztBQUUxQyxPQUFPLGtCQUFrQixNQUFNLGdDQUFnQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFeEMsTUFBTSxrQkFBbUIsU0FBUSx3Q0FHaEM7SUFDa0IsVUFBVSxDQUFhO0lBRXhDLFlBQVksVUFBc0IsRUFBRSxNQUF1QjtRQUN6RCxLQUFLLENBQUMsVUFBVSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVksR0FBRyxDQUNiLFlBQXFDLEVBQ3JDLEtBQWdCLEVBQ2hCLFNBQWlCLEVBQ2lCLEVBQUU7UUFDcEMsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3BDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1lBQ3BCLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVTtZQUM5QixLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDakIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFNBQVMsRUFBRSxPQUFPLENBQUMs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QUNGLENBQUM7Z0JBQ0YsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCxrQkFBa0IsWUFBWSxDQUFDLEtBQUssZUFBZSxZQUFZLENBQUMsT0FBTyxlQUFlLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FDckcsQ0FBQztnQkFDRixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZixtQkFBbUIsSUFBSSxDQUFDLFNBQVMsQ0FDL0IsWUFBWSxDQUNiLGdDQUFnQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQ2hFLENBQUM7YUFDSDtTQUNGO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0NBQ0g7QUFFRCxlQUFlLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVNvdXJjZSwgSW4gfSBmcm9tICd0eXBlb3JtJztcbmltcG9ydCB7IEFic3RyYWN0TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RJbml0aWFsaXphYmxlRXJnb0V4dHJhY3RvckFjdGlvbixcbiAgQmxvY2tJbmZvLFxuICBCb3hJbmZvLFxuICBEQl9DSFVOS19TSVpFLFxuICBTcGVuZEluZm8sXG59IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtZXh0cmFjdG9yJztcblxuaW1wb3J0IEV2ZW50VHJpZ2dlckVudGl0eSBmcm9tICcuLi9lbnRpdGllcy9FdmVudFRyaWdnZXJFbnRpdHknO1xuaW1wb3J0IHsgRXh0cmFjdGVkRXZlbnRUcmlnZ2VyIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9leHRyYWN0ZWRFdmVudFRyaWdnZXInO1xuaW1wb3J0IHsgSnNvbkJJIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgY2h1bmssIHBpY2sgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5jbGFzcyBFdmVudFRyaWdnZXJBY3Rpb24gZXh0ZW5kcyBBYnN0cmFjdEluaXRpYWxpemFibGVFcmdvRXh0cmFjdG9yQWN0aW9uPFxuICBFeHRyYWN0ZWRFdmVudFRyaWdnZXIsXG4gIEV2ZW50VHJpZ2dlckVudGl0eVxuPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0YVNvdXJjZTogRGF0YVNvdXJjZTtcblxuICBjb25zdHJ1Y3RvcihkYXRhU291cmNlOiBEYXRhU291cmNlLCBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlcikge1xuICAgIHN1cGVyKGRhdGFTb3VyY2UsIEV2ZW50VHJpZ2dlckVudGl0eSwgbG9nZ2VyKTtcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBkYXRhU291cmNlO1xuICB9XG5cbiAgLyoqXG4gICAqIGNyZWF0ZSB0aGUgYm94IGVudGl0eSBmcm9tIGV4dHJhY3RlZCBkYXRhIGFuZCBibG9jayBpbmZvcm1hdGlvblxuICAgKi9cbiAgY3JlYXRlRW50aXR5ID0gKFxuICAgIHRyaWdnZXJCb3hlczogRXh0cmFjdGVkRXZlbnRUcmlnZ2VyW10sXG4gICAgYmxvY2s6IEJsb2NrSW5mbyxcbiAgICBleHRyYWN0b3I6IHN0cmluZ1xuICApOiBPbWl0PEV2ZW50VHJpZ2dlckVudGl0eSwgJ2lkJz5bXSA9PiB7XG4gICAgcmV0dXJuIHRyaWdnZXJCb3hlcy5tYXAoKHRyaWdnZXIpID0+ICh7XG4gICAgICB0eElkOiB0cmlnZ2VyLnR4SWQsXG4gICAgICBldmVudElkOiB0cmlnZ2VyLmV2ZW50SWQsXG4gICAgICBib3hJZDogdHJpZ2dlci5ib3hJZCxcbiAgICAgIHNlcmlhbGl6ZWQ6IHRyaWdnZXIuc2VyaWFsaXplZCxcbiAgICAgIGJsb2NrOiBibG9jay5oYXNoLFxuICAgICAgaGVpZ2h0OiBibG9jay5oZWlnaHQsXG4gICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICAgIFdJRHNDb3VudDogdHJpZ2dlci5XSURzQ291bnQsXG4gICAgICBXSURzSGFzaDogdHJpZ2dlci5XSURzSGFzaCxcbiAgICAgIGFtb3VudDogdHJpZ2dlci5hbW91bnQsXG4gICAgICBicmlkZ2VGZWU6IHRyaWdnZXIuYnJpZGdlRmVlLFxuICAgICAgZnJvbUFkZHJlc3M6IHRyaWdnZXIuZnJvbUFkZHJlc3MsXG4gICAgICB0b0FkZHJlc3M6IHRyaWdnZXIudG9BZGRyZXNzLFxuICAgICAgZnJvbUNoYWluOiB0cmlnZ2VyLmZyb21DaGFpbixcbiAgICAgIG5ldHdvcmtGZWU6IHRyaWdnZXIubmV0d29ya0ZlZSxcbiAgICAgIHNvdXJjZUNoYWluVG9rZW5JZDogdHJpZ2dlci5zb3VyY2VDaGFpblRva2VuSWQsXG4gICAgICB0YXJnZXRDaGFpblRva2VuSWQ6IHRyaWdnZXIudGFyZ2V0Q2hhaW5Ub2tlbklkLFxuICAgICAgc291cmNlQmxvY2tJZDogdHJpZ2dlci5zb3VyY2VCbG9ja0lkLFxuICAgICAgdG9DaGFpbjogdHJpZ2dlci50b0NoYWluLFxuICAgICAgc291cmNlVHhJZDogdHJpZ2dlci5zb3VyY2VUeElkLFxuICAgICAgc291cmNlQ2hhaW5IZWlnaHQ6IHRyaWdnZXIuc291cmNlQ2hhaW5IZWlnaHQsXG4gICAgfSkpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBjb252ZXJ0IHRoZSBkYXRhYmFzZSBlbnRpdHkgYmFjayB0byByYXcgZGF0YVxuICAgKi9cbiAgY29udmVydEVudGl0eVRvRGF0YSA9IChcbiAgICBlbnRpdGllczogRXZlbnRUcmlnZ2VyRW50aXR5W11cbiAgKTogRXh0cmFjdGVkRXZlbnRUcmlnZ2VyW10gPT4ge1xuICAgIHJldHVybiBlbnRpdGllcy5tYXAoKGRhdGEpID0+XG4gICAgICBwaWNrKGRhdGEsIFtcbiAgICAgICAgJ2V2ZW50SWQnLFxuICAgICAgICAndHhJZCcsXG4gICAgICAgICdib3hJZCcsXG4gICAgICAgICdzZXJpYWxpemVkJyxcbiAgICAgICAgJ2Zyb21DaGFpbicsXG4gICAgICAgICd0b0NoYWluJyxcbiAgICAgICAgJ2Zyb21BZGRyZXNzJyxcbiAgICAgICAgJ3RvQWRkcmVzcycsXG4gICAgICAgICdhbW91bnQnLFxuICAgICAgICAnYnJpZGdlRmVlJyxcbiAgICAgICAgJ25ldHdvcmtGZWUnLFxuICAgICAgICAnc291cmNlQ2hhaW5Ub2tlbklkJyxcbiAgICAgICAgJ3RhcmdldENoYWluVG9rZW5JZCcsXG4gICAgICAgICdzb3VyY2VCbG9ja0lkJyxcbiAgICAgICAgJ3NvdXJjZVR4SWQnLFxuICAgICAgICAnV0lEc0NvdW50JyxcbiAgICAgICAgJ1dJRHNIYXNoJyxcbiAgICAgICAgJ3NvdXJjZUNoYWluSGVpZ2h0JyxcbiAgICAgIF0pXG4gICAgKTtcbiAgfTtcblxuICAvKipcbiAgICogdXBkYXRlIHNwZW5kaW5nIGluZm9ybWF0aW9uIG9mIHN0b3JlZCBldmVudCB0cmlnZ2Vyc1xuICAgKiBhbmQgc2V0IHJlc3VsdCBhbmQgcGF5bWVudFR4SWQgb2YgdGhlIGV2ZW50XG4gICAqIGNodW5rIHNwZW5kSW5mb3MgdG8gcHJldmVudCBsYXJnZSBkYXRhYmFzZSBxdWVyaWVzXG4gICAqIEBwYXJhbSBzcGVuZEluZkFycmF5XG4gICAqIEBwYXJhbSBibG9ja1xuICAgKiBAcGFyYW0gZXh0cmFjdG9ySWRcbiAgICogQHJldHVybnMgc3BlbnQgYm94IGlkc1xuICAgKi9cbiAgc3BlbmRCb3hlcyA9IGFzeW5jIChcbiAgICBzcGVuZEluZm9BcnJheTogQXJyYXk8U3BlbmRJbmZvPixcbiAgICBibG9jazogQmxvY2tJbmZvLFxuICAgIGV4dHJhY3RvcklkOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxCb3hJbmZvW10+ID0+IHtcbiAgICBjb25zdCBzcGVudERhdGEgPSBbXTtcbiAgICBjb25zdCBzcGVuZEluZm9DaHVua3MgPSBjaHVuayhzcGVuZEluZm9BcnJheSwgREJfQ0hVTktfU0laRSk7XG4gICAgZm9yIChjb25zdCBzcGVuZEluZm9DaHVuayBvZiBzcGVuZEluZm9DaHVua3MpIHtcbiAgICAgIGNvbnN0IHNwZW50VHJpZ2dlcnMgPSBhd2FpdCB0aGlzLnJlcG9zaXRvcnkuZmluZEJ5KHtcbiAgICAgICAgYm94SWQ6IEluKHNwZW5kSW5mb0NodW5rLm1hcCgoc3BlbmRJbmZvKSA9PiBzcGVuZEluZm8uYm94SWQpKSxcbiAgICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3JJZCxcbiAgICAgIH0pO1xuICAgICAgZm9yIChjb25zdCBzcGVudFRyaWdnZXIgb2Ygc3BlbnRUcmlnZ2Vycykge1xuICAgICAgICBjb25zdCBzcGVuZEluZm8gPSBzcGVuZEluZm9DaHVuay5maW5kKFxuICAgICAgICAgIChpbmZvKSA9PiBpbmZvLmJveElkID09PSBzcGVudFRyaWdnZXIuYm94SWRcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKCFzcGVuZEluZm8gfHwgIXNwZW5kSW5mby5leHRyYXMgfHwgc3BlbmRJbmZvLmV4dHJhcy5sZW5ndGggPCAyKSB7XG4gICAgICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICAgICBgSW1wb3NzaWJsZSBjYXNlOiBzcGVuZGluZyBpbmZvcm1hdGlvbiBleHRyYXMgZG9lcyBub3QgY29udGFpbiByZXN1bHQgb3IgcGF5bWVudFR4SWQsICR7c3BlbmRJbmZvfWBcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGF3YWl0IHRoaXMucmVwb3NpdG9yeS51cGRhdGUoXG4gICAgICAgICAgeyBib3hJZDogc3BlbmRJbmZvLmJveElkLCBleHRyYWN0b3I6IGV4dHJhY3RvcklkIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3BlbmRCbG9jazogYmxvY2suaGFzaCxcbiAgICAgICAgICAgIHNwZW5kSGVpZ2h0OiBibG9jay5oZWlnaHQsXG4gICAgICAgICAgICBzcGVuZFR4SWQ6IHNwZW5kSW5mby50eElkLFxuICAgICAgICAgICAgcmVzdWx0OiBzcGVuZEluZm8uZXh0cmFzWzBdLFxuICAgICAgICAgICAgcGF5bWVudFR4SWQ6IHNwZW5kSW5mby5leHRyYXNbMV0sXG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgICBzcGVudERhdGEucHVzaChwaWNrKHNwZW5kSW5mbywgWydib3hJZCddKSk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmluZm8oXG4gICAgICAgICAgYFNwZW50IHRyaWdnZXIgWyR7c3BlbnRUcmlnZ2VyLmJveElkfV0gb2YgZXZlbnQgWyR7c3BlbnRUcmlnZ2VyLmV2ZW50SWR9XSBhdCBoZWlnaHQgJHtibG9jay5oZWlnaHR9YFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICBgU3BlbnQgdHJpZ2dlcjogWyR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICBzcGVudFRyaWdnZXJcbiAgICAgICAgICApfV0gd2l0aCBzcGVuZGluZyBpbmZvcm1hdGlvbiBbJHtKc29uQkkuc3RyaW5naWZ5KHNwZW5kSW5mbyl9XWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHNwZW50RGF0YTtcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRXZlbnRUcmlnZ2VyQWN0aW9uO1xuIl19
@@ -1,12 +1,7 @@
1
- declare class EventTriggerEntity {
2
- id: number;
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":"AAEA,cAEM,kBAAkB;IAEtB,EAAE,EAAE,MAAM,CAAC;IAGX,OAAO,EAAE,MAAM,CAAC;IAGhB,IAAI,EAAE,MAAM,CAAC;IAGb,SAAS,EAAE,MAAM,CAAC;IAGlB,KAAK,EAAE,MAAM,CAAC;IAGd,aAAa,EAAE,MAAM,CAAC;IAGtB,KAAK,EAAE,MAAM,CAAC;IAGd,MAAM,EAAE,MAAM,CAAC;IAGf,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,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAG3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAG5B,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"}
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 { Column, Entity, PrimaryGeneratedColumn, Unique } from 'typeorm';
11
- let EventTriggerEntity = class EventTriggerEntity {
12
- id;
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRUcmlnZ2VyRW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2VudGl0aWVzL0V2ZW50VHJpZ2dlckVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFJekUsSUFBTSxrQkFBa0IsR0FBeEIsTUFBTSxrQkFBa0I7SUFFdEIsRUFBRSxDQUFTO0lBR1gsT0FBTyxDQUFTO0lBR2hCLElBQUksQ0FBUztJQUdiLFNBQVMsQ0FBUztJQUdsQixLQUFLLENBQVM7SUFHZCxhQUFhLENBQVM7SUFHdEIsS0FBSyxDQUFTO0lBR2QsTUFBTSxDQUFTO0lBR2YsU0FBUyxDQUFTO0lBR2xCLE9BQU8sQ0FBUztJQUdoQixXQUFXLENBQVM7SUFHcEIsU0FBUyxDQUFTO0lBR2xCLE1BQU0sQ0FBUztJQUdmLFNBQVMsQ0FBUztJQUdsQixVQUFVLENBQVM7SUFHbkIsa0JBQWtCLENBQVM7SUFHM0IsaUJBQWlCLENBQVM7SUFHMUIsa0JBQWtCLENBQVM7SUFHM0IsVUFBVSxDQUFTO0lBR25CLGFBQWEsQ0FBUztJQUd0QixTQUFTLENBQVM7SUFHbEIsUUFBUSxDQUFTO0lBR2pCLFVBQVUsQ0FBaUI7SUFHM0IsV0FBVyxDQUFpQjtJQUc1QixTQUFTLENBQWlCO0lBRzFCLE1BQU0sQ0FBaUI7SUFHdkIsV0FBVyxDQUFpQjtDQUM3QixDQUFBO0FBaEZDO0lBQUMsc0JBQXNCLEVBQUU7OzhDQUNkO0FBRVg7SUFBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUM7O21EQUNmO0FBRWhCO0lBQUMsTUFBTSxFQUFFOztnREFDSTtBQUViO0lBQUMsTUFBTSxFQUFFOztxREFDUztBQUVsQjtJQUFDLE1BQU0sRUFBRTs7aURBQ0s7QUFFZDtJQUFDLE1BQU0sRUFBRTs7eURBQ2E7QUFFdEI7SUFBQyxNQUFNLEVBQUU7O2lEQUNLO0FBRWQ7SUFBQyxNQUFNLEVBQUU7O2tEQUNNO0FBRWY7SUFBQyxNQUFNLEVBQUU7O3FEQUNTO0FBRWxCO0lBQUMsTUFBTSxFQUFFOzttREFDTztBQUVoQjtJQUFDLE1BQU0sRUFBRTs7dURBQ1c7QUFFcEI7SUFBQyxNQUFNLEVBQUU7O3FEQUNTO0FBRWxCO0lBQUMsTUFBTSxFQUFFOztrREFDTTtBQUVmO0lBQUMsTUFBTSxFQUFFOztxREFDUztBQUVsQjtJQUFDLE1BQU0sRUFBRTs7c0RBQ1U7QUFFbkI7SUFBQyxNQUFNLEVBQUU7OzhEQUNrQjtBQUUzQjtJQUFDLE1BQU0sRUFBRTs7NkRBQ2lCO0FBRTFCO0lBQUMsTUFBTSxFQUFFOzs4REFDa0I7QUFFM0I7SUFBQyxNQUFNLEVBQUU7O3NEQUNVO0FBRW5CO0lBQUMsTUFBTSxFQUFFOzt5REFDYTtBQUV0QjtJQUFDLE1BQU0sRUFBRTs7cURBQ1M7QUFFbEI7SUFBQyxNQUFNLEVBQUU7O29EQUNRO0FBRWpCO0lBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7O3NEQUNkO0FBRTNCO0lBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7O3VEQUNaO0FBRTVCO0lBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7O3FEQUNmO0FBRTFCO0lBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7O2tEQUNsQjtBQUV2QjtJQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDOzt1REFDYjtBQWhGeEIsa0JBQWtCO0lBRnZCLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQztJQUM5QixNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7R0FDekIsa0JBQWtCLENBaUZ2QjtBQUVELGVBQWUsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2x1bW4sIEVudGl0eSwgUHJpbWFyeUdlbmVyYXRlZENvbHVtbiwgVW5pcXVlIH0gZnJvbSAndHlwZW9ybSc7XG5cbkBFbnRpdHkoJ2V2ZW50X3RyaWdnZXJfZW50aXR5JylcbkBVbmlxdWUoWydib3hJZCcsICdleHRyYWN0b3InXSlcbmNsYXNzIEV2ZW50VHJpZ2dlckVudGl0eSB7XG4gIEBQcmltYXJ5R2VuZXJhdGVkQ29sdW1uKClcbiAgaWQ6IG51bWJlcjtcblxuICBAQ29sdW1uKHsgZGVmYXVsdDogJ05vdC1zZXQnIH0pXG4gIGV2ZW50SWQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgdHhJZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBleHRyYWN0b3I6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgYm94SWQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgYm94U2VyaWFsaXplZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBibG9jazogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBoZWlnaHQ6IG51bWJlcjtcblxuICBAQ29sdW1uKClcbiAgZnJvbUNoYWluOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIHRvQ2hhaW46IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgZnJvbUFkZHJlc3M6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgdG9BZGRyZXNzOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIGFtb3VudDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBicmlkZ2VGZWU6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgbmV0d29ya0ZlZTogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBzb3VyY2VDaGFpblRva2VuSWQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgc291cmNlQ2hhaW5IZWlnaHQ6IG51bWJlcjtcblxuICBAQ29sdW1uKClcbiAgdGFyZ2V0Q2hhaW5Ub2tlbklkOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIHNvdXJjZVR4SWQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgc291cmNlQmxvY2tJZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBXSURzQ291bnQ6IG51bWJlcjtcblxuICBAQ29sdW1uKClcbiAgV0lEc0hhc2g6IHN0cmluZztcblxuICBAQ29sdW1uKHsgbnVsbGFibGU6IHRydWUsIHR5cGU6ICd0ZXh0JyB9KVxuICBzcGVuZEJsb2NrPzogc3RyaW5nIHwgbnVsbDtcblxuICBAQ29sdW1uKHsgbnVsbGFibGU6IHRydWUsIHR5cGU6ICdpbnQnIH0pXG4gIHNwZW5kSGVpZ2h0PzogbnVtYmVyIHwgbnVsbDtcblxuICBAQ29sdW1uKHsgbnVsbGFibGU6IHRydWUsIHR5cGU6ICd0ZXh0JyB9KVxuICBzcGVuZFR4SWQ/OiBzdHJpbmcgfCBudWxsO1xuXG4gIEBDb2x1bW4oeyBudWxsYWJsZTogdHJ1ZSwgdHlwZTogJ3RleHQnIH0pXG4gIHJlc3VsdD86IHN0cmluZyB8IG51bGw7XG5cbiAgQENvbHVtbih7IG51bGxhYmxlOiB0cnVlLCB0eXBlOiAndGV4dCcgfSlcbiAgcGF5bWVudFR4SWQ/OiBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgZGVmYXVsdCBFdmVudFRyaWdnZXJFbnRpdHk7XG4iXX0=
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRUcmlnZ2VyRW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2VudGl0aWVzL0V2ZW50VHJpZ2dlckVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUd6QyxJQUFNLGtCQUFrQixHQUF4QixNQUFNLGtCQUFtQixTQUFRLDJCQUEyQjtJQUUxRCxPQUFPLENBQVM7SUFHaEIsSUFBSSxDQUFTO0lBR2IsU0FBUyxDQUFTO0lBR2xCLE9BQU8sQ0FBUztJQUdoQixXQUFXLENBQVM7SUFHcEIsU0FBUyxDQUFTO0lBR2xCLE1BQU0sQ0FBUztJQUdmLFNBQVMsQ0FBUztJQUdsQixVQUFVLENBQVM7SUFHbkIsa0JBQWtCLENBQVM7SUFHM0IsaUJBQWlCLENBQVM7SUFHMUIsa0JBQWtCLENBQVM7SUFHM0IsVUFBVSxDQUFTO0lBR25CLGFBQWEsQ0FBUztJQUd0QixTQUFTLENBQVM7SUFHbEIsUUFBUSxDQUFTO0lBR2pCLFNBQVMsQ0FBaUI7SUFHMUIsTUFBTSxDQUFpQjtJQUd2QixXQUFXLENBQWlCO0NBQzdCLENBQUE7QUF4REM7SUFBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUM7O21EQUNmO0FBRWhCO0lBQUMsTUFBTSxFQUFFOztnREFDSTtBQUViO0lBQUMsTUFBTSxFQUFFOztxREFDUztBQUVsQjtJQUFDLE1BQU0sRUFBRTs7bURBQ087QUFFaEI7SUFBQyxNQUFNLEVBQUU7O3VEQUNXO0FBRXBCO0lBQUMsTUFBTSxFQUFFOztxREFDUztBQUVsQjtJQUFDLE1BQU0sRUFBRTs7a0RBQ007QUFFZjtJQUFDLE1BQU0sRUFBRTs7cURBQ1M7QUFFbEI7SUFBQyxNQUFNLEVBQUU7O3NEQUNVO0FBRW5CO0lBQUMsTUFBTSxFQUFFOzs4REFDa0I7QUFFM0I7SUFBQyxNQUFNLEVBQUU7OzZEQUNpQjtBQUUxQjtJQUFDLE1BQU0sRUFBRTs7OERBQ2tCO0FBRTNCO0lBQUMsTUFBTSxFQUFFOztzREFDVTtBQUVuQjtJQUFDLE1BQU0sRUFBRTs7eURBQ2E7QUFFdEI7SUFBQyxNQUFNLEVBQUU7O3FEQUNTO0FBRWxCO0lBQUMsTUFBTSxFQUFFOztvREFDUTtBQUVqQjtJQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDOztxREFDZjtBQUUxQjtJQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDOztrREFDbEI7QUFFdkI7SUFBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzs7dURBQ2I7QUF4RHhCLGtCQUFrQjtJQUR2QixNQUFNLENBQUMsc0JBQXNCLENBQUM7R0FDekIsa0JBQWtCLENBeUR2QjtBQUVELGVBQWUsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdEVyZ29FeHRyYWN0b3JFbnRpdHkgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWV4dHJhY3Rvcic7XG5pbXBvcnQgeyBDb2x1bW4sIEVudGl0eSB9IGZyb20gJ3R5cGVvcm0nO1xuXG5ARW50aXR5KCdldmVudF90cmlnZ2VyX2VudGl0eScpXG5jbGFzcyBFdmVudFRyaWdnZXJFbnRpdHkgZXh0ZW5kcyBBYnN0cmFjdEVyZ29FeHRyYWN0b3JFbnRpdHkge1xuICBAQ29sdW1uKHsgZGVmYXVsdDogJ05vdC1zZXQnIH0pXG4gIGV2ZW50SWQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgdHhJZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBmcm9tQ2hhaW46IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgdG9DaGFpbjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBmcm9tQWRkcmVzczogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICB0b0FkZHJlc3M6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgYW1vdW50OiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIGJyaWRnZUZlZTogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBuZXR3b3JrRmVlOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIHNvdXJjZUNoYWluVG9rZW5JZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBzb3VyY2VDaGFpbkhlaWdodDogbnVtYmVyO1xuXG4gIEBDb2x1bW4oKVxuICB0YXJnZXRDaGFpblRva2VuSWQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgc291cmNlVHhJZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBzb3VyY2VCbG9ja0lkOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIFdJRHNDb3VudDogbnVtYmVyO1xuXG4gIEBDb2x1bW4oKVxuICBXSURzSGFzaDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBudWxsYWJsZTogdHJ1ZSwgdHlwZTogJ3RleHQnIH0pXG4gIHNwZW5kVHhJZD86IHN0cmluZyB8IG51bGw7XG5cbiAgQENvbHVtbih7IG51bGxhYmxlOiB0cnVlLCB0eXBlOiAndGV4dCcgfSlcbiAgcmVzdWx0Pzogc3RyaW5nIHwgbnVsbDtcblxuICBAQ29sdW1uKHsgbnVsbGFibGU6IHRydWUsIHR5cGU6ICd0ZXh0JyB9KVxuICBwYXltZW50VHhJZD86IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEV2ZW50VHJpZ2dlckVudGl0eTtcbiJdfQ==
@@ -1,32 +1,47 @@
1
1
  import { DataSource } from 'typeorm';
2
2
  import { Transaction } from '@rosen-bridge/scanner';
3
3
  import { AbstractLogger } from '@rosen-bridge/abstract-logger';
4
- import { AbstractExtractor, Block } from '@rosen-bridge/abstract-extractor';
4
+ import { AbstractInitializableErgoExtractor, BlockInfo, ErgoNetworkType, OutputBox } from '@rosen-bridge/abstract-extractor';
5
+ import EventTriggerAction from '../actions/EventTriggerAction';
6
+ import { ExtractedEventTrigger } from '../interfaces/extractedEventTrigger';
5
7
  import { EventResult } from '../types';
6
- declare class EventTriggerExtractor extends AbstractExtractor<Transaction> {
7
- readonly logger: AbstractLogger;
8
+ import EventTriggerEntity from '../entities/EventTriggerEntity';
9
+ declare class EventTriggerExtractor extends AbstractInitializableErgoExtractor<ExtractedEventTrigger, EventTriggerEntity> {
8
10
  id: string;
9
- private readonly dataSource;
10
- private readonly actions;
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, 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);
17
+ /**
18
+ * get Id for current extractor
19
+ */
16
20
  getId: () => string;
21
+ /**
22
+ * check proper data format in the box
23
+ * - box ergoTree
24
+ * - RWT in first token place
25
+ * - widListHash in R4
26
+ * - event data in R5
27
+ * - widCount in R7
28
+ * @param box
29
+ * @return true if the box has the required data and false otherwise
30
+ */
31
+ hasData: (box: OutputBox) => boolean;
32
+ /**
33
+ * extract box data to proper format (not including spending information)
34
+ * @param box
35
+ * @return extracted data in proper format
36
+ */
37
+ extractBoxData: (box: OutputBox) => Omit<ExtractedEventTrigger, 'spendBlock' | 'spendHeight'> | undefined;
17
38
  /**
18
39
  * gets block id and transactions corresponding to the block and saves if they are valid rosen
19
40
  * transactions and in case of success return true and in case of failure returns false
20
41
  * @param block
21
42
  * @param txs
22
43
  */
23
- processTransactions: (txs: Array<Transaction>, block: Block) => Promise<boolean>;
24
- forkBlock: (hash: string) => Promise<void>;
25
- /**
26
- * Extractor box initialization
27
- * No action needed in event trigger extractors
28
- */
29
- initializeBoxes: () => Promise<void>;
44
+ processTransactions: (txs: Array<Transaction>, block: BlockInfo) => Promise<boolean>;
30
45
  /**
31
46
  * extracts result and paymentTxId from a transaction
32
47
  * returns 'unknown' as result when tx is neither fraud or successful
@@ -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;AAC5E,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAK5E,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,cAAM,qBAAsB,SAAQ,iBAAiB,CAAC,WAAW,CAAC;IAChE,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,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,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,cAAc;IAmBzB,KAAK,eAAiB;IAEtB;;;;;OAKG;IACH,mBAAmB,QACZ,MAAM,WAAW,CAAC,SAChB,KAAK,KACX,QAAQ,OAAO,CAAC,CAsIjB;IAEF,SAAS,SAAgB,MAAM,mBAE7B;IAEF;;;OAGG;IACH,eAAe,sBAEb;IAEF;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,gBAAiB,WAAW;;;MA0CtD;CACH;AAED,eAAe,qBAAqB,CAAC"}
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"}