@rosen-bridge/watcher-data-extractor 0.1.2-alpha → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +24 -17
  2. package/dist/actions/EventTriggerDB.d.ts +11 -3
  3. package/dist/actions/EventTriggerDB.d.ts.map +1 -0
  4. package/dist/actions/EventTriggerDB.js +41 -9
  5. package/dist/actions/commitmentDB.d.ts +4 -3
  6. package/dist/actions/commitmentDB.d.ts.map +1 -0
  7. package/dist/actions/commitmentDB.js +24 -15
  8. package/dist/actions/permitDB.d.ts +12 -4
  9. package/dist/actions/permitDB.d.ts.map +1 -0
  10. package/dist/actions/permitDB.js +61 -16
  11. package/dist/entities/CommitmentEntity.d.ts +1 -0
  12. package/dist/entities/CommitmentEntity.d.ts.map +1 -0
  13. package/dist/entities/CommitmentEntity.js +3 -2
  14. package/dist/entities/EventTriggerEntity.d.ts +3 -0
  15. package/dist/entities/EventTriggerEntity.d.ts.map +1 -0
  16. package/dist/entities/EventTriggerEntity.js +13 -2
  17. package/dist/entities/PermitEntity.d.ts +1 -0
  18. package/dist/entities/PermitEntity.d.ts.map +1 -0
  19. package/dist/entities/PermitEntity.js +3 -2
  20. package/dist/extractor/EventTriggerExtractor.d.ts +8 -2
  21. package/dist/extractor/EventTriggerExtractor.d.ts.map +1 -0
  22. package/dist/extractor/EventTriggerExtractor.js +37 -13
  23. package/dist/extractor/commitmentExtractor.d.ts +8 -2
  24. package/dist/extractor/commitmentExtractor.d.ts.map +1 -0
  25. package/dist/extractor/commitmentExtractor.js +21 -10
  26. package/dist/extractor/permitExtractor.d.ts +12 -4
  27. package/dist/extractor/permitExtractor.d.ts.map +1 -0
  28. package/dist/extractor/permitExtractor.js +57 -11
  29. package/dist/index.d.ts +8 -7
  30. package/dist/index.d.ts.map +1 -0
  31. package/dist/index.js +8 -7
  32. package/dist/interfaces/extractedCommitment.d.ts +1 -0
  33. package/dist/interfaces/extractedCommitment.d.ts.map +1 -0
  34. package/dist/interfaces/extractedCommitment.js +1 -0
  35. package/dist/interfaces/extractedEventTrigger.d.ts +1 -0
  36. package/dist/interfaces/extractedEventTrigger.d.ts.map +1 -0
  37. package/dist/interfaces/extractedEventTrigger.js +1 -0
  38. package/dist/interfaces/extractedPermit.d.ts +5 -2
  39. package/dist/interfaces/extractedPermit.d.ts.map +1 -0
  40. package/dist/interfaces/extractedPermit.js +1 -0
  41. package/dist/interfaces/types.d.ts +20 -0
  42. package/dist/interfaces/types.d.ts.map +1 -0
  43. package/dist/interfaces/types.js +2 -0
  44. package/dist/migrations/1659787165000-initMigration.d.ts +2 -1
  45. package/dist/migrations/1659787165000-initMigration.d.ts.map +1 -0
  46. package/dist/migrations/1659787165000-initMigration.js +3 -0
  47. package/dist/migrations/index.d.ts +2 -1
  48. package/dist/migrations/index.d.ts.map +1 -0
  49. package/dist/migrations/index.js +2 -1
  50. package/dist/network/ergoNetworkApi.d.ts +15 -0
  51. package/dist/network/ergoNetworkApi.d.ts.map +1 -0
  52. package/dist/network/ergoNetworkApi.js +27 -0
  53. package/dist/network/parser.d.ts +8 -0
  54. package/dist/network/parser.d.ts.map +1 -0
  55. package/dist/network/parser.js +6 -0
  56. package/package.json +14 -6
package/README.md CHANGED
@@ -1,58 +1,63 @@
1
1
  # Watcher Data Extractor
2
2
 
3
-
4
3
  ### Table of Contents
