@rosen-bridge/watcher-data-extractor 0.1.0-alpha-5 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +54 -72
- package/dist/actions/EventTriggerDB.d.ts +11 -3
- package/dist/actions/EventTriggerDB.d.ts.map +1 -0
- package/dist/actions/EventTriggerDB.js +41 -9
- package/dist/actions/commitmentDB.d.ts +4 -3
- package/dist/actions/commitmentDB.d.ts.map +1 -0
- package/dist/actions/commitmentDB.js +24 -15
- package/dist/actions/permitDB.d.ts +4 -3
- package/dist/actions/permitDB.d.ts.map +1 -0
- package/dist/actions/permitDB.js +25 -16
- package/dist/entities/CommitmentEntity.d.ts +1 -0
- package/dist/entities/CommitmentEntity.d.ts.map +1 -0
- package/dist/entities/CommitmentEntity.js +3 -2
- package/dist/entities/EventTriggerEntity.d.ts +3 -0
- package/dist/entities/EventTriggerEntity.d.ts.map +1 -0
- package/dist/entities/EventTriggerEntity.js +13 -2
- package/dist/entities/PermitEntity.d.ts +1 -0
- package/dist/entities/PermitEntity.d.ts.map +1 -0
- package/dist/entities/PermitEntity.js +3 -2
- package/dist/extractor/EventTriggerExtractor.d.ts +3 -2
- package/dist/extractor/EventTriggerExtractor.d.ts.map +1 -0
- package/dist/extractor/EventTriggerExtractor.js +30 -13
- package/dist/extractor/commitmentExtractor.d.ts +3 -2
- package/dist/extractor/commitmentExtractor.d.ts.map +1 -0
- package/dist/extractor/commitmentExtractor.js +14 -10
- package/dist/extractor/permitExtractor.d.ts +3 -2
- package/dist/extractor/permitExtractor.d.ts.map +1 -0
- package/dist/extractor/permitExtractor.js +19 -10
- package/dist/index.d.ts +8 -7
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -7
- package/dist/interfaces/extractedCommitment.d.ts +1 -0
- package/dist/interfaces/extractedCommitment.d.ts.map +1 -0
- package/dist/interfaces/extractedCommitment.js +1 -0
- package/dist/interfaces/extractedEventTrigger.d.ts +1 -0
- package/dist/interfaces/extractedEventTrigger.d.ts.map +1 -0
- package/dist/interfaces/extractedEventTrigger.js +1 -0
- package/dist/interfaces/extractedPermit.d.ts +1 -0
- package/dist/interfaces/extractedPermit.d.ts.map +1 -0
- package/dist/interfaces/extractedPermit.js +1 -0
- package/dist/migrations/1659787165000-initMigration.d.ts +2 -1
- package/dist/migrations/1659787165000-initMigration.d.ts.map +1 -0
- package/dist/migrations/1659787165000-initMigration.js +3 -0
- package/dist/migrations/index.d.ts +2 -1
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +2 -1
- package/package.json +11 -5
package/README.md
CHANGED
|
@@ -1,92 +1,74 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Watcher Data Extractor
|
|
2
2
|
|
|
3
|
+
### Table of Contents
|
|
3
4
|
|
|
5
|
+
- [Description](#description)
|
|
6
|
+
- [Related Projects](#related-projects)
|
|
7
|
+
- [How to Use the Watcher Data Extractor](#how-to-use-the-watcher-data-extractor)
|
|
8
|
+
- [Install](#install)
|
|
9
|
+
- [Usage](#usage)
|
|
10
|
+
- [Contributing](#contributing)
|
|
11
|
+
- [License](#license)
|
|
4
12
|
|
|
5
|
-
|
|
13
|
+
<a name="headers"/>
|
|
6
14
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)!
|
|
10
|
-
|
|
11
|
-
## Add your files
|
|
12
|
-
|
|
13
|
-
- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files
|
|
14
|
-
- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command:
|
|
15
|
-
|
|
16
|
-
```
|
|
17
|
-
cd existing_repo
|
|
18
|
-
git remote add origin https://git.ergopool.io/rosen-bridge/scanner/rosen-scanner.git
|
|
19
|
-
git branch -M master
|
|
20
|
-
git push -uf origin master
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Integrate with your tools
|
|
24
|
-
|
|
25
|
-
- [ ] [Set up project integrations](https://git.ergopool.io/rosen-bridge/scanner/rosen-scanner/-/settings/integrations)
|
|
26
|
-
|
|
27
|
-
## Collaborate with your team
|
|
28
|
-
|
|
29
|
-
- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/)
|
|
30
|
-
- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html)
|
|
31
|
-
- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically)
|
|
32
|
-
- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/)
|
|
33
|
-
- [ ] [Automatically merge when pipeline succeeds](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html)
|
|
34
|
-
|
|
35
|
-
## Test and Deploy
|
|
36
|
-
|
|
37
|
-
Use the built-in continuous integration in GitLab.
|
|
38
|
-
|
|
39
|
-
- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html)
|
|
40
|
-
- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing(SAST)](https://docs.gitlab.com/ee/user/application_security/sast/)
|
|
41
|
-
- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html)
|
|
42
|
-
- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/)
|
|
43
|
-
- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html)
|
|
44
|
-
|
|
45
|
-
***
|
|
46
|
-
|
|
47
|
-
# Editing this README
|
|
15
|
+
## Description
|
|
48
16
|
|
|
49
|
-
|
|
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.
|
|
50
18
|
|
|
51
|
-
##
|
|
52
|
-
Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information.
|
|
19
|
+
## Related Projects
|
|
53
20
|
|
|
54
|
-
|
|
55
|
-
Choose a self-explaining name for your project.
|
|
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.
|
|
56
22
|
|
|
57
|
-
##
|
|
58
|
-
Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors.
|
|
23
|
+
## How to Use the Watcher Data Extractor
|
|
59
24
|
|
|
60
|
-
|
|
61
|
-
On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge.
|
|
25
|
+
### Install
|
|
62
26
|
|
|
63
|
-
|
|
64
|
-
Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method.
|
|
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:
|
|
65
28
|
|
|
66
|
-
|
|
67
|
-
|
|
29
|
+
```shell
|
|
30
|
+
npm install @rosen-bridge/watcher-data-extractor
|
|
31
|
+
```
|
|
68
32
|
|
|
69
|
-
|
|
70
|
-
Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README.
|
|
33
|
+
Alternatively, you can build and use it manually by cloning the project and running:
|
|
71
34
|
|
|
72
|
-
|
|
73
|
-
|
|
35
|
+
```shell
|
|
36
|
+
npm install
|
|
37
|
+
npm run build
|
|
38
|
+
```
|
|
74
39
|
|
|
75
|
-
|
|
76
|
-
|
|
40
|
+
### Usage
|
|
41
|
+
|
|
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
|
+
|
|
44
|
+
```javascript
|
|
45
|
+
const commitmentExtractor = new CommitmentExtractor(
|
|
46
|
+
<extractor_name>,
|
|
47
|
+
<Array<commitment_address>>,
|
|
48
|
+
<rwt_id>,
|
|
49
|
+
dataSource
|
|
50
|
+
)
|
|
51
|
+
const permitExtractor = new PermitExtractor(
|
|
52
|
+
<extractor_name>,
|
|
53
|
+
dataSource,
|
|
54
|
+
<permit_address>,
|
|
55
|
+
<rwt_id>
|
|
56
|
+
)
|
|
57
|
+
const eventTriggerExtractor = new EventTriggerExtractor(
|
|
58
|
+
<extractor_name>,
|
|
59
|
+
dataSource,
|
|
60
|
+
<event_trigger_address>,
|
|
61
|
+
<rwt_id>
|
|
62
|
+
)
|
|
63
|
+
ergoScanner.registerExtractor(commitmentExtractor)
|
|
64
|
+
ergoScanner.registerExtractor(permitExtractor)
|
|
65
|
+
ergoScanner.registerExtractor(eventTriggerExtractor)
|
|
66
|
+
```
|
|
77
67
|
|
|
78
68
|
## Contributing
|
|
79
|
-
State if you are open to contributions and what your requirements are for accepting them.
|
|
80
|
-
|
|
81
|
-
For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self.
|
|
82
|
-
|
|
83
|
-
You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser.
|
|
84
69
|
|
|
85
|
-
|
|
86
|
-
Show your appreciation to those who have contributed to the project.
|
|
70
|
+
TBD
|
|
87
71
|
|
|
88
72
|
## License
|
|
89
|
-
For open source projects, say how it is licensed.
|
|
90
73
|
|
|
91
|
-
|
|
92
|
-
If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers.
|
|
74
|
+
TBD
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { DataSource } from
|
|
2
|
-
import { BlockEntity } from
|
|
3
|
-
import { ExtractedEventTrigger } from
|
|
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
|
|
2
|
-
import EventTriggerEntity from
|
|
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
|
|
99
|
+
await this.datasource
|
|
100
|
+
.createQueryBuilder()
|
|
80
101
|
.delete()
|
|
81
102
|
.from(EventTriggerEntity)
|
|
82
|
-
.where(
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
})
|
|
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
|
|
2
|
-
import { extractedCommitment } from
|
|
3
|
-
import { BlockEntity } from
|
|
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
|
|
2
|
-
import CommitmentEntity from
|
|
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
|
|
73
|
+
await this.datasource
|
|
74
|
+
.createQueryBuilder()
|
|
74
75
|
.update(CommitmentEntity)
|
|
75
76
|
.set({ spendBlock: block.hash, spendHeight: block.height })
|
|
76
|
-
.where(
|
|
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
|
|
90
|
+
await this.datasource
|
|
91
|
+
.createQueryBuilder()
|
|
87
92
|
.delete()
|
|
88
93
|
.from(CommitmentEntity)
|
|
89
|
-
.where(
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
})
|
|
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
|
|
100
|
+
await this.datasource
|
|
101
|
+
.createQueryBuilder()
|
|
95
102
|
.update(CommitmentEntity)
|
|
96
103
|
.set({ spendBlock: undefined, spendHeight: 0 })
|
|
97
|
-
.where(
|
|
98
|
-
block: block
|
|
99
|
-
})
|
|
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,6 +1,6 @@
|
|
|
1
|
-
import { DataSource } from
|
|
2
|
-
import { extractedPermit } from
|
|
3
|
-
import { BlockEntity } from
|
|
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;
|
|
@@ -27,3 +27,4 @@ declare class PermitEntityAction {
|
|
|
27
27
|
deleteBlock: (block: string, extractor: string) => Promise<void>;
|
|
28
28
|
}
|
|
29
29
|
export default PermitEntityAction;
|
|
30
|
+
//# 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,EAAkB,MAAM,SAAS,CAAC;AACrD,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,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"}
|
package/dist/actions/permitDB.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { In } from
|
|
2
|
-
import PermitEntity from
|
|
3
|
-
import CommitmentEntity from
|
|
1
|
+
import { In } from 'typeorm';
|
|
2
|
+
import PermitEntity from '../entities/PermitEntity';
|
|
3
|
+
import CommitmentEntity from '../entities/CommitmentEntity';
|
|
4
4
|
class PermitEntityAction {
|
|
5
5
|
datasource;
|
|
6
6
|
permitRepository;
|
|
@@ -17,7 +17,7 @@ class PermitEntityAction {
|
|
|
17
17
|
storePermits = async (permits, block, extractor) => {
|
|
18
18
|
if (permits.length === 0)
|
|
19
19
|
return true;
|
|
20
|
-
const boxIds = permits.map(permit => permit.boxId);
|
|
20
|
+
const boxIds = permits.map((permit) => permit.boxId);
|
|
21
21
|
const savedPermits = await this.permitRepository.findBy({
|
|
22
22
|
boxId: In(boxIds),
|
|
23
23
|
extractor: extractor,
|
|
@@ -44,7 +44,7 @@ class PermitEntityAction {
|
|
|
44
44
|
}
|
|
45
45
|
else {
|
|
46
46
|
await queryRunner.manager.update(PermitEntity, {
|
|
47
|
-
boxId: permit.boxId
|
|
47
|
+
boxId: permit.boxId,
|
|
48
48
|
}, entity);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
@@ -69,10 +69,14 @@ class PermitEntityAction {
|
|
|
69
69
|
spendPermits = async (spendId, block, extractor) => {
|
|
70
70
|
//todo: should change with single db call
|
|
71
71
|
for (const id of spendId) {
|
|
72
|
-
await this.datasource
|
|
72
|
+
await this.datasource
|
|
73
|
+
.createQueryBuilder()
|
|
73
74
|
.update(PermitEntity)
|
|
74
75
|
.set({ spendBlock: block.hash, spendHeight: block.height })
|
|
75
|
-
.where(
|
|
76
|
+
.where('boxId = :id AND extractor = :extractor', {
|
|
77
|
+
id: id,
|
|
78
|
+
extractor: extractor,
|
|
79
|
+
})
|
|
76
80
|
.execute();
|
|
77
81
|
}
|
|
78
82
|
};
|
|
@@ -83,20 +87,25 @@ class PermitEntityAction {
|
|
|
83
87
|
*/
|
|
84
88
|
//TODO: should check if deleted or not Promise<Boolean>
|
|
85
89
|
deleteBlock = async (block, extractor) => {
|
|
86
|
-
await this.datasource
|
|
90
|
+
await this.datasource
|
|
91
|
+
.createQueryBuilder()
|
|
87
92
|
.delete()
|
|
88
93
|
.from(PermitEntity)
|
|
89
|
-
.where(
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
})
|
|
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
|
|
100
|
+
await this.datasource
|
|
101
|
+
.createQueryBuilder()
|
|
95
102
|
.update(CommitmentEntity)
|
|
96
103
|
.set({ spendBlock: undefined, spendHeight: 0 })
|
|
97
|
-
.where(
|
|
98
|
-
block: block
|
|
99
|
-
})
|
|
104
|
+
.where('spendBlock = :block AND block = :block', {
|
|
105
|
+
block: block,
|
|
106
|
+
})
|
|
107
|
+
.execute();
|
|
100
108
|
};
|
|
101
109
|
}
|
|
102
110
|
export default PermitEntityAction;
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWl0REIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvYWN0aW9ucy9wZXJtaXREQi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsRUFBRSxFQUFjLE1BQU0sU0FBUyxDQUFDO0FBRXJELE9BQU8sWUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBRXBELE9BQU8sZ0JBQWdCLE1BQU0sOEJBQThCLENBQUM7QUFFNUQsTUFBTSxrQkFBa0I7SUFDTCxVQUFVLENBQWE7SUFDdkIsZ0JBQWdCLENBQTJCO0lBRTVELFlBQVksVUFBc0I7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsWUFBWSxHQUFHLEtBQUssRUFDbEIsT0FBK0IsRUFDL0IsS0FBa0IsRUFDbEIsU0FBaUIsRUFDakIsRUFBRTtRQUNGLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDdEMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JELE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztZQUN0RCxLQUFLLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNqQixTQUFTLEVBQUUsU0FBUztTQUNyQixDQUFDLENBQUM7UUFDSCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDbkIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3hELE1BQU0sV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVCLE1BQU0sV0FBVyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDckMsSUFBSTtZQUNGLEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFO2dCQUM1QixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQ3pDLE9BQU8sTUFBTSxDQUFDLEtBQUssS0FBSyxNQUFNLENBQUMsS0FBSyxDQUFDO2dCQUN2QyxDQUFDLENBQUMsQ0FBQztnQkFDSCxNQUFNLE1BQU0sR0FBRztvQkFDYixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7b0JBQ25CLGFBQWEsRUFBRSxNQUFNLENBQUMsYUFBYTtvQkFDbkMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJO29CQUNqQixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07b0JBQ3BCLFNBQVMsRUFBRSxTQUFTO29CQUNwQixHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUc7aUJBQ2hCLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDVixNQUFNLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztpQkFDeEQ7cUJBQU07b0JBQ0wsTUFBTSxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDOUIsWUFBWSxFQUNaO3dCQUNFLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztxQkFDcEIsRUFDRCxNQUFNLENBQ1AsQ0FBQztpQkFDSDthQUNGO1lBQ0QsTUFBTSxXQUFXLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUN2QztRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpREFBaUQsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNsRSxNQUFNLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3hDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDakI7Z0JBQVM7WUFDUixNQUFNLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM3QjtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUMsQ0FBQztJQUVGOzs7OztPQUtHO0lBQ0gsWUFBWSxHQUFHLEtBQUssRUFDbEIsT0FBc0IsRUFDdEIsS0FBa0IsRUFDbEIsU0FBaUIsRUFDRixFQUFFO1FBQ2pCLHlDQUF5QztRQUN6QyxLQUFLLE1BQU0sRUFBRSxJQUFJLE9BQU8sRUFBRTtZQUN4QixNQUFNLElBQUksQ0FBQyxVQUFVO2lCQUNsQixrQkFBa0IsRUFBRTtpQkFDcEIsTUFBTSxDQUFDLFlBQVksQ0FBQztpQkFDcEIsR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztpQkFDMUQsS0FBSyxDQUFDLHdDQUF3QyxFQUFFO2dCQUMvQyxFQUFFLEVBQUUsRUFBRTtnQkFDTixTQUFTLEVBQUUsU0FBUzthQUNyQixDQUFDO2lCQUNELE9BQU8sRUFBRSxDQUFDO1NBQ2Q7SUFDSCxDQUFDLENBQUM7SUFFRjs7OztPQUlHO0lBQ0gsdURBQXVEO0lBQ3ZELFdBQVcsR0FBRyxLQUFLLEVBQUUsS0FBYSxFQUFFLFNBQWlCLEVBQWlCLEVBQUU7UUFDdEUsTUFBTSxJQUFJLENBQUMsVUFBVTthQUNsQixrQkFBa0IsRUFBRTthQUNwQixNQUFNLEVBQUU7YUFDUixJQUFJLENBQUMsWUFBWSxDQUFDO2FBQ2xCLEtBQUssQ0FBQywyQ0FBMkMsRUFBRTtZQUNsRCxLQUFLLEVBQUUsS0FBSztZQUNaLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUM7YUFDRCxPQUFPLEVBQUUsQ0FBQztRQUNiLHFEQUFxRDtRQUNyRCxNQUFNLElBQUksQ0FBQyxVQUFVO2FBQ2xCLGtCQUFrQixFQUFFO2FBQ3BCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQzthQUN4QixHQUFHLENBQUMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQzthQUM5QyxLQUFLLENBQUMsd0NBQXdDLEVBQUU7WUFDL0MsS0FBSyxFQUFFLEtBQUs7U0FDYixDQUFDO2FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDZixDQUFDLENBQUM7Q0FDSDtBQUVELGVBQWUsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhU291cmNlLCBJbiwgUmVwb3NpdG9yeSB9IGZyb20gJ3R5cGVvcm0nO1xuaW1wb3J0IHsgZXh0cmFjdGVkUGVybWl0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9leHRyYWN0ZWRQZXJtaXQnO1xuaW1wb3J0IFBlcm1pdEVudGl0eSBmcm9tICcuLi9lbnRpdGllcy9QZXJtaXRFbnRpdHknO1xuaW1wb3J0IHsgQmxvY2tFbnRpdHkgfSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXInO1xuaW1wb3J0IENvbW1pdG1lbnRFbnRpdHkgZnJvbSAnLi4vZW50aXRpZXMvQ29tbWl0bWVudEVudGl0eSc7XG5cbmNsYXNzIFBlcm1pdEVudGl0eUFjdGlvbiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0YXNvdXJjZTogRGF0YVNvdXJjZTtcbiAgcHJpdmF0ZSByZWFkb25seSBwZXJtaXRSZXBvc2l0b3J5OiBSZXBvc2l0b3J5PFBlcm1pdEVudGl0eT47XG5cbiAgY29uc3RydWN0b3IoZGF0YVNvdXJjZTogRGF0YVNvdXJjZSkge1xuICAgIHRoaXMuZGF0YXNvdXJjZSA9IGRhdGFTb3VyY2U7XG4gICAgdGhpcy5wZXJtaXRSZXBvc2l0b3J5ID0gZGF0YVNvdXJjZS5nZXRSZXBvc2l0b3J5KFBlcm1pdEVudGl0eSk7XG4gIH1cblxuICAvKipcbiAgICogSXQgc3RvcmVzIGxpc3Qgb2YgcGVybWl0cyBpbiB0aGUgZGF0YVNvdXJjZSB3aXRoIGJsb2NrIGlkXG4gICAqIEBwYXJhbSBwZXJtaXRzXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKiBAcGFyYW0gZXh0cmFjdG9yXG4gICAqL1xuICBzdG9yZVBlcm1pdHMgPSBhc3luYyAoXG4gICAgcGVybWl0czogQXJyYXk8ZXh0cmFjdGVkUGVybWl0PixcbiAgICBibG9jazogQmxvY2tFbnRpdHksXG4gICAgZXh0cmFjdG9yOiBzdHJpbmdcbiAgKSA9PiB7XG4gICAgaWYgKHBlcm1pdHMubGVuZ3RoID09PSAwKSByZXR1cm4gdHJ1ZTtcbiAgICBjb25zdCBib3hJZHMgPSBwZXJtaXRzLm1hcCgocGVybWl0KSA9PiBwZXJtaXQuYm94SWQpO1xuICAgIGNvbnN0IHNhdmVkUGVybWl0cyA9IGF3YWl0IHRoaXMucGVybWl0UmVwb3NpdG9yeS5maW5kQnkoe1xuICAgICAgYm94SWQ6IEluKGJveElkcyksXG4gICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICB9KTtcbiAgICBsZXQgc3VjY2VzcyA9IHRydWU7XG4gICAgY29uc3QgcXVlcnlSdW5uZXIgPSB0aGlzLmRhdGFzb3VyY2UuY3JlYXRlUXVlcnlSdW5uZXIoKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5jb25uZWN0KCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIuc3RhcnRUcmFuc2FjdGlvbigpO1xuICAgIHRyeSB7XG4gICAgICBmb3IgKGNvbnN0IHBlcm1pdCBvZiBwZXJtaXRzKSB7XG4gICAgICAgIGNvbnN0IHNhdmVkID0gc2F2ZWRQZXJtaXRzLnNvbWUoKGVudGl0eSkgPT4ge1xuICAgICAgICAgIHJldHVybiBlbnRpdHkuYm94SWQgPT09IHBlcm1pdC5ib3hJZDtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGVudGl0eSA9IHtcbiAgICAgICAgICBib3hJZDogcGVybWl0LmJveElkLFxuICAgICAgICAgIGJveFNlcmlhbGl6ZWQ6IHBlcm1pdC5ib3hTZXJpYWxpemVkLFxuICAgICAgICAgIGJsb2NrOiBibG9jay5oYXNoLFxuICAgICAgICAgIGhlaWdodDogYmxvY2suaGVpZ2h0LFxuICAgICAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgICAgICAgIFdJRDogcGVybWl0LldJRCxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKCFzYXZlZCkge1xuICAgICAgICAgIGF3YWl0IHF1ZXJ5UnVubmVyLm1hbmFnZXIuaW5zZXJ0KFBlcm1pdEVudGl0eSwgZW50aXR5KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhd2FpdCBxdWVyeVJ1bm5lci5tYW5hZ2VyLnVwZGF0ZShcbiAgICAgICAgICAgIFBlcm1pdEVudGl0eSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYm94SWQ6IHBlcm1pdC5ib3hJZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlbnRpdHlcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBhd2FpdCBxdWVyeVJ1bm5lci5jb21taXRUcmFuc2FjdGlvbigpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgc3RvcmUgcGVybWl0IGFjdGlvbjogJHtlfWApO1xuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIucm9sbGJhY2tUcmFuc2FjdGlvbigpO1xuICAgICAgc3VjY2VzcyA9IGZhbHNlO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCBxdWVyeVJ1bm5lci5yZWxlYXNlKCk7XG4gICAgfVxuICAgIHJldHVybiBzdWNjZXNzO1xuICB9O1xuXG4gIC8qKlxuICAgKiB1cGRhdGUgc3BlbmRCbG9jayBDb2x1bW4gb2YgdGhlIHBlcm1pdHMgaW4gdGhlIGRhdGFCYXNlXG4gICAqIEBwYXJhbSBzcGVuZElkXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKiBAcGFyYW0gZXh0cmFjdG9yXG4gICAqL1xuICBzcGVuZFBlcm1pdHMgPSBhc3luYyAoXG4gICAgc3BlbmRJZDogQXJyYXk8c3RyaW5nPixcbiAgICBibG9jazogQmxvY2tFbnRpdHksXG4gICAgZXh0cmFjdG9yOiBzdHJpbmdcbiAgKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgLy90b2RvOiBzaG91bGQgY2hhbmdlIHdpdGggc2luZ2xlIGRiIGNhbGxcbiAgICBmb3IgKGNvbnN0IGlkIG9mIHNwZW5kSWQpIHtcbiAgICAgIGF3YWl0IHRoaXMuZGF0YXNvdXJjZVxuICAgICAgICAuY3JlYXRlUXVlcnlCdWlsZGVyKClcbiAgICAgICAgLnVwZGF0ZShQZXJtaXRFbnRpdHkpXG4gICAgICAgIC5zZXQoeyBzcGVuZEJsb2NrOiBibG9jay5oYXNoLCBzcGVuZEhlaWdodDogYmxvY2suaGVpZ2h0IH0pXG4gICAgICAgIC53aGVyZSgnYm94SWQgPSA6aWQgQU5EIGV4dHJhY3RvciA9IDpleHRyYWN0b3InLCB7XG4gICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgICAgICB9KVxuICAgICAgICAuZXhlY3V0ZSgpO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogZGVsZXRpbmcgYWxsIHBlcm1pdHMgY29ycmVzcG9uZGluZyB0byB0aGUgYmxvY2soaWQpIGFuZCBleHRyYWN0b3IoaWQpXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKiBAcGFyYW0gZXh0cmFjdG9yXG4gICAqL1xuICAvL1RPRE86IHNob3VsZCBjaGVjayBpZiBkZWxldGVkIG9yIG5vdCBQcm9taXNlPEJvb2xlYW4+XG4gIGRlbGV0ZUJsb2NrID0gYXN5bmMgKGJsb2NrOiBzdHJpbmcsIGV4dHJhY3Rvcjogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgYXdhaXQgdGhpcy5kYXRhc291cmNlXG4gICAgICAuY3JlYXRlUXVlcnlCdWlsZGVyKClcbiAgICAgIC5kZWxldGUoKVxuICAgICAgLmZyb20oUGVybWl0RW50aXR5KVxuICAgICAgLndoZXJlKCdleHRyYWN0b3IgPSA6ZXh0cmFjdG9yIEFORCBibG9jayA9IDpibG9jaycsIHtcbiAgICAgICAgYmxvY2s6IGJsb2NrLFxuICAgICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICAgIH0pXG4gICAgICAuZXhlY3V0ZSgpO1xuICAgIC8vVE9ETzogc2hvdWxkIGhhbmRsZWQgbnVsbCB2YWx1ZSBpbiBzcGVuZEJsb2NrSGVpZ2h0XG4gICAgYXdhaXQgdGhpcy5kYXRhc291cmNlXG4gICAgICAuY3JlYXRlUXVlcnlCdWlsZGVyKClcbiAgICAgIC51cGRhdGUoQ29tbWl0bWVudEVudGl0eSlcbiAgICAgIC5zZXQoeyBzcGVuZEJsb2NrOiB1bmRlZmluZWQsIHNwZW5kSGVpZ2h0OiAwIH0pXG4gICAgICAud2hlcmUoJ3NwZW5kQmxvY2sgPSA6YmxvY2sgQU5EIGJsb2NrID0gOmJsb2NrJywge1xuICAgICAgICBibG9jazogYmxvY2ssXG4gICAgICB9KVxuICAgICAgLmV4ZWN1dGUoKTtcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgUGVybWl0RW50aXR5QWN0aW9uO1xuIl19
|
|
@@ -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
|
|
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([
|
|
70
|
+
Unique(['boxId', 'extractor'])
|
|
71
71
|
], CommitmentEntity);
|
|
72
72
|
export default CommitmentEntity;
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWl0bWVudEVudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9lbnRpdGllcy9Db21taXRtZW50RW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUl6RSxJQUFNLGdCQUFnQixHQUF0QixNQUFNLGdCQUFnQjtJQUVwQixFQUFFLENBQVM7SUFHWCxTQUFTLENBQVM7SUFHbEIsT0FBTyxDQUFTO0lBR2hCLFVBQVUsQ0FBUztJQUduQixHQUFHLENBQVM7SUFHWixLQUFLLENBQVM7SUFHZCxLQUFLLENBQVM7SUFHZCxNQUFNLENBQVM7SUFHZixhQUFhLENBQVM7SUFHdEIsVUFBVSxDQUFVO0lBR3BCLFdBQVcsQ0FBVTtDQUN0QixDQUFBO0FBaENDO0lBQUMsc0JBQXNCLEVBQUU7OzRDQUNkO0FBRVg7SUFBQyxNQUFNLEVBQUU7O21EQUNTO0FBRWxCO0lBQUMsTUFBTSxFQUFFOztpREFDTztBQUVoQjtJQUFDLE1BQU0sRUFBRTs7b0RBQ1U7QUFFbkI7SUFBQyxNQUFNLEVBQUU7OzZDQUNHO0FBRVo7SUFBQyxNQUFNLEVBQUU7OytDQUNLO0FBRWQ7SUFBQyxNQUFNLEVBQUU7OytDQUNLO0FBRWQ7SUFBQyxNQUFNLEVBQUU7O2dEQUNNO0FBRWY7SUFBQyxNQUFNLEVBQUU7O3VEQUNhO0FBRXRCO0lBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDOztvREFDUDtBQUVwQjtJQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQzs7cURBQ047QUFoQ2pCLGdCQUFnQjtJQUZyQixNQUFNLEVBQUU7SUFDUixNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7R0FDekIsZ0JBQWdCLENBaUNyQjtBQUVELGVBQWUsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2x1bW4sIEVudGl0eSwgUHJpbWFyeUdlbmVyYXRlZENvbHVtbiwgVW5pcXVlIH0gZnJvbSAndHlwZW9ybSc7XG5cbkBFbnRpdHkoKVxuQFVuaXF1ZShbJ2JveElkJywgJ2V4dHJhY3RvciddKVxuY2xhc3MgQ29tbWl0bWVudEVudGl0eSB7XG4gIEBQcmltYXJ5R2VuZXJhdGVkQ29sdW1uKClcbiAgaWQ6IG51bWJlcjtcblxuICBAQ29sdW1uKClcbiAgZXh0cmFjdG9yOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIGV2ZW50SWQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgY29tbWl0bWVudDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBXSUQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgYm94SWQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgYmxvY2s6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgaGVpZ2h0OiBudW1iZXI7XG5cbiAgQENvbHVtbigpXG4gIGJveFNlcmlhbGl6ZWQ6IHN0cmluZztcblxuICBAQ29sdW1uKHsgbnVsbGFibGU6IHRydWUgfSlcbiAgc3BlbmRCbG9jayE6IHN0cmluZztcblxuICBAQ29sdW1uKHsgbnVsbGFibGU6IHRydWUgfSlcbiAgc3BlbmRIZWlnaHQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IENvbW1pdG1lbnRFbnRpdHk7XG4iXX0=
|
|
@@ -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
|
|
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([
|
|
115
|
+
Unique(['boxId', 'extractor'])
|
|
106
116
|
], EventTriggerEntity);
|
|
107
117
|
export default EventTriggerEntity;
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRUcmlnZ2VyRW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2VudGl0aWVzL0V2ZW50VHJpZ2dlckVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFJekUsSUFBTSxrQkFBa0IsR0FBeEIsTUFBTSxrQkFBa0I7SUFFdEIsRUFBRSxDQUFTO0lBR1gsU0FBUyxDQUFTO0lBR2xCLEtBQUssQ0FBUztJQUdkLGFBQWEsQ0FBUztJQUd0QixLQUFLLENBQVM7SUFHZCxNQUFNLENBQVM7SUFHZixTQUFTLENBQVM7SUFHbEIsT0FBTyxDQUFTO0lBR2hCLFdBQVcsQ0FBUztJQUdwQixTQUFTLENBQVM7SUFHbEIsTUFBTSxDQUFTO0lBR2YsU0FBUyxDQUFTO0lBR2xCLFVBQVUsQ0FBUztJQUduQixrQkFBa0IsQ0FBUztJQUczQixrQkFBa0IsQ0FBUztJQUczQixVQUFVLENBQVM7SUFHbkIsYUFBYSxDQUFTO0lBR3RCLElBQUksQ0FBUztJQUdiLFVBQVUsQ0FBVTtJQUdwQixXQUFXLENBQVU7Q0FDdEIsQ0FBQTtBQTNEQztJQUFDLHNCQUFzQixFQUFFOzs4Q0FDZDtBQUVYO0lBQUMsTUFBTSxFQUFFOztxREFDUztBQUVsQjtJQUFDLE1BQU0sRUFBRTs7aURBQ0s7QUFFZDtJQUFDLE1BQU0sRUFBRTs7eURBQ2E7QUFFdEI7SUFBQyxNQUFNLEVBQUU7O2lEQUNLO0FBRWQ7SUFBQyxNQUFNLEVBQUU7O2tEQUNNO0FBRWY7SUFBQyxNQUFNLEVBQUU7O3FEQUNTO0FBRWxCO0lBQUMsTUFBTSxFQUFFOzttREFDTztBQUVoQjtJQUFDLE1BQU0sRUFBRTs7dURBQ1c7QUFFcEI7SUFBQyxNQUFNLEVBQUU7O3FEQUNTO0FBRWxCO0lBQUMsTUFBTSxFQUFFOztrREFDTTtBQUVmO0lBQUMsTUFBTSxFQUFFOztxREFDUztBQUVsQjtJQUFDLE1BQU0sRUFBRTs7c0RBQ1U7QUFFbkI7SUFBQyxNQUFNLEVBQUU7OzhEQUNrQjtBQUUzQjtJQUFDLE1BQU0sRUFBRTs7OERBQ2tCO0FBRTNCO0lBQUMsTUFBTSxFQUFFOztzREFDVTtBQUVuQjtJQUFDLE1BQU0sRUFBRTs7eURBQ2E7QUFFdEI7SUFBQyxNQUFNLEVBQUU7O2dEQUNJO0FBRWI7SUFBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7O3NEQUNQO0FBRXBCO0lBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDOzt1REFDTjtBQTNEakIsa0JBQWtCO0lBRnZCLE1BQU0sRUFBRTtJQUNSLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztHQUN6QixrQkFBa0IsQ0E0RHZCO0FBRUQsZUFBZSxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbHVtbiwgRW50aXR5LCBQcmltYXJ5R2VuZXJhdGVkQ29sdW1uLCBVbmlxdWUgfSBmcm9tICd0eXBlb3JtJztcblxuQEVudGl0eSgpXG5AVW5pcXVlKFsnYm94SWQnLCAnZXh0cmFjdG9yJ10pXG5jbGFzcyBFdmVudFRyaWdnZXJFbnRpdHkge1xuICBAUHJpbWFyeUdlbmVyYXRlZENvbHVtbigpXG4gIGlkOiBudW1iZXI7XG5cbiAgQENvbHVtbigpXG4gIGV4dHJhY3Rvcjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBib3hJZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBib3hTZXJpYWxpemVkOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIGJsb2NrOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIGhlaWdodDogbnVtYmVyO1xuXG4gIEBDb2x1bW4oKVxuICBmcm9tQ2hhaW46IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgdG9DaGFpbjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBmcm9tQWRkcmVzczogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICB0b0FkZHJlc3M6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgYW1vdW50OiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIGJyaWRnZUZlZTogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBuZXR3b3JrRmVlOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIHNvdXJjZUNoYWluVG9rZW5JZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICB0YXJnZXRDaGFpblRva2VuSWQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgc291cmNlVHhJZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBzb3VyY2VCbG9ja0lkOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIFdJRHM6IHN0cmluZztcblxuICBAQ29sdW1uKHsgbnVsbGFibGU6IHRydWUgfSlcbiAgc3BlbmRCbG9jayE6IHN0cmluZztcblxuICBAQ29sdW1uKHsgbnVsbGFibGU6IHRydWUgfSlcbiAgc3BlbmRIZWlnaHQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEV2ZW50VHJpZ2dlckVudGl0eTtcbiJdfQ==
|
|
@@ -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"}
|