5
- - [Description](#description)
4
+
5
+ - [Description](#description)
6
6
  - [Related Projects](#related-projects)
7
7
  - [How to Use the Watcher Data Extractor](#how-to-use-the-watcher-data-extractor)
8
- - [Install](#install)
9
- - [Usage](#usage)
8
+ - [Install](#install)
9
+ - [Usage](#usage)
10
10
  - [Contributing](#contributing)
11
11
  - [License](#license)
12
12
 
13
13
  <a name="headers"/>
14
14
 
15
15
  ## Description
16
+
16
17
  Data extractors are modules that are integrated within a scanner. They drive the required information from the scanned blocks and store them in their own database. The watcher data extractor is responsible for tracking all watcher-related data in the network. These data includes permit, commitment and event trigger boxes; all these boxes are created in the network by the watchers. The watchers use their permits to create new commitments, and need to track created commitments and triggers to continue their procedures. On the other side, guards need to track event trigger boxes to verify the related user payment and start an agreement on the exchange transaction.
17
-
18
-
18
+
19
19
  ## Related Projects
20
- This module is used within the [Scanner](https://github.com/rosen-bridge/scanner) project. As stated above, this module is used in the [Watcher](https://github.com/rosen-bridge/watcher) service to drive the related boxes. It also used in the [Guard](https://github.com/rosen-bridge/watcher) to track the created event triggers.
21
20
 
21
+ This module is used within the [Scanner](https://github.com/rosen-bridge/scanner) project. As stated above, this module is used in the [Watcher](https://github.com/rosen-bridge/watcher) service to drive the related boxes. It also used in the [Guard](https://github.com/rosen-bridge/watcher) to track the created event triggers.
22
22
 
23
23
  ## How to Use the Watcher Data Extractor
24
+
24
25
  ### Install
26
+
25
27
  This project is written in node-js using Esnext module and typeorm database. Extractors are not standalone projects and should be used as scanner modules. You can easily install it using npm with the command:
26
-
28
+
27
29
  ```shell
28
30
  npm install @rosen-bridge/watcher-data-extractor
29
31
  ```
30
-
32
+
31
33
  Alternatively, you can build and use it manually by cloning the project and running:
34
+
32
35
  ```shell
33
36
  npm install
34
37
  npm run build
35
38
  ```
36
-
39
+
37
40
  ### Usage
41
+
38
42
  In the first step, you need to create a scanner instance; follow the steps [here](https://github.com/rosen-bridge/scanner) to create a running instance of the scanner. Then, you need to instantiate your desired extractors and register them to your ergo scanner:
43
+
39
44
  ```javascript
40
45
  const commitmentExtractor = new CommitmentExtractor(
41
- <extractor_name>,
46
+ <extractor_name>,
42
47
  <Array<commitment_address>>,
43
48
  <rwt_id>,
44
49
  dataSource
45
50
  )
46
51
  const permitExtractor = new PermitExtractor(
47
- <extractor_name>,
48
- dataSource,
49
- <permit_address>,
52
+ <extractor_name>,
53
+ dataSource,
54
+ <permit_address>,
50
55
  <rwt_id>
51
56
  )
52
57
  const eventTriggerExtractor = new EventTriggerExtractor(
53
- <extractor_name>,
54
- dataSource,
55
- <event_trigger_address>,
58
+ <extractor_name>,
59
+ dataSource,
60
+ <event_trigger_address>,
56
61
  <rwt_id>
57
62
  )
58
63
  ergoScanner.registerExtractor(commitmentExtractor)
@@ -61,7 +66,9 @@ ergoScanner.registerExtractor(eventTriggerExtractor)
61
66
  ```
62
67
 
63
68
  ## Contributing
69
+
64
70
  TBD
65
71
 
66
72
  ## License
73
+
67
74
  TBD
@@ -1,6 +1,6 @@
1
- import { DataSource } from "typeorm";
2
- import { BlockEntity } from "@rosen-bridge/scanner";
3
- import { ExtractedEventTrigger } from "../interfaces/extractedEventTrigger";
1
+ import { DataSource } from 'typeorm';
2
+ import { BlockEntity } from '@rosen-bridge/scanner';
3
+ import { ExtractedEventTrigger } from '../interfaces/extractedEventTrigger';
4
4
  declare class EventTriggerDB {
5
5
  private readonly datasource;
6
6
  private readonly triggerEventRepository;
@@ -12,6 +12,13 @@ declare class EventTriggerDB {
12
12
  * @param extractor
13
13
  */
14
14
  storeEventTriggers: (eventTriggers: Array<ExtractedEventTrigger>, block: BlockEntity, extractor: string) => Promise<boolean>;
15
+ /**
16
+ * update spendBlock Column of the commitments in the dataBase
17
+ * @param spendId
18
+ * @param block
19
+ * @param extractor
20
+ */
21
+ spendEventTriggers: (spendId: Array<string>, block: BlockEntity, extractor: string) => Promise<void>;
15
22
  /**
16
23
  * deleting all permits corresponding to the block(id) and extractor(id)
17
24
  * @param block
@@ -20,3 +27,4 @@ declare class EventTriggerDB {
20
27
  deleteBlock: (block: string, extractor: string) => Promise<void>;
21
28
  }
22
29
  export default EventTriggerDB;
30
+ //# sourceMappingURL=EventTriggerDB.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventTriggerDB.d.ts","sourceRoot":"","sources":["../../lib/actions/EventTriggerDB.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAkB,MAAM,SAAS,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAG5E,cAAM,cAAc;IAClB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAiC;gBAE5D,UAAU,EAAE,UAAU;IAKlC;;;;;OAKG;IACH,kBAAkB,kBACD,MAAM,qBAAqB,CAAC,SACpC,WAAW,aACP,MAAM,sBAyDjB;IAEF;;;;;OAKG;IACH,kBAAkB,YACP,MAAM,MAAM,CAAC,SACf,WAAW,aACP,MAAM,KAChB,QAAQ,IAAI,CAAC,CAYd;IAEF;;;;OAIG;IACH,WAAW,UAAiB,MAAM,aAAa,MAAM,mBAmBnD;CACH;AAED,eAAe,cAAc,CAAC"}
@@ -1,5 +1,6 @@
1
- import { In } from "typeorm";
2
- import EventTriggerEntity from "../entities/EventTriggerEntity";
1
+ import { In } from 'typeorm';
2
+ import EventTriggerEntity from '../entities/EventTriggerEntity';
3
+ import eventTriggerEntity from '../entities/EventTriggerEntity';
3
4
  class EventTriggerDB {
4
5
  datasource;
5
6
  triggerEventRepository;
@@ -16,7 +17,7 @@ class EventTriggerDB {
16
17
  storeEventTriggers = async (eventTriggers, block, extractor) => {
17
18
  if (eventTriggers.length === 0)
18
19
  return true;
19
- const boxIds = eventTriggers.map(trigger => trigger.boxId);
20
+ const boxIds = eventTriggers.map((trigger) => trigger.boxId);
20
21
  const savedTriggers = await this.triggerEventRepository.findBy({
21
22
  boxId: In(boxIds),
22
23
  extractor: extractor,
@@ -54,7 +55,7 @@ class EventTriggerDB {
54
55
  }
55
56
  else {
56
57
  await queryRunner.manager.update(EventTriggerEntity, {
57
- boxId: event.boxId
58
+ boxId: event.boxId,
58
59
  }, entity);
59
60
  }
60
61
  }
@@ -70,19 +71,50 @@ class EventTriggerDB {
70
71
  }
71
72
  return success;
72
73
  };
74
+ /**
75
+ * update spendBlock Column of the commitments in the dataBase
76
+ * @param spendId
77
+ * @param block
78
+ * @param extractor
79
+ */
80
+ spendEventTriggers = async (spendId, block, extractor) => {
81
+ for (const id of spendId) {
82
+ await this.datasource
83
+ .createQueryBuilder()
84
+ .update(eventTriggerEntity)
85
+ .set({ spendBlock: block.hash, spendHeight: block.height })
86
+ .where('boxId = :id AND extractor = :extractor', {
87
+ id: id,
88
+ extractor: extractor,
89
+ })
90
+ .execute();
91
+ }
92
+ };
73
93
  /**
74
94
  * deleting all permits corresponding to the block(id) and extractor(id)
75
95
  * @param block
76
96
  * @param extractor
77
97
  */
78
98
  deleteBlock = async (block, extractor) => {
79
- await this.datasource.createQueryBuilder()
99
+ await this.datasource
100
+ .createQueryBuilder()
80
101
  .delete()
81
102
  .from(EventTriggerEntity)
82
- .where("extractor = :extractor AND block = :block", {
83
- "block": block,
84
- "extractor": extractor
85
- }).execute();
103
+ .where('extractor = :extractor AND block = :block', {
104
+ block: block,
105
+ extractor: extractor,
106
+ })
107
+ .execute();
108
+ //TODO: should handled null value in spendBlockHeight
109
+ await this.datasource
110
+ .createQueryBuilder()
111
+ .update(EventTriggerEntity)
112
+ .set({ spendBlock: undefined, spendHeight: 0 })
113
+ .where('spendBlock = :block AND block = :block', {
114
+ block: block,
115
+ })
116
+ .execute();
86
117
  };
87
118
  }
88
119
  export default EventTriggerDB;
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRUcmlnZ2VyREIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvYWN0aW9ucy9FdmVudFRyaWdnZXJEQi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsRUFBRSxFQUFjLE1BQU0sU0FBUyxDQUFDO0FBQ3JELE9BQU8sa0JBQWtCLE1BQU0sZ0NBQWdDLENBQUM7QUFHaEUsT0FBTyxrQkFBa0IsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVoRSxNQUFNLGNBQWM7SUFDRCxVQUFVLENBQWE7SUFDdkIsc0JBQXNCLENBQWlDO0lBRXhFLFlBQVksVUFBc0I7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxrQkFBa0IsR0FBRyxLQUFLLEVBQ3hCLGFBQTJDLEVBQzNDLEtBQWtCLEVBQ2xCLFNBQWlCLEVBQ2pCLEVBQUU7UUFDRixJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzVDLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3RCxNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUM7WUFDN0QsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDakIsU0FBUyxFQUFFLFNBQVM7U0FDckIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ25CLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN4RCxNQUFNLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FB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LEVBQUU7YUFDcEIsTUFBTSxFQUFFO2FBQ1IsSUFBSSxDQUFDLGtCQUFrQixDQUFDO2FBQ3hCLEtBQUssQ0FBQywyQ0FBMkMsRUFBRTtZQUNsRCxLQUFLLEVBQUUsS0FBSztZQUNaLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUM7YUFDRCxPQUFPLEVBQUUsQ0FBQztRQUNiLHFEQUFxRDtRQUNyRCxNQUFNLElBQUksQ0FBQyxVQUFVO2FBQ2xCLGtCQUFrQixFQUFFO2FBQ3BCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQzthQUMxQixHQUFHLENBQUMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQzthQUM5QyxLQUFLLENBQUMsd0NBQXdDLEVBQUU7WUFDL0MsS0FBSyxFQUFFLEtBQUs7U0FDYixDQUFDO2FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDZixDQUFDLENBQUM7Q0FDSDtBQUVELGVBQWUsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVNvdXJjZSwgSW4sIFJlcG9zaXRvcnkgfSBmcm9tICd0eXBlb3JtJztcbmltcG9ydCBFdmVudFRyaWdnZXJFbnRpdHkgZnJvbSAnLi4vZW50aXRpZXMvRXZlbnRUcmlnZ2VyRW50aXR5JztcbmltcG9ydCB7IEJsb2NrRW50aXR5IH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9zY2FubmVyJztcbmltcG9ydCB7IEV4dHJhY3RlZEV2ZW50VHJpZ2dlciB9IGZyb20gJy4uL2ludGVyZmFjZXMvZXh0cmFjdGVkRXZlbnRUcmlnZ2VyJztcbmltcG9ydCBldmVudFRyaWdnZXJFbnRpdHkgZnJvbSAnLi4vZW50aXRpZXMvRXZlbnRUcmlnZ2VyRW50aXR5JztcblxuY2xhc3MgRXZlbnRUcmlnZ2VyREIge1xuICBwcml2YXRlIHJlYWRvbmx5IGRhdGFzb3VyY2U6IERhdGFTb3VyY2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJpZ2dlckV2ZW50UmVwb3NpdG9yeTogUmVwb3NpdG9yeTxFdmVudFRyaWdnZXJFbnRpdHk+O1xuXG4gIGNvbnN0cnVjdG9yKGRhdGFTb3VyY2U6IERhdGFTb3VyY2UpIHtcbiAgICB0aGlzLmRhdGFzb3VyY2UgPSBkYXRhU291cmNlO1xuICAgIHRoaXMudHJpZ2dlckV2ZW50UmVwb3NpdG9yeSA9IGRhdGFTb3VyY2UuZ2V0UmVwb3NpdG9yeShFdmVudFRyaWdnZXJFbnRpdHkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEl0IHN0b3JlcyBsaXN0IG9mIGV2ZW50VHJpZ2dlcnMgaW4gdGhlIGRhdGFTb3VyY2Ugd2l0aCBibG9jayBpZFxuICAgKiBAcGFyYW0gZXZlbnRUcmlnZ2Vyc1xuICAgKiBAcGFyYW0gYmxvY2tcbiAgICogQHBhcmFtIGV4dHJhY3RvclxuICAgKi9cbiAgc3RvcmVFdmVudFRyaWdnZXJzID0gYXN5bmMgKFxuICAgIGV2ZW50VHJpZ2dlcnM6IEFycmF5PEV4dHJhY3RlZEV2ZW50VHJpZ2dlcj4sXG4gICAgYmxvY2s6IEJsb2NrRW50aXR5LFxuICAgIGV4dHJhY3Rvcjogc3RyaW5nXG4gICkgPT4ge1xuICAgIGlmIChldmVudFRyaWdnZXJzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHRydWU7XG4gICAgY29uc3QgYm94SWRzID0gZXZlbnRUcmlnZ2Vycy5tYXAoKHRyaWdnZXIpID0+IHRyaWdnZXIuYm94SWQpO1xuICAgIGNvbnN0IHNhdmVkVHJpZ2dlcnMgPSBhd2FpdCB0aGlzLnRyaWdnZXJFdmVudFJlcG9zaXRvcnkuZmluZEJ5KHtcbiAgICAgIGJveElkOiBJbihib3hJZHMpLFxuICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgfSk7XG4gICAgbGV0IHN1Y2Nlc3MgPSB0cnVlO1xuICAgIGNvbnN0IHF1ZXJ5UnVubmVyID0gdGhpcy5kYXRhc291cmNlLmNyZWF0ZVF1ZXJ5UnVubmVyKCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIuY29ubmVjdCgpO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnN0YXJ0VHJhbnNhY3Rpb24oKTtcbiAgICB0cnkge1xuICAgICAgZm9yIChjb25zdCBldmVudCBvZiBldmVudFRyaWdnZXJzKSB7XG4gICAgICAgIGNvbnN0IHNhdmVkID0gc2F2ZWRUcmlnZ2Vycy5zb21lKChlbnRpdHkpID0+IHtcbiAgICAgICAgICByZXR1cm4gZW50aXR5LmJveElkID09PSBldmVudC5ib3hJZDtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGVudGl0eSA9IHtcbiAgICAgICAgICBib3hJZDogZXZlbnQuYm94SWQsXG4gICAgICAgICAgYm94U2VyaWFsaXplZDogZXZlbnQuYm94U2VyaWFsaXplZCxcbiAgICAgICAgICBibG9jazogYmxvY2suaGFzaCxcbiAgICAgICAgICBoZWlnaHQ6IGJsb2NrLmhlaWdodCxcbiAgICAgICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICAgICAgICBXSURzOiBldmVudC5XSURzLFxuICAgICAgICAgIGFtb3VudDogZXZlbnQuYW1vdW50LFxuICAgICAgICAgIGJyaWRnZUZlZTogZXZlbnQuYnJpZGdlRmVlLFxuICAgICAgICAgIGZyb21BZGRyZXNzOiBldmVudC5mcm9tQWRkcmVzcyxcbiAgICAgICAgICB0b0FkZHJlc3M6IGV2ZW50LnRvQWRkcmVzcyxcbiAgICAgICAgICBmcm9tQ2hhaW46IGV2ZW50LmZyb21DaGFpbixcbiAgICAgICAgICBuZXR3b3JrRmVlOiBldmVudC5uZXR3b3JrRmVlLFxuICAgICAgICAgIHNvdXJjZUNoYWluVG9rZW5JZDogZXZlbnQuc291cmNlQ2hhaW5Ub2tlbklkLFxuICAgICAgICAgIHRhcmdldENoYWluVG9rZW5JZDogZXZlbnQudGFyZ2V0Q2hhaW5Ub2tlbklkLFxuICAgICAgICAgIHNvdXJjZUJsb2NrSWQ6IGV2ZW50LnNvdXJjZUJsb2NrSWQsXG4gICAgICAgICAgdG9DaGFpbjogZXZlbnQudG9DaGFpbixcbiAgICAgICAgICBzb3VyY2VUeElkOiBldmVudC5zb3VyY2VUeElkLFxuICAgICAgICB9O1xuICAgICAgICBpZiAoIXNhdmVkKSB7XG4gICAgICAgICAgYXdhaXQgcXVlcnlSdW5uZXIubWFuYWdlci5pbnNlcnQoRXZlbnRUcmlnZ2VyRW50aXR5LCBlbnRpdHkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLm1hbmFnZXIudXBkYXRlKFxuICAgICAgICAgICAgRXZlbnRUcmlnZ2VyRW50aXR5LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBib3hJZDogZXZlbnQuYm94SWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZW50aXR5XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIuY29tbWl0VHJhbnNhY3Rpb24oKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmxvZyhgQW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHN0b3JlIGV2ZW50VHJpZ2dlciBhY3Rpb246ICR7ZX1gKTtcbiAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnJvbGxiYWNrVHJhbnNhY3Rpb24oKTtcbiAgICAgIHN1Y2Nlc3MgPSBmYWxzZTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIucmVsZWFzZSgpO1xuICAgIH1cbiAgICByZXR1cm4gc3VjY2VzcztcbiAgfTtcblxuICAvKipcbiAgICogdXBkYXRlIHNwZW5kQmxvY2sgQ29sdW1uIG9mIHRoZSBjb21taXRtZW50cyBpbiB0aGUgZGF0YUJhc2VcbiAgICogQHBhcmFtIHNwZW5kSWRcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICovXG4gIHNwZW5kRXZlbnRUcmlnZ2VycyA9IGFzeW5jIChcbiAgICBzcGVuZElkOiBBcnJheTxzdHJpbmc+LFxuICAgIGJsb2NrOiBCbG9ja0VudGl0eSxcbiAgICBleHRyYWN0b3I6IHN0cmluZ1xuICApOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBmb3IgKGNvbnN0IGlkIG9mIHNwZW5kSWQpIHtcbiAgICAgIGF3YWl0IHRoaXMuZGF0YXNvdXJjZVxuICAgICAgICAuY3JlYXRlUXVlcnlCdWlsZGVyKClcbiAgICAgICAgLnVwZGF0ZShldmVudFRyaWdnZXJFbnRpdHkpXG4gICAgICAgIC5zZXQoeyBzcGVuZEJsb2NrOiBibG9jay5oYXNoLCBzcGVuZEhlaWdodDogYmxvY2suaGVpZ2h0IH0pXG4gICAgICAgIC53aGVyZSgnYm94SWQgPSA6aWQgQU5EIGV4dHJhY3RvciA9IDpleHRyYWN0b3InLCB7XG4gICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgICAgICB9KVxuICAgICAgICAuZXhlY3V0ZSgpO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogZGVsZXRpbmcgYWxsIHBlcm1pdHMgY29ycmVzcG9uZGluZyB0byB0aGUgYmxvY2soaWQpIGFuZCBleHRyYWN0b3IoaWQpXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKiBAcGFyYW0gZXh0cmFjdG9yXG4gICAqL1xuICBkZWxldGVCbG9jayA9IGFzeW5jIChibG9jazogc3RyaW5nLCBleHRyYWN0b3I6IHN0cmluZykgPT4ge1xuICAgIGF3YWl0IHRoaXMuZGF0YXNvdXJjZVxuICAgICAgLmNyZWF0ZVF1ZXJ5QnVpbGRlcigpXG4gICAgICAuZGVsZXRlKClcbiAgICAgIC5mcm9tKEV2ZW50VHJpZ2dlckVudGl0eSlcbiAgICAgIC53aGVyZSgnZXh0cmFjdG9yID0gOmV4dHJhY3RvciBBTkQgYmxvY2sgPSA6YmxvY2snLCB7XG4gICAgICAgIGJsb2NrOiBibG9jayxcbiAgICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgICB9KVxuICAgICAgLmV4ZWN1dGUoKTtcbiAgICAvL1RPRE86IHNob3VsZCBoYW5kbGVkIG51bGwgdmFsdWUgaW4gc3BlbmRCbG9ja0hlaWdodFxuICAgIGF3YWl0IHRoaXMuZGF0YXNvdXJjZVxuICAgICAgLmNyZWF0ZVF1ZXJ5QnVpbGRlcigpXG4gICAgICAudXBkYXRlKEV2ZW50VHJpZ2dlckVudGl0eSlcbiAgICAgIC5zZXQoeyBzcGVuZEJsb2NrOiB1bmRlZmluZWQsIHNwZW5kSGVpZ2h0OiAwIH0pXG4gICAgICAud2hlcmUoJ3NwZW5kQmxvY2sgPSA6YmxvY2sgQU5EIGJsb2NrID0gOmJsb2NrJywge1xuICAgICAgICBibG9jazogYmxvY2ssXG4gICAgICB9KVxuICAgICAgLmV4ZWN1dGUoKTtcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRXZlbnRUcmlnZ2VyREI7XG4iXX0=
@@ -1,6 +1,6 @@
1
- import { DataSource } from "typeorm";
2
- import { extractedCommitment } from "../interfaces/extractedCommitment";
3
- import { BlockEntity } from "@rosen-bridge/scanner";
1
+ import { DataSource } from 'typeorm';
2
+ import { extractedCommitment } from '../interfaces/extractedCommitment';
3
+ import { BlockEntity } from '@rosen-bridge/scanner';
4
4
  declare class CommitmentEntityAction {
5
5
  private readonly datasource;
6
6
  private readonly commitmentRepository;
@@ -27,3 +27,4 @@ declare class CommitmentEntityAction {
27
27
  deleteBlockCommitment: (block: string, extractor: string) => Promise<void>;
28
28
  }
29
29
  export default CommitmentEntityAction;
30
+ //# sourceMappingURL=commitmentDB.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commitmentDB.d.ts","sourceRoot":"","sources":["../../lib/actions/commitmentDB.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAkB,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,cAAM,sBAAsB;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA+B;gBAExD,UAAU,EAAE,UAAU;IAKlC;;;;;OAKG;IACH,gBAAgB,gBACD,MAAM,mBAAmB,CAAC,SAChC,WAAW,aACP,MAAM,KAChB,QAAQ,OAAO,CAAC,CA+CjB;IAEF;;;;;OAKG;IACH,gBAAgB,YACL,MAAM,MAAM,CAAC,SACf,WAAW,aACP,MAAM,KAChB,QAAQ,IAAI,CAAC,CAad;IAEF;;;;OAIG;IACH,qBAAqB,UAAiB,MAAM,aAAa,MAAM,mBAmB7D;CACH;AAED,eAAe,sBAAsB,CAAC"}
@@ -1,5 +1,5 @@
1
- import { In } from "typeorm";
2
- import CommitmentEntity from "../entities/CommitmentEntity";
1
+ import { In } from 'typeorm';
2
+ import CommitmentEntity from '../entities/CommitmentEntity';
3
3
  class CommitmentEntityAction {
4
4
  datasource;
5
5
  commitmentRepository;
@@ -16,7 +16,7 @@ class CommitmentEntityAction {
16
16
  storeCommitments = async (commitments, block, extractor) => {
17
17
  if (commitments.length === 0)
18
18
  return true;
19
- const boxIds = commitments.map(commitment => commitment.boxId);
19
+ const boxIds = commitments.map((commitment) => commitment.boxId);
20
20
  const savedCommitments = await this.commitmentRepository.findBy({
21
21
  boxId: In(boxIds),
22
22
  extractor: extractor,
@@ -45,7 +45,7 @@ class CommitmentEntityAction {
45
45
  }
46
46
  else {
47
47
  await queryRunner.manager.update(CommitmentEntity, {
48
- boxId: commitment.boxId
48
+ boxId: commitment.boxId,
49
49
  }, entity);
50
50
  }
51
51
  }
@@ -70,10 +70,14 @@ class CommitmentEntityAction {
70
70
  spendCommitments = async (spendId, block, extractor) => {
71
71
  //todo: should change with single db call
72
72
  for (const id of spendId) {
73
- await this.datasource.createQueryBuilder()
73
+ await this.datasource
74
+ .createQueryBuilder()
74
75
  .update(CommitmentEntity)
75
76
  .set({ spendBlock: block.hash, spendHeight: block.height })
76
- .where("boxId = :id AND extractor = :extractor", { id: id, extractor: extractor })
77
+ .where('boxId = :id AND extractor = :extractor', {
78
+ id: id,
79
+ extractor: extractor,
80
+ })
77
81
  .execute();
78
82
  }
79
83
  };
@@ -83,20 +87,25 @@ class CommitmentEntityAction {
83
87
  * @param extractor
84
88
  */
85
89
  deleteBlockCommitment = async (block, extractor) => {
86
- await this.datasource.createQueryBuilder()
90
+ await this.datasource
91
+ .createQueryBuilder()
87
92
  .delete()
88
93
  .from(CommitmentEntity)
89
- .where("extractor = :extractor AND block = :block", {
90
- "block": block,
91
- "extractor": extractor
92
- }).execute();
94
+ .where('extractor = :extractor AND block = :block', {
95
+ block: block,
96
+ extractor: extractor,
97
+ })
98
+ .execute();
93
99
  //TODO: should handled null value in spendBlockHeight
94
- await this.datasource.createQueryBuilder()
100
+ await this.datasource
101
+ .createQueryBuilder()
95
102
  .update(CommitmentEntity)
96
103
  .set({ spendBlock: undefined, spendHeight: 0 })
97
- .where("spendBlock = :block AND block = :block", {
98
- block: block
99
- }).execute();
104
+ .where('spendBlock = :block AND block = :block', {
105
+ block: block,
106
+ })
107
+ .execute();
100
108
  };
101
109
  }
102
110
  export default CommitmentEntityAction;
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWl0bWVudERCLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2FjdGlvbnMvY29tbWl0bWVudERCLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxFQUFFLEVBQWMsTUFBTSxTQUFTLENBQUM7QUFFckQsT0FBTyxnQkFBZ0IsTUFBTSw4QkFBOEIsQ0FBQztBQUc1RCxNQUFNLHNCQUFzQjtJQUNULFVBQVUsQ0FBYTtJQUN2QixvQkFBb0IsQ0FBK0I7SUFFcEUsWUFBWSxVQUFzQjtRQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGdCQUFnQixHQUFHLEtBQUssRUFDdEIsV0FBdUMsRUFDdkMsS0FBa0IsRUFDbEIsU0FBaUIsRUFDQyxFQUFFO1FBQ3BCLElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDMUMsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDO1lBQzlELEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2pCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUMsQ0FBQztRQUNILElBQUksT0FBTyxHQUFHLElBQUksQ0FBQztRQUNuQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDeEQsTUFBTSxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUIsTUFBTSxXQUFXLENBQUMsZ0JBQWdCLEVBQUUs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LHdDQUF3QyxFQUFFO1lBQy9DLEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FBQzthQUNELE9BQU8sRUFBRSxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0NBQ0g7QUFFRCxlQUFlLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVNvdXJjZSwgSW4sIFJlcG9zaXRvcnkgfSBmcm9tICd0eXBlb3JtJztcbmltcG9ydCB7IGV4dHJhY3RlZENvbW1pdG1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2V4dHJhY3RlZENvbW1pdG1lbnQnO1xuaW1wb3J0IENvbW1pdG1lbnRFbnRpdHkgZnJvbSAnLi4vZW50aXRpZXMvQ29tbWl0bWVudEVudGl0eSc7XG5pbXBvcnQgeyBCbG9ja0VudGl0eSB9IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lcic7XG5cbmNsYXNzIENvbW1pdG1lbnRFbnRpdHlBY3Rpb24ge1xuICBwcml2YXRlIHJlYWRvbmx5IGRhdGFzb3VyY2U6IERhdGFTb3VyY2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29tbWl0bWVudFJlcG9zaXRvcnk6IFJlcG9zaXRvcnk8Q29tbWl0bWVudEVudGl0eT47XG5cbiAgY29uc3RydWN0b3IoZGF0YVNvdXJjZTogRGF0YVNvdXJjZSkge1xuICAgIHRoaXMuZGF0YXNvdXJjZSA9IGRhdGFTb3VyY2U7XG4gICAgdGhpcy5jb21taXRtZW50UmVwb3NpdG9yeSA9IGRhdGFTb3VyY2UuZ2V0UmVwb3NpdG9yeShDb21taXRtZW50RW50aXR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCBzdG9yZXMgbGlzdCBvZiBvYnNlcnZhdGlvbnMgaW4gdGhlIGRhdGFTb3VyY2Ugd2l0aCBibG9jayBpZFxuICAgKiBAcGFyYW0gY29tbWl0bWVudHNcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICovXG4gIHN0b3JlQ29tbWl0bWVudHMgPSBhc3luYyAoXG4gICAgY29tbWl0bWVudHM6IEFycmF5PGV4dHJhY3RlZENvbW1pdG1lbnQ+LFxuICAgIGJsb2NrOiBCbG9ja0VudGl0eSxcbiAgICBleHRyYWN0b3I6IHN0cmluZ1xuICApOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICBpZiAoY29tbWl0bWVudHMubGVuZ3RoID09PSAwKSByZXR1cm4gdHJ1ZTtcbiAgICBjb25zdCBib3hJZHMgPSBjb21taXRtZW50cy5tYXAoKGNvbW1pdG1lbnQpID0+IGNvbW1pdG1lbnQuYm94SWQpO1xuICAgIGNvbnN0IHNhdmVkQ29tbWl0bWVudHMgPSBhd2FpdCB0aGlzLmNvbW1pdG1lbnRSZXBvc2l0b3J5LmZpbmRCeSh7XG4gICAgICBib3hJZDogSW4oYm94SWRzKSxcbiAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgIH0pO1xuICAgIGxldCBzdWNjZXNzID0gdHJ1ZTtcbiAgICBjb25zdCBxdWVyeVJ1bm5lciA9IHRoaXMuZGF0YXNvdXJjZS5jcmVhdGVRdWVyeVJ1bm5lcigpO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLmNvbm5lY3QoKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5zdGFydFRyYW5zYWN0aW9uKCk7XG4gICAgdHJ5IHtcbiAgICAgIGZvciAoY29uc3QgY29tbWl0bWVudCBvZiBjb21taXRtZW50cykge1xuICAgICAgICBjb25zdCBzYXZlZCA9IHNhdmVkQ29tbWl0bWVudHMuc29tZSgoZW50aXR5KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGVudGl0eS5ib3hJZCA9PT0gY29tbWl0bWVudC5ib3hJZDtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGVudGl0eSA9IHtcbiAgICAgICAgICBjb21taXRtZW50OiBjb21taXRtZW50LmNvbW1pdG1lbnQsXG4gICAgICAgICAgZXZlbnRJZDogY29tbWl0bWVudC5ldmVudElkLFxuICAgICAgICAgIGJveElkOiBjb21taXRtZW50LmJveElkLFxuICAgICAgICAgIFdJRDogY29tbWl0bWVudC5XSUQsXG4gICAgICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgICAgICAgYmxvY2s6IGJsb2NrLmhhc2gsXG4gICAgICAgICAgaGVpZ2h0OiBibG9jay5oZWlnaHQsXG4gICAgICAgICAgYm94U2VyaWFsaXplZDogY29tbWl0bWVudC5ib3hTZXJpYWxpemVkLFxuICAgICAgICB9O1xuICAgICAgICBpZiAoIXNhdmVkKSB7XG4gICAgICAgICAgYXdhaXQgcXVlcnlSdW5uZXIubWFuYWdlci5pbnNlcnQoQ29tbWl0bWVudEVudGl0eSwgZW50aXR5KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhd2FpdCBxdWVyeVJ1bm5lci5tYW5hZ2VyLnVwZGF0ZShcbiAgICAgICAgICAgIENvbW1pdG1lbnRFbnRpdHksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGJveElkOiBjb21taXRtZW50LmJveElkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVudGl0eVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLmNvbW1pdFRyYW5zYWN0aW9uKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5sb2coYEFuIGVycm9yIG9jY3VycmVkIGR1cmluZyBzdG9yZSBjb21taXRtZW50cyBhY3Rpb246ICR7ZX1gKTtcbiAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnJvbGxiYWNrVHJhbnNhY3Rpb24oKTtcbiAgICAgIHN1Y2Nlc3MgPSBmYWxzZTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIucmVsZWFzZSgpO1xuICAgIH1cbiAgICByZXR1cm4gc3VjY2VzcztcbiAgfTtcblxuICAvKipcbiAgICogdXBkYXRlIHNwZW5kQmxvY2sgQ29sdW1uIG9mIHRoZSBjb21taXRtZW50cyBpbiB0aGUgZGF0YUJhc2VcbiAgICogQHBhcmFtIHNwZW5kSWRcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICovXG4gIHNwZW5kQ29tbWl0bWVudHMgPSBhc3luYyAoXG4gICAgc3BlbmRJZDogQXJyYXk8c3RyaW5nPixcbiAgICBibG9jazogQmxvY2tFbnRpdHksXG4gICAgZXh0cmFjdG9yOiBzdHJpbmdcbiAgKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgLy90b2RvOiBzaG91bGQgY2hhbmdlIHdpdGggc2luZ2xlIGRiIGNhbGxcbiAgICBmb3IgKGNvbnN0IGlkIG9mIHNwZW5kSWQpIHtcbiAgICAgIGF3YWl0IHRoaXMuZGF0YXNvdXJjZVxuICAgICAgICAuY3JlYXRlUXVlcnlCdWlsZGVyKClcbiAgICAgICAgLnVwZGF0ZShDb21taXRtZW50RW50aXR5KVxuICAgICAgICAuc2V0KHsgc3BlbmRCbG9jazogYmxvY2suaGFzaCwgc3BlbmRIZWlnaHQ6IGJsb2NrLmhlaWdodCB9KVxuICAgICAgICAud2hlcmUoJ2JveElkID0gOmlkIEFORCBleHRyYWN0b3IgPSA6ZXh0cmFjdG9yJywge1xuICAgICAgICAgIGlkOiBpZCxcbiAgICAgICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICAgICAgfSlcbiAgICAgICAgLmV4ZWN1dGUoKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIGRlbGV0aW5nIGFsbCBwZXJtaXRzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGJsb2NrKGlkKSBhbmQgZXh0cmFjdG9yKGlkKVxuICAgKiBAcGFyYW0gYmxvY2tcbiAgICogQHBhcmFtIGV4dHJhY3RvclxuICAgKi9cbiAgZGVsZXRlQmxvY2tDb21taXRtZW50ID0gYXN5bmMgKGJsb2NrOiBzdHJpbmcsIGV4dHJhY3Rvcjogc3RyaW5nKSA9PiB7XG4gICAgYXdhaXQgdGhpcy5kYXRhc291cmNlXG4gICAgICAuY3JlYXRlUXVlcnlCdWlsZGVyKClcbiAgICAgIC5kZWxldGUoKVxuICAgICAgLmZyb20oQ29tbWl0bWVudEVudGl0eSlcbiAgICAgIC53aGVyZSgnZXh0cmFjdG9yID0gOmV4dHJhY3RvciBBTkQgYmxvY2sgPSA6YmxvY2snLCB7XG4gICAgICAgIGJsb2NrOiBibG9jayxcbiAgICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgICB9KVxuICAgICAgLmV4ZWN1dGUoKTtcbiAgICAvL1RPRE86IHNob3VsZCBoYW5kbGVkIG51bGwgdmFsdWUgaW4gc3BlbmRCbG9ja0hlaWdodFxuICAgIGF3YWl0IHRoaXMuZGF0YXNvdXJjZVxuICAgICAgLmNyZWF0ZVF1ZXJ5QnVpbGRlcigpXG4gICAgICAudXBkYXRlKENvbW1pdG1lbnRFbnRpdHkpXG4gICAgICAuc2V0KHsgc3BlbmRCbG9jazogdW5kZWZpbmVkLCBzcGVuZEhlaWdodDogMCB9KVxuICAgICAgLndoZXJlKCdzcGVuZEJsb2NrID0gOmJsb2NrIEFORCBibG9jayA9IDpibG9jaycsIHtcbiAgICAgICAgYmxvY2s6IGJsb2NrLFxuICAgICAgfSlcbiAgICAgIC5leGVjdXRlKCk7XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IENvbW1pdG1lbnRFbnRpdHlBY3Rpb247XG4iXX0=
@@ -1,17 +1,24 @@
1
- import { DataSource } from "typeorm";
2
- import { extractedPermit } from "../interfaces/extractedPermit";
3
- import { BlockEntity } from "@rosen-bridge/scanner";
1
+ import { DataSource } from 'typeorm';
2
+ import { ExtractedPermit } from '../interfaces/extractedPermit';
3
+ import { BlockEntity } from '@rosen-bridge/scanner';
4
4
  declare class PermitEntityAction {
5
5
  private readonly datasource;
6
6
  private readonly permitRepository;
7
7
  constructor(dataSource: DataSource);
8
+ /**
9
+ * stores initial permit boxes in the database
10
+ * @param permits
11
+ * @param initialHeight
12
+ * @param extractor
13
+ */
14
+ storeInitialPermits: (permits: Array<ExtractedPermit>, initialHeight: number, extractor: string) => Promise<boolean>;
8
15
  /**
9
16
  * It stores list of permits in the dataSource with block id
10
17
  * @param permits
11
18
  * @param block
12
19
  * @param extractor
13
20
  */
14
- storePermits: (permits: Array<extractedPermit>, block: BlockEntity, extractor: string) => Promise<boolean>;
21
+ storePermits: (permits: Array<ExtractedPermit>, block: BlockEntity, extractor: string) => Promise<boolean>;
15
22
  /**
16
23
  * update spendBlock Column of the permits in the dataBase
17
24
  * @param spendId
@@ -27,3 +34,4 @@ declare class PermitEntityAction {
27
34
  deleteBlock: (block: string, extractor: string) => Promise<void>;
28
35
  }
29
36
  export default PermitEntityAction;
37
+ //# sourceMappingURL=permitDB.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permitDB.d.ts","sourceRoot":"","sources":["../../lib/actions/permitDB.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA4B,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,cAAM,kBAAkB;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA2B;gBAEhD,UAAU,EAAE,UAAU;IAKlC;;;;;OAKG;IACH,mBAAmB,YACR,MAAM,eAAe,CAAC,iBAChB,MAAM,aACV,MAAM,KAChB,QAAQ,OAAO,CAAC,CA6BjB;IAEF;;;;;OAKG;IACH,YAAY,YACD,MAAM,eAAe,CAAC,SACxB,WAAW,aACP,MAAM,sBA8CjB;IAEF;;;;;OAKG;IACH,YAAY,YACD,MAAM,MAAM,CAAC,SACf,WAAW,aACP,MAAM,KAChB,QAAQ,IAAI,CAAC,CAad;IAEF;;;;OAIG;IAEH,WAAW,UAAiB,MAAM,aAAa,MAAM,KAAG,QAAQ,IAAI,CAAC,CAmBnE;CACH;AAED,eAAe,kBAAkB,CAAC"}
@@ -1,6 +1,6 @@
1
- import { In } from "typeorm";
2
- import PermitEntity from "../entities/PermitEntity";
3
- import CommitmentEntity from "../entities/CommitmentEntity";
1
+ import { In, LessThan } from 'typeorm';
2
+ import PermitEntity from '../entities/PermitEntity';
3
+ import CommitmentEntity from '../entities/CommitmentEntity';
4
4
  class PermitEntityAction {
5
5
  datasource;
6
6
  permitRepository;
@@ -8,6 +8,42 @@ class PermitEntityAction {
8
8
  this.datasource = dataSource;
9
9
  this.permitRepository = dataSource.getRepository(PermitEntity);
10
10
  }
11
+ /**
12
+ * stores initial permit boxes in the database
13
+ * @param permits
14
+ * @param initialHeight
15
+ * @param extractor
16
+ */
17
+ storeInitialPermits = async (permits, initialHeight, extractor) => {
18
+ const queryRunner = this.datasource.createQueryRunner();
19
+ await queryRunner.connect();
20
+ await queryRunner.startTransaction();
21
+ try {
22
+ const repository = queryRunner.manager.getRepository(PermitEntity);
23
+ await repository.delete({ height: LessThan(initialHeight) });
24
+ for (const permit of permits) {
25
+ const entity = {
26
+ boxId: permit.boxId,
27
+ boxSerialized: permit.boxSerialized,
28
+ block: permit.block,
29
+ height: permit.height,
30
+ extractor: extractor,
31
+ WID: permit.WID,
32
+ };
33
+ await queryRunner.manager.getRepository(PermitEntity).insert(entity);
34
+ }
35
+ await queryRunner.commitTransaction();
36
+ }
37
+ catch (e) {
38
+ console.log(`An error occurred during storing initial permits action: ${e}`);
39
+ await queryRunner.rollbackTransaction();
40
+ throw new Error('Initialization failed while storing initial permits');
41
+ }
42
+ finally {
43
+ await queryRunner.release();
44
+ }
45
+ return true;
46
+ };
11
47
  /**
12
48
  * It stores list of permits in the dataSource with block id
13
49
  * @param permits
@@ -17,7 +53,7 @@ class PermitEntityAction {
17
53
  storePermits = async (permits, block, extractor) => {
18
54
  if (permits.length === 0)
19
55
  return true;
20
- const boxIds = permits.map(permit => permit.boxId);
56
+ const boxIds = permits.map((permit) => permit.boxId);
21
57
  const savedPermits = await this.permitRepository.findBy({
22
58
  boxId: In(boxIds),
23
59
  extractor: extractor,
@@ -44,7 +80,7 @@ class PermitEntityAction {
44
80
  }
45
81
  else {
46
82
  await queryRunner.manager.update(PermitEntity, {
47
- boxId: permit.boxId
83
+ boxId: permit.boxId,
48
84
  }, entity);
49
85
  }
50
86
  }
@@ -69,10 +105,14 @@ class PermitEntityAction {
69
105
  spendPermits = async (spendId, block, extractor) => {
70
106
  //todo: should change with single db call
71
107
  for (const id of spendId) {
72
- await this.datasource.createQueryBuilder()
108
+ await this.datasource
109
+ .createQueryBuilder()
73
110
  .update(PermitEntity)
74
111
  .set({ spendBlock: block.hash, spendHeight: block.height })
75
- .where("boxId = :id AND extractor = :extractor", { id: id, extractor: extractor })
112
+ .where('boxId = :id AND extractor = :extractor', {
113
+ id: id,
114
+ extractor: extractor,
115
+ })
76
116
  .execute();
77
117
  }
78
118
  };
@@ -83,20 +123,25 @@ class PermitEntityAction {
83
123
  */
84
124
  //TODO: should check if deleted or not Promise<Boolean>
85
125
  deleteBlock = async (block, extractor) => {
86
- await this.datasource.createQueryBuilder()
126
+ await this.datasource
127
+ .createQueryBuilder()
87
128
  .delete()
88
129
  .from(PermitEntity)
89
- .where("extractor = :extractor AND block = :block", {
90
- "block": block,
91
- "extractor": extractor
92
- }).execute();
130
+ .where('extractor = :extractor AND block = :block', {
131
+ block: block,
132
+ extractor: extractor,
133
+ })
134
+ .execute();
93
135
  //TODO: should handled null value in spendBlockHeight
94
- await this.datasource.createQueryBuilder()
136
+ await this.datasource
137
+ .createQueryBuilder()
95
138
  .update(CommitmentEntity)
96
139
  .set({ spendBlock: undefined, spendHeight: 0 })
97
- .where("spendBlock = :block AND block = :block", {
98
- block: block
99
- }).execute();
140
+ .where('spendBlock = :block AND block = :block', {
141
+ block: block,
142
+ })
143
+ .execute();
100
144
  };
101
145
  }
102
146
  export default PermitEntityAction;
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWl0REIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvYWN0aW9ucy9wZXJtaXREQi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsRUFBRSxFQUFFLFFBQVEsRUFBYyxNQUFNLFNBQVMsQ0FBQztBQUUvRCxPQUFPLFlBQVksTUFBTSwwQkFBMEIsQ0FBQztBQUVwRCxPQUFPLGdCQUFnQixNQUFNLDhCQUE4QixDQUFDO0FBRTVELE1BQU0sa0JBQWtCO0lBQ0wsVUFBVSxDQUFhO0lBQ3ZCLGdCQUFnQixDQUEyQjtJQUU1RCxZQUFZLFVBQXNCO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILG1CQUFtQixHQUFHLEtBQUssRUFDekIsT0FBK0IsRUFDL0IsYUFBcUIsRUFDckIsU0FBaUIsRUFDQyxFQUFFO1FBQ3BCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN4RCxNQUFNLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM1QixNQUFNLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3JDLElBQUk7WUFDRixNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNuRSxNQUFNLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM3RCxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRTtnQkFDNUIsTUFBTSxNQUFNLEdBQUc7b0JBQ2IsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO29CQUNuQixhQUFhLEVBQUUsTUFBTSxDQUFD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VSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUM7YUFDOUMsS0FBSyxDQUFDLHdDQUF3QyxFQUFFO1lBQy9DLEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FBQzthQUNELE9BQU8sRUFBRSxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0NBQ0g7QUFFRCxlQUFlLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVNvdXJjZSwgSW4sIExlc3NUaGFuLCBSZXBvc2l0b3J5IH0gZnJvbSAndHlwZW9ybSc7XG5pbXBvcnQgeyBFeHRyYWN0ZWRQZXJtaXQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2V4dHJhY3RlZFBlcm1pdCc7XG5pbXBvcnQgUGVybWl0RW50aXR5IGZyb20gJy4uL2VudGl0aWVzL1Blcm1pdEVudGl0eSc7XG5pbXBvcnQgeyBCbG9ja0VudGl0eSB9IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lcic7XG5pbXBvcnQgQ29tbWl0bWVudEVudGl0eSBmcm9tICcuLi9lbnRpdGllcy9Db21taXRtZW50RW50aXR5JztcblxuY2xhc3MgUGVybWl0RW50aXR5QWN0aW9uIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkYXRhc291cmNlOiBEYXRhU291cmNlO1xuICBwcml2YXRlIHJlYWRvbmx5IHBlcm1pdFJlcG9zaXRvcnk6IFJlcG9zaXRvcnk8UGVybWl0RW50aXR5PjtcblxuICBjb25zdHJ1Y3RvcihkYXRhU291cmNlOiBEYXRhU291cmNlKSB7XG4gICAgdGhpcy5kYXRhc291cmNlID0gZGF0YVNvdXJjZTtcbiAgICB0aGlzLnBlcm1pdFJlcG9zaXRvcnkgPSBkYXRhU291cmNlLmdldFJlcG9zaXRvcnkoUGVybWl0RW50aXR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBzdG9yZXMgaW5pdGlhbCBwZXJtaXQgYm94ZXMgaW4gdGhlIGRhdGFiYXNlXG4gICAqIEBwYXJhbSBwZXJtaXRzXG4gICAqIEBwYXJhbSBpbml0aWFsSGVpZ2h0XG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICovXG4gIHN0b3JlSW5pdGlhbFBlcm1pdHMgPSBhc3luYyAoXG4gICAgcGVybWl0czogQXJyYXk8RXh0cmFjdGVkUGVybWl0PixcbiAgICBpbml0aWFsSGVpZ2h0OiBudW1iZXIsXG4gICAgZXh0cmFjdG9yOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgY29uc3QgcXVlcnlSdW5uZXIgPSB0aGlzLmRhdGFzb3VyY2UuY3JlYXRlUXVlcnlSdW5uZXIoKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5jb25uZWN0KCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIuc3RhcnRUcmFuc2FjdGlvbigpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXBvc2l0b3J5ID0gcXVlcnlSdW5uZXIubWFuYWdlci5nZXRSZXBvc2l0b3J5KFBlcm1pdEVudGl0eSk7XG4gICAgICBhd2FpdCByZXBvc2l0b3J5LmRlbGV0ZSh7IGhlaWdodDogTGVzc1RoYW4oaW5pdGlhbEhlaWdodCkgfSk7XG4gICAgICBmb3IgKGNvbnN0IHBlcm1pdCBvZiBwZXJtaXRzKSB7XG4gICAgICAgIGNvbnN0IGVudGl0eSA9IHtcbiAgICAgICAgICBib3hJZDogcGVybWl0LmJveElkLFxuICAgICAgICAgIGJveFNlcmlhbGl6ZWQ6IHBlcm1pdC5ib3hTZXJpYWxpemVkLFxuICAgICAgICAgIGJsb2NrOiBwZXJtaXQuYmxvY2ssXG4gICAgICAgICAgaGVpZ2h0OiBwZXJtaXQuaGVpZ2h0LFxuICAgICAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgICAgICAgIFdJRDogcGVybWl0LldJRCxcbiAgICAgICAgfTtcbiAgICAgICAgYXdhaXQgcXVlcnlSdW5uZXIubWFuYWdlci5nZXRSZXBvc2l0b3J5KFBlcm1pdEVudGl0eSkuaW5zZXJ0KGVudGl0eSk7XG4gICAgICB9XG4gICAgICBhd2FpdCBxdWVyeVJ1bm5lci5jb21taXRUcmFuc2FjdGlvbigpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHN0b3JpbmcgaW5pdGlhbCBwZXJtaXRzIGFjdGlvbjogJHtlfWBcbiAgICAgICk7XG4gICAgICBhd2FpdCBxdWVyeVJ1bm5lci5yb2xsYmFja1RyYW5zYWN0aW9uKCk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0luaXRpYWxpemF0aW9uIGZhaWxlZCB3aGlsZSBzdG9yaW5nIGluaXRpYWwgcGVybWl0cycpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCBxdWVyeVJ1bm5lci5yZWxlYXNlKCk7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIC8qKlxuICAgKiBJdCBzdG9yZXMgbGlzdCBvZiBwZXJtaXRzIGluIHRoZSBkYXRhU291cmNlIHdpdGggYmxvY2sgaWRcbiAgICogQHBhcmFtIHBlcm1pdHNcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICovXG4gIHN0b3JlUGVybWl0cyA9IGFzeW5jIChcbiAgICBwZXJtaXRzOiBBcnJheTxFeHRyYWN0ZWRQZXJtaXQ+LFxuICAgIGJsb2NrOiBCbG9ja0VudGl0eSxcbiAgICBleHRyYWN0b3I6IHN0cmluZ1xuICApID0+IHtcbiAgICBpZiAocGVybWl0cy5sZW5ndGggPT09IDApIHJldHVybiB0cnVlO1xuICAgIGNvbnN0IGJveElkcyA9IHBlcm1pdHMubWFwKChwZXJtaXQpID0+IHBlcm1pdC5ib3hJZCk7XG4gICAgY29uc3Qgc2F2ZWRQZXJtaXRzID0gYXdhaXQgdGhpcy5wZXJtaXRSZXBvc2l0b3J5LmZpbmRCeSh7XG4gICAgICBib3hJZDogSW4oYm94SWRzKSxcbiAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgIH0pO1xuICAgIGxldCBzdWNjZXNzID0gdHJ1ZTtcbiAgICBjb25zdCBxdWVyeVJ1bm5lciA9IHRoaXMuZGF0YXNvdXJjZS5jcmVhdGVRdWVyeVJ1bm5lcigpO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLmNvbm5lY3QoKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5zdGFydFRyYW5zYWN0aW9uKCk7XG4gICAgdHJ5IHtcbiAgICAgIGZvciAoY29uc3QgcGVybWl0IG9mIHBlcm1pdHMpIHtcbiAgICAgICAgY29uc3Qgc2F2ZWQgPSBzYXZlZFBlcm1pdHMuc29tZSgoZW50aXR5KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGVudGl0eS5ib3hJZCA9PT0gcGVybWl0LmJveElkO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgZW50aXR5ID0ge1xuICAgICAgICAgIGJveElkOiBwZXJtaXQuYm94SWQsXG4gICAgICAgICAgYm94U2VyaWFsaXplZDogcGVybWl0LmJveFNlcmlhbGl6ZWQsXG4gICAgICAgICAgYmxvY2s6IGJsb2NrLmhhc2gsXG4gICAgICAgICAgaGVpZ2h0OiBibG9jay5oZWlnaHQsXG4gICAgICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgICAgICAgV0lEOiBwZXJtaXQuV0lELFxuICAgICAgICB9O1xuICAgICAgICBpZiAoIXNhdmVkKSB7XG4gICAgICAgICAgYXdhaXQgcXVlcnlSdW5uZXIubWFuYWdlci5pbnNlcnQoUGVybWl0RW50aXR5LCBlbnRpdHkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLm1hbmFnZXIudXBkYXRlKFxuICAgICAgICAgICAgUGVybWl0RW50aXR5LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBib3hJZDogcGVybWl0LmJveElkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVudGl0eVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLmNvbW1pdFRyYW5zYWN0aW9uKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5sb2coYEFuIGVycm9yIG9jY3VycmVkIGR1cmluZyBzdG9yZSBwZXJtaXQgYWN0aW9uOiAke2V9YCk7XG4gICAgICBhd2FpdCBxdWVyeVJ1bm5lci5yb2xsYmFja1RyYW5zYWN0aW9uKCk7XG4gICAgICBzdWNjZXNzID0gZmFsc2U7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnJlbGVhc2UoKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1Y2Nlc3M7XG4gIH07XG5cbiAgLyoqXG4gICAqIHVwZGF0ZSBzcGVuZEJsb2NrIENvbHVtbiBvZiB0aGUgcGVybWl0cyBpbiB0aGUgZGF0YUJhc2VcbiAgICogQHBhcmFtIHNwZW5kSWRcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICovXG4gIHNwZW5kUGVybWl0cyA9IGFzeW5jIChcbiAgICBzcGVuZElkOiBBcnJheTxzdHJpbmc+LFxuICAgIGJsb2NrOiBCbG9ja0VudGl0eSxcbiAgICBleHRyYWN0b3I6IHN0cmluZ1xuICApOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAvL3RvZG86IHNob3VsZCBjaGFuZ2Ugd2l0aCBzaW5nbGUgZGIgY2FsbFxuICAgIGZvciAoY29uc3QgaWQgb2Ygc3BlbmRJZCkge1xuICAgICAgYXdhaXQgdGhpcy5kYXRhc291cmNlXG4gICAgICAgIC5jcmVhdGVRdWVyeUJ1aWxkZXIoKVxuICAgICAgICAudXBkYXRlKFBlcm1pdEVudGl0eSlcbiAgICAgICAgLnNldCh7IHNwZW5kQmxvY2s6IGJsb2NrLmhhc2gsIHNwZW5kSGVpZ2h0OiBibG9jay5oZWlnaHQgfSlcbiAgICAgICAgLndoZXJlKCdib3hJZCA9IDppZCBBTkQgZXh0cmFjdG9yID0gOmV4dHJhY3RvcicsIHtcbiAgICAgICAgICBpZDogaWQsXG4gICAgICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgICAgIH0pXG4gICAgICAgIC5leGVjdXRlKCk7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBkZWxldGluZyBhbGwgcGVybWl0cyBjb3JyZXNwb25kaW5nIHRvIHRoZSBibG9jayhpZCkgYW5kIGV4dHJhY3RvcihpZClcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICovXG4gIC8vVE9ETzogc2hvdWxkIGNoZWNrIGlmIGRlbGV0ZWQgb3Igbm90IFByb21pc2U8Qm9vbGVhbj5cbiAgZGVsZXRlQmxvY2sgPSBhc3luYyAoYmxvY2s6IHN0cmluZywgZXh0cmFjdG9yOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBhd2FpdCB0aGlzLmRhdGFzb3VyY2VcbiAgICAgIC5jcmVhdGVRdWVyeUJ1aWxkZXIoKVxuICAgICAgLmRlbGV0ZSgpXG4gICAgICAuZnJvbShQZXJtaXRFbnRpdHkpXG4gICAgICAud2hlcmUoJ2V4dHJhY3RvciA9IDpleHRyYWN0b3IgQU5EIGJsb2NrID0gOmJsb2NrJywge1xuICAgICAgICBibG9jazogYmxvY2ssXG4gICAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgICAgfSlcbiAgICAgIC5leGVjdXRlKCk7XG4gICAgLy9UT0RPOiBzaG91bGQgaGFuZGxlZCBudWxsIHZhbHVlIGluIHNwZW5kQmxvY2tIZWlnaHRcbiAgICBhd2FpdCB0aGlzLmRhdGFzb3VyY2VcbiAgICAgIC5jcmVhdGVRdWVyeUJ1aWxkZXIoKVxuICAgICAgLnVwZGF0ZShDb21taXRtZW50RW50aXR5KVxuICAgICAgLnNldCh7IHNwZW5kQmxvY2s6IHVuZGVmaW5lZCwgc3BlbmRIZWlnaHQ6IDAgfSlcbiAgICAgIC53aGVyZSgnc3BlbmRCbG9jayA9IDpibG9jayBBTkQgYmxvY2sgPSA6YmxvY2snLCB7XG4gICAgICAgIGJsb2NrOiBibG9jayxcbiAgICAgIH0pXG4gICAgICAuZXhlY3V0ZSgpO1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBQZXJtaXRFbnRpdHlBY3Rpb247XG4iXX0=
@@ -12,3 +12,4 @@ declare class CommitmentEntity {
12
12
  spendHeight?: number;
13
13
  }
14
14
  export default CommitmentEntity;
15
+ //# sourceMappingURL=CommitmentEntity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommitmentEntity.d.ts","sourceRoot":"","sources":["../../lib/entities/CommitmentEntity.ts"],"names":[],"mappings":"AAEA,cAEM,gBAAgB;IAEpB,EAAE,EAAE,MAAM,CAAC;IAGX,SAAS,EAAE,MAAM,CAAC;IAGlB,OAAO,EAAE,MAAM,CAAC;IAGhB,UAAU,EAAE,MAAM,CAAC;IAGnB,GAAG,EAAE,MAAM,CAAC;IAGZ,KAAK,EAAE,MAAM,CAAC;IAGd,KAAK,EAAE,MAAM,CAAC;IAGd,MAAM,EAAE,MAAM,CAAC;IAGf,aAAa,EAAE,MAAM,CAAC;IAGtB,UAAU,EAAG,MAAM,CAAC;IAGpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAe,gBAAgB,CAAC"}
@@ -7,7 +7,7 @@ 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";
10
+ import { Column, Entity, PrimaryGeneratedColumn, Unique } from 'typeorm';
11
11
  let CommitmentEntity = class CommitmentEntity {
12
12
  id;
13
13
  extractor;
@@ -67,6 +67,7 @@ __decorate([
67
67
  ], CommitmentEntity.prototype, "spendHeight", void 0);
68
68
  CommitmentEntity = __decorate([
69
69
  Entity(),
70
- Unique(["boxId", "extractor"])
70
+ Unique(['boxId', 'extractor'])
71
71
  ], CommitmentEntity);
72
72
  export default CommitmentEntity;
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWl0bWVudEVudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9lbnRpdGllcy9Db21taXRtZW50RW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUl6RSxJQUFNLGdCQUFnQixHQUF0QixNQUFNLGdCQUFnQjtJQUVwQixFQUFFLENBQVM7SUFHWCxTQUFTLENBQVM7SUFHbEIsT0FBTyxDQUFTO0lBR2hCLFVBQVUsQ0FBUztJQUduQixHQUFHLENBQVM7SUFHWixLQUFLLENBQVM7SUFHZCxLQUFLLENBQVM7SUFHZCxNQUFNLENBQVM7SUFHZixhQUFhLENBQVM7SUFHdEIsVUFBVSxDQUFVO0lBR3BCLFdBQVcsQ0FBVTtDQUN0QixDQUFBO0FBaENDO0lBQUMsc0JBQXNCLEVBQUU7OzRDQUNkO0FBRVg7SUFBQyxNQUFNLEVBQUU7O21EQUNTO0FBRWxCO0lBQUMsTUFBTSxFQUFFOztpREFDTztBQUVoQjtJQUFDLE1BQU0sRUFBRTs7b0RBQ1U7QUFFbkI7SUFBQyxNQUFNLEVBQUU7OzZDQUNHO0FBRVo7SUFBQyxNQUFNLEVBQUU7OytDQUNLO0FBRWQ7SUFBQyxNQUFNLEVBQUU7OytDQUNLO0FBRWQ7SUFBQyxNQUFNLEVBQUU7O2dEQUNNO0FBRWY7SUFBQyxNQUFNLEVBQUU7O3VEQUNhO0FBRXRCO0lBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDOztvREFDUDtBQUVwQjtJQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQzs7cURBQ047QUFoQ2pCLGdCQUFnQjtJQUZyQixNQUFNLEVBQUU7SUFDUixNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7R0FDekIsZ0JBQWdCLENBaUNyQjtBQUVELGVBQWUsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2x1bW4sIEVudGl0eSwgUHJpbWFyeUdlbmVyYXRlZENvbHVtbiwgVW5pcXVlIH0gZnJvbSAndHlwZW9ybSc7XG5cbkBFbnRpdHkoKVxuQFVuaXF1ZShbJ2JveElkJywgJ2V4dHJhY3RvciddKVxuY2xhc3MgQ29tbWl0bWVudEVudGl0eSB7XG4gIEBQcmltYXJ5R2VuZXJhdGVkQ29sdW1uKClcbiAgaWQ6IG51bWJlcjtcblxuICBAQ29sdW1uKClcbiAgZXh0cmFjdG9yOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIGV2ZW50SWQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgY29tbWl0bWVudDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBXSUQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgYm94SWQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgYmxvY2s6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgaGVpZ2h0OiBudW1iZXI7XG5cbiAgQENvbHVtbigpXG4gIGJveFNlcmlhbGl6ZWQ6IHN0cmluZztcblxuICBAQ29sdW1uKHsgbnVsbGFibGU6IHRydWUgfSlcbiAgc3BlbmRCbG9jayE6IHN0cmluZztcblxuICBAQ29sdW1uKHsgbnVsbGFibGU6IHRydWUgfSlcbiAgc3BlbmRIZWlnaHQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IENvbW1pdG1lbnRFbnRpdHk7XG4iXX0=
@@ -17,5 +17,8 @@ declare class EventTriggerEntity {
17
17
  sourceTxId: string;
18
18
  sourceBlockId: string;
19
19
  WIDs: string;
20
+ spendBlock: string;
21
+ spendHeight?: number;
20
22
  }
21
23
  export default EventTriggerEntity;
24
+ //# sourceMappingURL=EventTriggerEntity.d.ts.map
@@ -0,0 +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,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,kBAAkB,EAAE,MAAM,CAAC;IAG3B,UAAU,EAAE,MAAM,CAAC;IAGnB,aAAa,EAAE,MAAM,CAAC;IAGtB,IAAI,EAAE,MAAM,CAAC;IAGb,UAAU,EAAG,MAAM,CAAC;IAGpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAe,kBAAkB,CAAC"}
@@ -7,7 +7,7 @@ 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";
10
+ import { Column, Entity, PrimaryGeneratedColumn, Unique } from 'typeorm';
11
11
  let EventTriggerEntity = class EventTriggerEntity {
12
12
  id;
13
13
  extractor;
@@ -27,6 +27,8 @@ let EventTriggerEntity = class EventTriggerEntity {
27
27
  sourceTxId;
28
28
  sourceBlockId;
29
29
  WIDs;
30
+ spendBlock;
31
+ spendHeight;
30
32
  };
31
33
  __decorate([
32
34
  PrimaryGeneratedColumn(),
@@ -100,8 +102,17 @@ __decorate([
100
102
  Column(),
101
103
  __metadata("design:type", String)
102
104
  ], EventTriggerEntity.prototype, "WIDs", void 0);
105
+ __decorate([
106
+ Column({ nullable: true }),
107
+ __metadata("design:type", String)
108
+ ], EventTriggerEntity.prototype, "spendBlock", void 0);
109
+ __decorate([
110
+ Column({ nullable: true }),
111
+ __metadata("design:type", Number)
112
+ ], EventTriggerEntity.prototype, "spendHeight", void 0);
103
113
  EventTriggerEntity = __decorate([
104
114
  Entity(),
105
- Unique(["boxId", "extractor"])
115
+ Unique(['boxId', 'extractor'])
106
116
  ], EventTriggerEntity);
107
117
  export default EventTriggerEntity;
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRUcmlnZ2VyRW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2VudGl0aWVzL0V2ZW50VHJpZ2dlckVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFJekUsSUFBTSxrQkFBa0IsR0FBeEIsTUFBTSxrQkFBa0I7SUFFdEIsRUFBRSxDQUFTO0lBR1gsU0FBUyxDQUFTO0lBR2xCLEtBQUssQ0FBUztJQUdkLGFBQWEsQ0FBUztJQUd0QixLQUFLLENBQVM7SUFHZCxNQUFNLENBQVM7SUFHZixTQUFTLENBQVM7SUFHbEIsT0FBTyxDQUFTO0lBR2hCLFdBQVcsQ0FBUztJQUdwQixTQUFTLENBQVM7SUFHbEIsTUFBTSxDQUFTO0lBR2YsU0FBUyxDQUFTO0lBR2xCLFVBQVUsQ0FBUztJQUduQixrQkFBa0IsQ0FBUztJQUczQixrQkFBa0IsQ0FBUztJQUczQixVQUFVLENBQVM7SUFHbkIsYUFBYSxDQUFTO0lBR3RCLElBQUksQ0FBUztJQUdiLFVBQVUsQ0FBVTtJQUdwQixXQUFXLENBQVU7Q0FDdEIsQ0FBQTtBQTNEQztJQUFDLHNCQUFzQixFQUFFOzs4Q0FDZDtBQUVYO0lBQUMsTUFBTSxFQUFFOztxREFDUztBQUVsQjtJQUFDLE1BQU0sRUFBRTs7aURBQ0s7QUFFZDtJQUFDLE1BQU0sRUFBRTs7eURBQ2E7QUFFdEI7SUFBQyxNQUFNLEVBQUU7O2lEQUNLO0FBRWQ7SUFBQyxNQUFNLEVBQUU7O2tEQUNNO0FBRWY7SUFBQyxNQUFNLEVBQUU7O3FEQUNTO0FBRWxCO0lBQUMsTUFBTSxFQUFFOzttREFDTztBQUVoQjtJQUFDLE1BQU0sRUFBRTs7dURBQ1c7QUFFcEI7SUFBQyxNQUFNLEVBQUU7O3FEQUNTO0FBRWxCO0lBQUMsTUFBTSxFQUFFOztrREFDTTtBQUVmO0lBQUMsTUFBTSxFQUFFOztxREFDUztBQUVsQjtJQUFDLE1BQU0sRUFBRTs7c0RBQ1U7QUFFbkI7SUFBQyxNQUFNLEVBQUU7OzhEQUNrQjtBQUUzQjtJQUFDLE1BQU0sRUFBRTs7OERBQ2tCO0FBRTNCO0lBQUMsTUFBTSxFQUFFOztzREFDVTtBQUVuQjtJQUFDLE1BQU0sRUFBRTs7eURBQ2E7QUFFdEI7SUFBQyxNQUFNLEVBQUU7O2dEQUNJO0FBRWI7SUFBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7O3NEQUNQO0FBRXBCO0lBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDOzt1REFDTjtBQTNEakIsa0JBQWtCO0lBRnZCLE1BQU0sRUFBRTtJQUNSLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztHQUN6QixrQkFBa0IsQ0E0RHZCO0FBRUQsZUFBZSxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbHVtbiwgRW50aXR5LCBQcmltYXJ5R2VuZXJhdGVkQ29sdW1uLCBVbmlxdWUgfSBmcm9tICd0eXBlb3JtJztcblxuQEVudGl0eSgpXG5AVW5pcXVlKFsnYm94SWQnLCAnZXh0cmFjdG9yJ10pXG5jbGFzcyBFdmVudFRyaWdnZXJFbnRpdHkge1xuICBAUHJpbWFyeUdlbmVyYXRlZENvbHVtbigpXG4gIGlkOiBudW1iZXI7XG5cbiAgQENvbHVtbigpXG4gIGV4dHJhY3Rvcjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBib3hJZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBib3hTZXJpYWxpemVkOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIGJsb2NrOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIGhlaWdodDogbnVtYmVyO1xuXG4gIEBDb2x1bW4oKVxuICBmcm9tQ2hhaW46IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgdG9DaGFpbjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBmcm9tQWRkcmVzczogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICB0b0FkZHJlc3M6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgYW1vdW50OiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIGJyaWRnZUZlZTogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBuZXR3b3JrRmVlOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIHNvdXJjZUNoYWluVG9rZW5JZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICB0YXJnZXRDaGFpblRva2VuSWQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgc291cmNlVHhJZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBzb3VyY2VCbG9ja0lkOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIFdJRHM6IHN0cmluZztcblxuICBAQ29sdW1uKHsgbnVsbGFibGU6IHRydWUgfSlcbiAgc3BlbmRCbG9jayE6IHN0cmluZztcblxuICBAQ29sdW1uKHsgbnVsbGFibGU6IHRydWUgfSlcbiAgc3BlbmRIZWlnaHQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEV2ZW50VHJpZ2dlckVudGl0eTtcbiJdfQ==
@@ -10,3 +10,4 @@ declare class PermitEntity {
10
10
  spendHeight?: number;
11
11
  }
12
12
  export default PermitEntity;
13
+ //# sourceMappingURL=PermitEntity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PermitEntity.d.ts","sourceRoot":"","sources":["../../lib/entities/PermitEntity.ts"],"names":[],"mappings":"AAEA,cAEM,YAAY;IAEhB,EAAE,EAAE,MAAM,CAAC;IAGX,SAAS,EAAE,MAAM,CAAC;IAGlB,KAAK,EAAE,MAAM,CAAC;IAGd,aAAa,EAAE,MAAM,CAAC;IAGtB,GAAG,EAAE,MAAM,CAAC;IAGZ,KAAK,EAAE,MAAM,CAAC;IAGd,MAAM,EAAE,MAAM,CAAC;IAGf,UAAU,EAAG,MAAM,CAAC;IAGpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAe,YAAY,CAAC"}