@rosen-bridge/watcher-data-extractor 2.1.6 → 2.1.7

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 (64) hide show
  1. package/dist/actions/EventTriggerAction.d.ts +35 -0
  2. package/dist/actions/EventTriggerAction.d.ts.map +1 -0
  3. package/dist/actions/EventTriggerAction.js +122 -0
  4. package/dist/actions/commitmentAction.d.ts +33 -0
  5. package/dist/actions/commitmentAction.d.ts.map +1 -0
  6. package/dist/actions/commitmentAction.js +110 -0
  7. package/dist/actions/permitAction.d.ts +64 -0
  8. package/dist/actions/permitAction.d.ts.map +1 -0
  9. package/dist/actions/permitAction.js +173 -0
  10. package/dist/constants.d.ts +4 -0
  11. package/dist/constants.d.ts.map +1 -0
  12. package/dist/constants.js +4 -0
  13. package/dist/entities/CommitmentEntity.d.ts +17 -0
  14. package/dist/entities/CommitmentEntity.d.ts.map +1 -0
  15. package/dist/entities/CommitmentEntity.js +83 -0
  16. package/dist/entities/EventTriggerEntity.d.ts +28 -0
  17. package/dist/entities/EventTriggerEntity.d.ts.map +1 -0
  18. package/dist/entities/EventTriggerEntity.js +138 -0
  19. package/dist/entities/PermitEntity.d.ts +14 -0
  20. package/dist/entities/PermitEntity.d.ts.map +1 -0
  21. package/dist/entities/PermitEntity.js +68 -0
  22. package/dist/extractor/EventTriggerExtractor.d.ts +28 -0
  23. package/dist/extractor/EventTriggerExtractor.d.ts.map +1 -0
  24. package/dist/extractor/EventTriggerExtractor.js +126 -0
  25. package/dist/extractor/commitmentExtractor.d.ts +35 -0
  26. package/dist/extractor/commitmentExtractor.d.ts.map +1 -0
  27. package/dist/extractor/commitmentExtractor.js +110 -0
  28. package/dist/extractor/permitExtractor.d.ts +139 -0
  29. package/dist/extractor/permitExtractor.d.ts.map +1 -0
  30. package/dist/extractor/permitExtractor.js +227 -0
  31. package/dist/index.d.ts +10 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +10 -0
  34. package/dist/interfaces/extractedCommitment.d.ts +11 -0
  35. package/dist/interfaces/extractedCommitment.d.ts.map +1 -0
  36. package/dist/interfaces/extractedCommitment.js +2 -0
  37. package/dist/interfaces/extractedEventTrigger.d.ts +21 -0
  38. package/dist/interfaces/extractedEventTrigger.d.ts.map +1 -0
  39. package/dist/interfaces/extractedEventTrigger.js +2 -0
  40. package/dist/interfaces/extractedPermit.d.ts +12 -0
  41. package/dist/interfaces/extractedPermit.d.ts.map +1 -0
  42. package/dist/interfaces/extractedPermit.js +2 -0
  43. package/dist/interfaces/types.d.ts +20 -0
  44. package/dist/interfaces/types.d.ts.map +1 -0
  45. package/dist/interfaces/types.js +2 -0
  46. package/dist/migrations/index.d.ts +7 -0
  47. package/dist/migrations/index.d.ts.map +1 -0
  48. package/dist/migrations/index.js +9 -0
  49. package/dist/migrations/postgres/1688554842087-migration.d.ts +7 -0
  50. package/dist/migrations/postgres/1688554842087-migration.d.ts.map +1 -0
  51. package/dist/migrations/postgres/1688554842087-migration.js +82 -0
  52. package/dist/migrations/postgres/1689175974257-migration.d.ts +7 -0
  53. package/dist/migrations/postgres/1689175974257-migration.d.ts.map +1 -0
  54. package/dist/migrations/postgres/1689175974257-migration.js +50 -0
  55. package/dist/migrations/sqlite/1688555766601-migration.d.ts +7 -0
  56. package/dist/migrations/sqlite/1688555766601-migration.d.ts.map +1 -0
  57. package/dist/migrations/sqlite/1688555766601-migration.js +79 -0
  58. package/dist/migrations/sqlite/1689175103163-migration.d.ts +7 -0
  59. package/dist/migrations/sqlite/1689175103163-migration.d.ts.map +1 -0
  60. package/dist/migrations/sqlite/1689175103163-migration.js +392 -0
  61. package/dist/utils.d.ts +9 -0
  62. package/dist/utils.d.ts.map +1 -0
  63. package/dist/utils.js +6 -0
  64. package/package.json +1 -1
@@ -0,0 +1,17 @@
1
+ declare class CommitmentEntity {
2
+ id: number;
3
+ txId: string;
4
+ extractor: string;
5
+ eventId: string;
6
+ commitment: string;
7
+ WID: string;
8
+ boxId: string;
9
+ block: string;
10
+ height: number;
11
+ boxSerialized: string;
12
+ spendBlock: string | null;
13
+ spendHeight?: number;
14
+ rwtCount?: string;
15
+ }
16
+ export default CommitmentEntity;
17
+ //# 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,IAAI,EAAE,MAAM,CAAC;IAGb,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,GAAG,IAAI,CAAC;IAG3B,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,83 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Column, Entity, PrimaryGeneratedColumn, Unique } from 'typeorm';
11
+ let CommitmentEntity = class CommitmentEntity {
12
+ id;
13
+ txId;
14
+ extractor;
15
+ eventId;
16
+ commitment;
17
+ WID;
18
+ boxId;
19
+ block;
20
+ height;
21
+ boxSerialized;
22
+ spendBlock;
23
+ spendHeight;
24
+ rwtCount;
25
+ };
26
+ __decorate([
27
+ PrimaryGeneratedColumn(),
28
+ __metadata("design:type", Number)
29
+ ], CommitmentEntity.prototype, "id", void 0);
30
+ __decorate([
31
+ Column(),
32
+ __metadata("design:type", String)
33
+ ], CommitmentEntity.prototype, "txId", void 0);
34
+ __decorate([
35
+ Column(),
36
+ __metadata("design:type", String)
37
+ ], CommitmentEntity.prototype, "extractor", void 0);
38
+ __decorate([
39
+ Column(),
40
+ __metadata("design:type", String)
41
+ ], CommitmentEntity.prototype, "eventId", void 0);
42
+ __decorate([
43
+ Column(),
44
+ __metadata("design:type", String)
45
+ ], CommitmentEntity.prototype, "commitment", void 0);
46
+ __decorate([
47
+ Column(),
48
+ __metadata("design:type", String)
49
+ ], CommitmentEntity.prototype, "WID", void 0);
50
+ __decorate([
51
+ Column(),
52
+ __metadata("design:type", String)
53
+ ], CommitmentEntity.prototype, "boxId", void 0);
54
+ __decorate([
55
+ Column(),
56
+ __metadata("design:type", String)
57
+ ], CommitmentEntity.prototype, "block", void 0);
58
+ __decorate([
59
+ Column(),
60
+ __metadata("design:type", Number)
61
+ ], CommitmentEntity.prototype, "height", void 0);
62
+ __decorate([
63
+ Column(),
64
+ __metadata("design:type", String)
65
+ ], CommitmentEntity.prototype, "boxSerialized", void 0);
66
+ __decorate([
67
+ Column({ nullable: true, type: 'text' }),
68
+ __metadata("design:type", Object)
69
+ ], CommitmentEntity.prototype, "spendBlock", void 0);
70
+ __decorate([
71
+ Column({ nullable: true }),
72
+ __metadata("design:type", Number)
73
+ ], CommitmentEntity.prototype, "spendHeight", void 0);
74
+ __decorate([
75
+ Column({ nullable: true }),
76
+ __metadata("design:type", String)
77
+ ], CommitmentEntity.prototype, "rwtCount", void 0);
78
+ CommitmentEntity = __decorate([
79
+ Entity(),
80
+ Unique(['boxId', 'extractor'])
81
+ ], CommitmentEntity);
82
+ export default CommitmentEntity;
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWl0bWVudEVudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9lbnRpdGllcy9Db21taXRtZW50RW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUl6RSxJQUFNLGdCQUFnQixHQUF0QixNQUFNLGdCQUFnQjtJQUVwQixFQUFFLENBQVM7SUFHWCxJQUFJLENBQVM7SUFHYixTQUFTLENBQVM7SUFHbEIsT0FBTyxDQUFTO0lBR2hCLFVBQVUsQ0FBUztJQUduQixHQUFHLENBQVM7SUFHWixLQUFLLENBQVM7SUFHZCxLQUFLLENBQVM7SUFHZCxNQUFNLENBQVM7SUFHZixhQUFhLENBQVM7SUFHdEIsVUFBVSxDQUFpQjtJQUczQixXQUFXLENBQVU7SUFHckIsUUFBUSxDQUFVO0NBQ25CLENBQUE7QUF0Q0M7SUFBQyxzQkFBc0IsRUFBRTs7NENBQ2Q7QUFFWDtJQUFDLE1BQU0sRUFBRTs7OENBQ0k7QUFFYjtJQUFDLE1BQU0sRUFBRTs7bURBQ1M7QUFFbEI7SUFBQyxNQUFNLEVBQUU7O2lEQUNPO0FBRWhCO0lBQUMsTUFBTSxFQUFFOztvREFDVTtBQUVuQjtJQUFDLE1BQU0sRUFBRTs7NkNBQ0c7QUFFWjtJQUFDLE1BQU0sRUFBRTs7K0NBQ0s7QUFFZDtJQUFDLE1BQU0sRUFBRTs7K0NBQ0s7QUFFZDtJQUFDLE1BQU0sRUFBRTs7Z0RBQ007QUFFZjtJQUFDLE1BQU0sRUFBRTs7dURBQ2E7QUFFdEI7SUFBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzs7b0RBQ2Q7QUFFM0I7SUFBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7O3FEQUNOO0FBRXJCO0lBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDOztrREFDVDtBQXRDZCxnQkFBZ0I7SUFGckIsTUFBTSxFQUFFO0lBQ1IsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0dBQ3pCLGdCQUFnQixDQXVDckI7QUFFRCxlQUFlLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sdW1uLCBFbnRpdHksIFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4sIFVuaXF1ZSB9IGZyb20gJ3R5cGVvcm0nO1xuXG5ARW50aXR5KClcbkBVbmlxdWUoWydib3hJZCcsICdleHRyYWN0b3InXSlcbmNsYXNzIENvbW1pdG1lbnRFbnRpdHkge1xuICBAUHJpbWFyeUdlbmVyYXRlZENvbHVtbigpXG4gIGlkOiBudW1iZXI7XG5cbiAgQENvbHVtbigpXG4gIHR4SWQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgZXh0cmFjdG9yOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIGV2ZW50SWQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgY29tbWl0bWVudDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBXSUQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgYm94SWQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgYmxvY2s6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgaGVpZ2h0OiBudW1iZXI7XG5cbiAgQENvbHVtbigpXG4gIGJveFNlcmlhbGl6ZWQ6IHN0cmluZztcblxuICBAQ29sdW1uKHsgbnVsbGFibGU6IHRydWUsIHR5cGU6ICd0ZXh0JyB9KVxuICBzcGVuZEJsb2NrITogc3RyaW5nIHwgbnVsbDtcblxuICBAQ29sdW1uKHsgbnVsbGFibGU6IHRydWUgfSlcbiAgc3BlbmRIZWlnaHQ/OiBudW1iZXI7XG5cbiAgQENvbHVtbih7IG51bGxhYmxlOiB0cnVlIH0pXG4gIHJ3dENvdW50Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgZGVmYXVsdCBDb21taXRtZW50RW50aXR5O1xuIl19
@@ -0,0 +1,28 @@
1
+ declare class EventTriggerEntity {
2
+ id: number;
3
+ eventId: string;
4
+ txId: string;
5
+ extractor: string;
6
+ boxId: string;
7
+ boxSerialized: string;
8
+ block: string;
9
+ height: number;
10
+ fromChain: string;
11
+ toChain: string;
12
+ fromAddress: string;
13
+ toAddress: string;
14
+ amount: string;
15
+ bridgeFee: string;
16
+ networkFee: string;
17
+ sourceChainTokenId: string;
18
+ sourceChainHeight: number;
19
+ targetChainTokenId: string;
20
+ sourceTxId: string;
21
+ sourceBlockId: string;
22
+ WIDs: string;
23
+ spendBlock?: string | null;
24
+ spendHeight?: number;
25
+ spendTxId?: string;
26
+ }
27
+ export default EventTriggerEntity;
28
+ //# 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,OAAO,EAAE,MAAM,CAAC;IAGhB,IAAI,EAAE,MAAM,CAAC;IAGb,SAAS,EAAE,MAAM,CAAC;IAGlB,KAAK,EAAE,MAAM,CAAC;IAGd,aAAa,EAAE,MAAM,CAAC;IAGtB,KAAK,EAAE,MAAM,CAAC;IAGd,MAAM,EAAE,MAAM,CAAC;IAGf,SAAS,EAAE,MAAM,CAAC;IAGlB,OAAO,EAAE,MAAM,CAAC;IAGhB,WAAW,EAAE,MAAM,CAAC;IAGpB,SAAS,EAAE,MAAM,CAAC;IAGlB,MAAM,EAAE,MAAM,CAAC;IAGf,SAAS,EAAE,MAAM,CAAC;IAGlB,UAAU,EAAE,MAAM,CAAC;IAGnB,kBAAkB,EAAE,MAAM,CAAC;IAG3B,iBAAiB,EAAE,MAAM,CAAC;IAG1B,kBAAkB,EAAE,MAAM,CAAC;IAG3B,UAAU,EAAE,MAAM,CAAC;IAGnB,aAAa,EAAE,MAAM,CAAC;IAGtB,IAAI,EAAE,MAAM,CAAC;IAGb,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAG3B,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,138 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Column, Entity, PrimaryGeneratedColumn, Unique } from 'typeorm';
11
+ let EventTriggerEntity = class EventTriggerEntity {
12
+ id;
13
+ eventId;
14
+ txId;
15
+ extractor;
16
+ boxId;
17
+ boxSerialized;
18
+ block;
19
+ height;
20
+ fromChain;
21
+ toChain;
22
+ fromAddress;
23
+ toAddress;
24
+ amount;
25
+ bridgeFee;
26
+ networkFee;
27
+ sourceChainTokenId;
28
+ sourceChainHeight;
29
+ targetChainTokenId;
30
+ sourceTxId;
31
+ sourceBlockId;
32
+ WIDs;
33
+ spendBlock;
34
+ spendHeight;
35
+ spendTxId;
36
+ };
37
+ __decorate([
38
+ PrimaryGeneratedColumn(),
39
+ __metadata("design:type", Number)
40
+ ], EventTriggerEntity.prototype, "id", void 0);
41
+ __decorate([
42
+ Column({ default: 'Not-set' }),
43
+ __metadata("design:type", String)
44
+ ], EventTriggerEntity.prototype, "eventId", void 0);
45
+ __decorate([
46
+ Column(),
47
+ __metadata("design:type", String)
48
+ ], EventTriggerEntity.prototype, "txId", void 0);
49
+ __decorate([
50
+ Column(),
51
+ __metadata("design:type", String)
52
+ ], EventTriggerEntity.prototype, "extractor", void 0);
53
+ __decorate([
54
+ Column(),
55
+ __metadata("design:type", String)
56
+ ], EventTriggerEntity.prototype, "boxId", void 0);
57
+ __decorate([
58
+ Column(),
59
+ __metadata("design:type", String)
60
+ ], EventTriggerEntity.prototype, "boxSerialized", void 0);
61
+ __decorate([
62
+ Column(),
63
+ __metadata("design:type", String)
64
+ ], EventTriggerEntity.prototype, "block", void 0);
65
+ __decorate([
66
+ Column(),
67
+ __metadata("design:type", Number)
68
+ ], EventTriggerEntity.prototype, "height", void 0);
69
+ __decorate([
70
+ Column(),
71
+ __metadata("design:type", String)
72
+ ], EventTriggerEntity.prototype, "fromChain", void 0);
73
+ __decorate([
74
+ Column(),
75
+ __metadata("design:type", String)
76
+ ], EventTriggerEntity.prototype, "toChain", void 0);
77
+ __decorate([
78
+ Column(),
79
+ __metadata("design:type", String)
80
+ ], EventTriggerEntity.prototype, "fromAddress", void 0);
81
+ __decorate([
82
+ Column(),
83
+ __metadata("design:type", String)
84
+ ], EventTriggerEntity.prototype, "toAddress", void 0);
85
+ __decorate([
86
+ Column(),
87
+ __metadata("design:type", String)
88
+ ], EventTriggerEntity.prototype, "amount", void 0);
89
+ __decorate([
90
+ Column(),
91
+ __metadata("design:type", String)
92
+ ], EventTriggerEntity.prototype, "bridgeFee", void 0);
93
+ __decorate([
94
+ Column(),
95
+ __metadata("design:type", String)
96
+ ], EventTriggerEntity.prototype, "networkFee", void 0);
97
+ __decorate([
98
+ Column(),
99
+ __metadata("design:type", String)
100
+ ], EventTriggerEntity.prototype, "sourceChainTokenId", void 0);
101
+ __decorate([
102
+ Column(),
103
+ __metadata("design:type", Number)
104
+ ], EventTriggerEntity.prototype, "sourceChainHeight", void 0);
105
+ __decorate([
106
+ Column(),
107
+ __metadata("design:type", String)
108
+ ], EventTriggerEntity.prototype, "targetChainTokenId", void 0);
109
+ __decorate([
110
+ Column(),
111
+ __metadata("design:type", String)
112
+ ], EventTriggerEntity.prototype, "sourceTxId", void 0);
113
+ __decorate([
114
+ Column(),
115
+ __metadata("design:type", String)
116
+ ], EventTriggerEntity.prototype, "sourceBlockId", void 0);
117
+ __decorate([
118
+ Column(),
119
+ __metadata("design:type", String)
120
+ ], EventTriggerEntity.prototype, "WIDs", void 0);
121
+ __decorate([
122
+ Column({ nullable: true, type: 'text' }),
123
+ __metadata("design:type", Object)
124
+ ], EventTriggerEntity.prototype, "spendBlock", void 0);
125
+ __decorate([
126
+ Column({ nullable: true }),
127
+ __metadata("design:type", Number)
128
+ ], EventTriggerEntity.prototype, "spendHeight", void 0);
129
+ __decorate([
130
+ Column({ nullable: true }),
131
+ __metadata("design:type", String)
132
+ ], EventTriggerEntity.prototype, "spendTxId", void 0);
133
+ EventTriggerEntity = __decorate([
134
+ Entity(),
135
+ Unique(['boxId', 'extractor'])
136
+ ], EventTriggerEntity);
137
+ export default EventTriggerEntity;
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRUcmlnZ2VyRW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2VudGl0aWVzL0V2ZW50VHJpZ2dlckVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFJekUsSUFBTSxrQkFBa0IsR0FBeEIsTUFBTSxrQkFBa0I7SUFFdEIsRUFBRSxDQUFTO0lBR1gsT0FBTyxDQUFTO0lBR2hCLElBQUksQ0FBUztJQUdiLFNBQVMsQ0FBUztJQUdsQixLQUFLLENBQVM7SUFHZCxhQUFhLENBQVM7SUFHdEIsS0FBSyxDQUFTO0lBR2QsTUFBTSxDQUFTO0lBR2YsU0FBUyxDQUFTO0lBR2xCLE9BQU8sQ0FBUztJQUdoQixXQUFXLENBQVM7SUFHcEIsU0FBUyxDQUFTO0lBR2xCLE1BQU0sQ0FBUztJQUdmLFNBQVMsQ0FBUztJQUdsQixVQUFVLENBQVM7SUFHbkIsa0JBQWtCLENBQVM7SUFHM0IsaUJBQWlCLENBQVM7SUFHMUIsa0JBQWtCLENBQVM7SUFHM0IsVUFBVSxDQUFTO0lBR25CLGFBQWEsQ0FBUztJQUd0QixJQUFJLENBQVM7SUFHYixVQUFVLENBQWlCO0lBRzNCLFdBQVcsQ0FBVTtJQUdyQixTQUFTLENBQVU7Q0FDcEIsQ0FBQTtBQXZFQztJQUFDLHNCQUFzQixFQUFFOzs4Q0FDZDtBQUVYO0lBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDOzttREFDZjtBQUVoQjtJQUFDLE1BQU0sRUFBRTs7Z0RBQ0k7QUFFYjtJQUFDLE1BQU0sRUFBRTs7cURBQ1M7QUFFbEI7SUFBQyxNQUFNLEVBQUU7O2lEQUNLO0FBRWQ7SUFBQyxNQUFNLEVBQUU7O3lEQUNhO0FBRXRCO0lBQUMsTUFBTSxFQUFFOztpREFDSztBQUVkO0lBQUMsTUFBTSxFQUFFOztrREFDTTtBQUVmO0lBQUMsTUFBTSxFQUFFOztxREFDUztBQUVsQjtJQUFDLE1BQU0sRUFBRTs7bURBQ087QUFFaEI7SUFBQyxNQUFNLEVBQUU7O3VEQUNXO0FBRXBCO0lBQUMsTUFBTSxFQUFFOztxREFDUztBQUVsQjtJQUFDLE1BQU0sRUFBRTs7a0RBQ007QUFFZjtJQUFDLE1BQU0sRUFBRTs7cURBQ1M7QUFFbEI7SUFBQyxNQUFNLEVBQUU7O3NEQUNVO0FBRW5CO0lBQUMsTUFBTSxFQUFFOzs4REFDa0I7QUFFM0I7SUFBQyxNQUFNLEVBQUU7OzZEQUNpQjtBQUUxQjtJQUFDLE1BQU0sRUFBRTs7OERBQ2tCO0FBRTNCO0lBQUMsTUFBTSxFQUFFOztzREFDVTtBQUVuQjtJQUFDLE1BQU0sRUFBRTs7eURBQ2E7QUFFdEI7SUFBQyxNQUFNLEVBQUU7O2dEQUNJO0FBRWI7SUFBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzs7c0RBQ2Q7QUFFM0I7SUFBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7O3VEQUNOO0FBRXJCO0lBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDOztxREFDUjtBQXZFZixrQkFBa0I7SUFGdkIsTUFBTSxFQUFFO0lBQ1IsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0dBQ3pCLGtCQUFrQixDQXdFdkI7QUFFRCxlQUFlLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sdW1uLCBFbnRpdHksIFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4sIFVuaXF1ZSB9IGZyb20gJ3R5cGVvcm0nO1xuXG5ARW50aXR5KClcbkBVbmlxdWUoWydib3hJZCcsICdleHRyYWN0b3InXSlcbmNsYXNzIEV2ZW50VHJpZ2dlckVudGl0eSB7XG4gIEBQcmltYXJ5R2VuZXJhdGVkQ29sdW1uKClcbiAgaWQ6IG51bWJlcjtcblxuICBAQ29sdW1uKHsgZGVmYXVsdDogJ05vdC1zZXQnIH0pXG4gIGV2ZW50SWQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgdHhJZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBleHRyYWN0b3I6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgYm94SWQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgYm94U2VyaWFsaXplZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBibG9jazogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBoZWlnaHQ6IG51bWJlcjtcblxuICBAQ29sdW1uKClcbiAgZnJvbUNoYWluOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIHRvQ2hhaW46IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgZnJvbUFkZHJlc3M6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgdG9BZGRyZXNzOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIGFtb3VudDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBicmlkZ2VGZWU6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgbmV0d29ya0ZlZTogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBzb3VyY2VDaGFpblRva2VuSWQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgc291cmNlQ2hhaW5IZWlnaHQ6IG51bWJlcjtcblxuICBAQ29sdW1uKClcbiAgdGFyZ2V0Q2hhaW5Ub2tlbklkOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIHNvdXJjZVR4SWQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgc291cmNlQmxvY2tJZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBXSURzOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IG51bGxhYmxlOiB0cnVlLCB0eXBlOiAndGV4dCcgfSlcbiAgc3BlbmRCbG9jaz86IHN0cmluZyB8IG51bGw7XG5cbiAgQENvbHVtbih7IG51bGxhYmxlOiB0cnVlIH0pXG4gIHNwZW5kSGVpZ2h0PzogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBudWxsYWJsZTogdHJ1ZSB9KVxuICBzcGVuZFR4SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEV2ZW50VHJpZ2dlckVudGl0eTtcbiJdfQ==
@@ -0,0 +1,14 @@
1
+ declare class PermitEntity {
2
+ id: number;
3
+ extractor: string;
4
+ boxId: string;
5
+ boxSerialized: string;
6
+ WID: string;
7
+ block: string;
8
+ height: number;
9
+ spendBlock?: string | null;
10
+ spendHeight?: number;
11
+ txId: string;
12
+ }
13
+ export default PermitEntity;
14
+ //# 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,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAG3B,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,68 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Column, Entity, PrimaryGeneratedColumn, Unique } from 'typeorm';
11
+ let PermitEntity = class PermitEntity {
12
+ id;
13
+ extractor;
14
+ boxId;
15
+ boxSerialized;
16
+ WID;
17
+ block;
18
+ height;
19
+ spendBlock;
20
+ spendHeight;
21
+ txId;
22
+ };
23
+ __decorate([
24
+ PrimaryGeneratedColumn(),
25
+ __metadata("design:type", Number)
26
+ ], PermitEntity.prototype, "id", void 0);
27
+ __decorate([
28
+ Column(),
29
+ __metadata("design:type", String)
30
+ ], PermitEntity.prototype, "extractor", void 0);
31
+ __decorate([
32
+ Column(),
33
+ __metadata("design:type", String)
34
+ ], PermitEntity.prototype, "boxId", void 0);
35
+ __decorate([
36
+ Column(),
37
+ __metadata("design:type", String)
38
+ ], PermitEntity.prototype, "boxSerialized", void 0);
39
+ __decorate([
40
+ Column(),
41
+ __metadata("design:type", String)
42
+ ], PermitEntity.prototype, "WID", void 0);
43
+ __decorate([
44
+ Column(),
45
+ __metadata("design:type", String)
46
+ ], PermitEntity.prototype, "block", void 0);
47
+ __decorate([
48
+ Column(),
49
+ __metadata("design:type", Number)
50
+ ], PermitEntity.prototype, "height", void 0);
51
+ __decorate([
52
+ Column({ nullable: true, type: 'text' }),
53
+ __metadata("design:type", Object)
54
+ ], PermitEntity.prototype, "spendBlock", void 0);
55
+ __decorate([
56
+ Column({ nullable: true }),
57
+ __metadata("design:type", Number)
58
+ ], PermitEntity.prototype, "spendHeight", void 0);
59
+ __decorate([
60
+ Column(),
61
+ __metadata("design:type", String)
62
+ ], PermitEntity.prototype, "txId", void 0);
63
+ PermitEntity = __decorate([
64
+ Entity(),
65
+ Unique(['boxId', 'extractor'])
66
+ ], PermitEntity);
67
+ export default PermitEntity;
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVybWl0RW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2VudGl0aWVzL1Blcm1pdEVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFJekUsSUFBTSxZQUFZLEdBQWxCLE1BQU0sWUFBWTtJQUVoQixFQUFFLENBQVM7SUFHWCxTQUFTLENBQVM7SUFHbEIsS0FBSyxDQUFTO0lBR2QsYUFBYSxDQUFTO0lBR3RCLEdBQUcsQ0FBUztJQUdaLEtBQUssQ0FBUztJQUdkLE1BQU0sQ0FBUztJQUdmLFVBQVUsQ0FBaUI7SUFHM0IsV0FBVyxDQUFVO0lBR3JCLElBQUksQ0FBUztDQUNkLENBQUE7QUE3QkM7SUFBQyxzQkFBc0IsRUFBRTs7d0NBQ2Q7QUFFWDtJQUFDLE1BQU0sRUFBRTs7K0NBQ1M7QUFFbEI7SUFBQyxNQUFNLEVBQUU7OzJDQUNLO0FBRWQ7SUFBQyxNQUFNLEVBQUU7O21EQUNhO0FBRXRCO0lBQUMsTUFBTSxFQUFFOzt5Q0FDRztBQUVaO0lBQUMsTUFBTSxFQUFFOzsyQ0FDSztBQUVkO0lBQUMsTUFBTSxFQUFFOzs0Q0FDTTtBQUVmO0lBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7O2dEQUNkO0FBRTNCO0lBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDOztpREFDTjtBQUVyQjtJQUFDLE1BQU0sRUFBRTs7MENBQ0k7QUE3QlQsWUFBWTtJQUZqQixNQUFNLEVBQUU7SUFDUixNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7R0FDekIsWUFBWSxDQThCakI7QUFFRCxlQUFlLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbHVtbiwgRW50aXR5LCBQcmltYXJ5R2VuZXJhdGVkQ29sdW1uLCBVbmlxdWUgfSBmcm9tICd0eXBlb3JtJztcblxuQEVudGl0eSgpXG5AVW5pcXVlKFsnYm94SWQnLCAnZXh0cmFjdG9yJ10pXG5jbGFzcyBQZXJtaXRFbnRpdHkge1xuICBAUHJpbWFyeUdlbmVyYXRlZENvbHVtbigpXG4gIGlkOiBudW1iZXI7XG5cbiAgQENvbHVtbigpXG4gIGV4dHJhY3Rvcjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBib3hJZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBib3hTZXJpYWxpemVkOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIFdJRDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBibG9jazogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBoZWlnaHQ6IG51bWJlcjtcblxuICBAQ29sdW1uKHsgbnVsbGFibGU6IHRydWUsIHR5cGU6ICd0ZXh0JyB9KVxuICBzcGVuZEJsb2NrPzogc3RyaW5nIHwgbnVsbDtcblxuICBAQ29sdW1uKHsgbnVsbGFibGU6IHRydWUgfSlcbiAgc3BlbmRIZWlnaHQ/OiBudW1iZXI7XG5cbiAgQENvbHVtbigpXG4gIHR4SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGRlZmF1bHQgUGVybWl0RW50aXR5O1xuIl19
@@ -0,0 +1,28 @@
1
+ import { DataSource } from 'typeorm';
2
+ import { AbstractExtractor, BlockEntity, Transaction } from '@rosen-bridge/scanner';
3
+ import { AbstractLogger } from '@rosen-bridge/logger-interface';
4
+ declare class EventTriggerExtractor extends AbstractExtractor<Transaction> {
5
+ readonly logger: AbstractLogger;
6
+ id: string;
7
+ private readonly dataSource;
8
+ private readonly actions;
9
+ private readonly eventTriggerErgoTree;
10
+ private readonly RWT;
11
+ constructor(id: string, dataSource: DataSource, address: string, RWT: string, logger?: AbstractLogger);
12
+ getId: () => string;
13
+ /**
14
+ * gets block id and transactions corresponding to the block and saves if they are valid rosen
15
+ * transactions and in case of success return true and in case of failure returns false
16
+ * @param block
17
+ * @param txs
18
+ */
19
+ processTransactions: (txs: Array<Transaction>, block: BlockEntity) => Promise<boolean>;
20
+ forkBlock: (hash: string) => Promise<void>;
21
+ /**
22
+ * Extractor box initialization
23
+ * No action needed in event trigger extractors
24
+ */
25
+ initializeBoxes: () => Promise<void>;
26
+ }
27
+ export default EventTriggerExtractor;
28
+ //# sourceMappingURL=EventTriggerExtractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventTriggerExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractor/EventTriggerExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAe,MAAM,gCAAgC,CAAC;AAM7E,cAAM,qBAAsB,SAAQ,iBAAiB,CAAC,WAAW,CAAC;IAChE,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAG3B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,cAAc;IAazB,KAAK,eAAiB;IAEtB;;;;;OAKG;IACH,mBAAmB,QACZ,MAAM,WAAW,CAAC,SAChB,WAAW,KACjB,QAAQ,OAAO,CAAC,CAuHjB;IAEF,SAAS,SAAgB,MAAM,mBAE7B;IAEF;;;OAGG;IACH,eAAe,sBAEb;CACH;AAED,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,126 @@
1
+ import * as wasm from 'ergo-lib-wasm-nodejs';
2
+ import { blake2b } from 'blakejs';
3
+ import { AbstractExtractor, } from '@rosen-bridge/scanner';
4
+ import { DummyLogger } from '@rosen-bridge/logger-interface';
5
+ import EventTriggerAction from '../actions/EventTriggerAction';
6
+ import { JsonBI } from '../utils';
7
+ class EventTriggerExtractor extends AbstractExtractor {
8
+ logger;
9
+ id;
10
+ dataSource;
11
+ actions;
12
+ eventTriggerErgoTree;
13
+ RWT;
14
+ constructor(id, dataSource, address, RWT, logger) {
15
+ super();
16
+ this.id = id;
17
+ this.dataSource = dataSource;
18
+ this.eventTriggerErgoTree = wasm.Address.from_base58(address)
19
+ .to_ergo_tree()
20
+ .to_base16_bytes();
21
+ this.RWT = RWT;
22
+ this.logger = logger ? logger : new DummyLogger();
23
+ this.actions = new EventTriggerAction(dataSource, this.logger);
24
+ }
25
+ getId = () => this.id;
26
+ /**
27
+ * gets block id and transactions corresponding to the block and saves if they are valid rosen
28
+ * transactions and in case of success return true and in case of failure returns false
29
+ * @param block
30
+ * @param txs
31
+ */
32
+ processTransactions = (txs, block) => {
33
+ return new Promise((resolve, reject) => {
34
+ try {
35
+ const boxes = [];
36
+ const txSpendIds = [];
37
+ txs.forEach((transaction) => {
38
+ for (const output of transaction.outputs) {
39
+ try {
40
+ if (output.additionalRegisters &&
41
+ output.assets &&
42
+ output.assets.length > 0 &&
43
+ output.assets[0].tokenId === this.RWT &&
44
+ output.ergoTree === this.eventTriggerErgoTree) {
45
+ const R4 = output.additionalRegisters.R4;
46
+ const R5 = output.additionalRegisters.R5;
47
+ if (R4 && R5) {
48
+ const outputParsed = wasm.ErgoBox.from_json(JsonBI.stringify(output));
49
+ const R4Const = outputParsed.register_value(wasm.NonMandatoryRegisterId.R4);
50
+ const R5Const = outputParsed.register_value(wasm.NonMandatoryRegisterId.R5);
51
+ if (R4Const && R5Const) {
52
+ const R4Serialized = R4Const.to_coll_coll_byte();
53
+ const R5Serialized = R5Const.to_coll_coll_byte();
54
+ if (R4Serialized.length >= 1 && R5Serialized.length >= 12) {
55
+ const WIDs = R4Serialized.map((byteArray) => Buffer.from(byteArray).toString('hex')).join(',');
56
+ const sourceTxId = Buffer.from(R5Serialized[0]).toString();
57
+ const eventId = Buffer.from(blake2b(sourceTxId, undefined, 32)).toString('hex');
58
+ boxes.push({
59
+ eventId: eventId,
60
+ txId: transaction.id,
61
+ boxId: output.boxId,
62
+ boxSerialized: Buffer.from(outputParsed.sigma_serialize_bytes()).toString('base64'),
63
+ toChain: Buffer.from(R5Serialized[2]).toString(),
64
+ toAddress: Buffer.from(R5Serialized[4]).toString(),
65
+ networkFee: BigInt('0x' + Buffer.from(R5Serialized[7]).toString('hex')).toString(10),
66
+ bridgeFee: BigInt('0x' + Buffer.from(R5Serialized[6]).toString('hex')).toString(10),
67
+ amount: BigInt('0x' + Buffer.from(R5Serialized[5]).toString('hex')).toString(10),
68
+ sourceChainTokenId: Buffer.from(R5Serialized[8]).toString(),
69
+ targetChainTokenId: Buffer.from(R5Serialized[9]).toString(),
70
+ sourceTxId: sourceTxId,
71
+ fromChain: Buffer.from(R5Serialized[1]).toString(),
72
+ fromAddress: Buffer.from(R5Serialized[3]).toString(),
73
+ sourceBlockId: Buffer.from(R5Serialized[10]).toString(),
74
+ WIDs: WIDs,
75
+ sourceChainHeight: Number(BigInt('0x' + Buffer.from(R5Serialized[11]).toString('hex')).toString(10)),
76
+ });
77
+ }
78
+ }
79
+ }
80
+ }
81
+ }
82
+ catch {
83
+ continue;
84
+ }
85
+ // process inputs
86
+ txSpendIds.push({
87
+ txId: transaction.id,
88
+ spendBoxes: transaction.inputs.map((box) => box.boxId),
89
+ });
90
+ }
91
+ });
92
+ this.actions
93
+ .storeEventTriggers(boxes, block, this.getId())
94
+ .then(() => {
95
+ txSpendIds.forEach((txSpends) => {
96
+ this.actions
97
+ .spendEventTriggers(txSpends.spendBoxes, block, this.id, txSpends.txId)
98
+ .then(() => {
99
+ resolve(true);
100
+ });
101
+ });
102
+ })
103
+ .catch((e) => {
104
+ this.logger.error(`Error in storing permits of the block ${block}: ${e}`);
105
+ reject(e);
106
+ });
107
+ }
108
+ catch (e) {
109
+ this.logger.error(`block ${block} doesn't save in the database with error: ${e}`);
110
+ reject(e);
111
+ }
112
+ });
113
+ };
114
+ forkBlock = async (hash) => {
115
+ await this.actions.deleteBlock(hash, this.getId());
116
+ };
117
+ /**
118
+ * Extractor box initialization
119
+ * No action needed in event trigger extractors
120
+ */
121
+ initializeBoxes = async () => {
122
+ return;
123
+ };
124
+ }
125
+ export default EventTriggerExtractor;
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRUcmlnZ2VyRXh0cmFjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2V4dHJhY3Rvci9FdmVudFRyaWdnZXJFeHRyYWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLElBQUksTUFBTSxzQkFBc0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sRUFDTCxpQkFBaUIsR0FHbEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTdFLE9BQU8sa0JBQWtCLE1BQU0sK0JBQStCLENBQUM7QUFFL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVsQyxNQUFNLHFCQUFzQixTQUFRLGlCQUE4QjtJQUN2RCxNQUFNLENBQWlCO0lBQ2hDLEVBQUUsQ0FBUztJQUNNLFVBQVUsQ0FBYTtJQUN2QixPQUFPLENBQXFCO0lBQzVCLG9CQUFvQixDQUFTO0lBQzdCLEdBQUcsQ0FBUztJQUU3QixZQUNFLEVBQVUsRUFDVixVQUFzQixFQUN0QixPQUFlLEVBQ2YsR0FBVyxFQUNYLE1BQXVCO1FBRXZCLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO2FBQzFELFlBQVksRUFBRTthQUNkLGVBQWUsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNsRCxJ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QUFDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDO3FCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLHlDQUF5QyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQ3ZELENBQUM7b0JBQ0YsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNaLENBQUMsQ0FBQyxDQUFDO2FBQ047WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZixTQUFTLEtBQUssNkNBQTZDLENBQUMsRUFBRSxDQUMvRCxDQUFDO2dCQUNGLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNYO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7SUFFRixTQUFTLEdBQUcsS0FBSyxFQUFFLElBQVksRUFBRSxFQUFFO1FBQ2pDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUMsQ0FBQztJQUVGOzs7T0FHRztJQUNILGVBQWUsR0FBRyxLQUFLLElBQUksRUFBRTtRQUMzQixPQUFPO0lBQ1QsQ0FBQyxDQUFDO0NBQ0g7QUFFRCxlQUFlLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJ3R5cGVvcm0nO1xuaW1wb3J0ICogYXMgd2FzbSBmcm9tICdlcmdvLWxpYi13YXNtLW5vZGVqcyc7XG5pbXBvcnQgeyBibGFrZTJiIH0gZnJvbSAnYmxha2Vqcyc7XG5pbXBvcnQge1xuICBBYnN0cmFjdEV4dHJhY3RvcixcbiAgQmxvY2tFbnRpdHksXG4gIFRyYW5zYWN0aW9uLFxufSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXInO1xuaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIsIER1bW15TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9sb2dnZXItaW50ZXJmYWNlJztcblxuaW1wb3J0IEV2ZW50VHJpZ2dlckFjdGlvbiBmcm9tICcuLi9hY3Rpb25zL0V2ZW50VHJpZ2dlckFjdGlvbic7XG5pbXBvcnQgeyBFeHRyYWN0ZWRFdmVudFRyaWdnZXIgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2V4dHJhY3RlZEV2ZW50VHJpZ2dlcic7XG5pbXBvcnQgeyBKc29uQkkgfSBmcm9tICcuLi91dGlscyc7XG5cbmNsYXNzIEV2ZW50VHJpZ2dlckV4dHJhY3RvciBleHRlbmRzIEFic3RyYWN0RXh0cmFjdG9yPFRyYW5zYWN0aW9uPiB7XG4gIHJlYWRvbmx5IGxvZ2dlcjogQWJzdHJhY3RMb2dnZXI7XG4gIGlkOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0YVNvdXJjZTogRGF0YVNvdXJjZTtcbiAgcHJpdmF0ZSByZWFkb25seSBhY3Rpb25zOiBFdmVudFRyaWdnZXJBY3Rpb247XG4gIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRUcmlnZ2VyRXJnb1RyZWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBSV1Q6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpZDogc3RyaW5nLFxuICAgIGRhdGFTb3VyY2U6IERhdGFTb3VyY2UsXG4gICAgYWRkcmVzczogc3RyaW5nLFxuICAgIFJXVDogc3RyaW5nLFxuICAgIGxvZ2dlcj86IEFic3RyYWN0TG9nZ2VyXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5pZCA9IGlkO1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IGRhdGFTb3VyY2U7XG4gICAgdGhpcy5ldmVudFRyaWdnZXJFcmdvVHJlZSA9IHdhc20uQWRkcmVzcy5mcm9tX2Jhc2U1OChhZGRyZXNzKVxuICAgICAgLnRvX2VyZ29fdHJlZSgpXG4gICAgICAudG9fYmFzZTE2X2J5dGVzKCk7XG4gICAgdGhpcy5SV1QgPSBSV1Q7XG4gICAgdGhpcy5sb2dnZXIgPSBsb2dnZXIgPyBsb2dnZXIgOiBuZXcgRHVtbXlMb2dnZXIoKTtcbiAgICB0aGlzLmFjdGlvbnMgPSBuZXcgRXZlbnRUcmlnZ2VyQWN0aW9uKGRhdGFTb3VyY2UsIHRoaXMubG9nZ2VyKTtcbiAgfVxuXG4gIGdldElkID0gKCkgPT4gdGhpcy5pZDtcblxuICAvKipcbiAgICogZ2V0cyBibG9jayBpZCBhbmQgdHJhbnNhY3Rpb25zIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGJsb2NrIGFuZCBzYXZlcyBpZiB0aGV5IGFyZSB2YWxpZCByb3NlblxuICAgKiAgdHJhbnNhY3Rpb25zIGFuZCBpbiBjYXNlIG9mIHN1Y2Nlc3MgcmV0dXJuIHRydWUgYW5kIGluIGNhc2Ugb2YgZmFpbHVyZSByZXR1cm5zIGZhbHNlXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKiBAcGFyYW0gdHhzXG4gICAqL1xuICBwcm9jZXNzVHJhbnNhY3Rpb25zID0gKFxuICAgIHR4czogQXJyYXk8VHJhbnNhY3Rpb24+LFxuICAgIGJsb2NrOiBCbG9ja0VudGl0eVxuICApOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgYm94ZXM6IEFycmF5PEV4dHJhY3RlZEV2ZW50VHJpZ2dlcj4gPSBbXTtcbiAgICAgICAgY29uc3QgdHhTcGVuZElkczogQXJyYXk8eyB0eElkOiBzdHJpbmc7IHNwZW5kQm94ZXM6IEFycmF5PHN0cmluZz4gfT4gPVxuICAgICAgICAgIFtdO1xuICAgICAgICB0eHMuZm9yRWFjaCgodHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgICBmb3IgKGNvbnN0IG91dHB1dCBvZiB0cmFuc2FjdGlvbi5vdXRwdXRzKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgb3V0cHV0LmFkZGl0aW9uYWxSZWdpc3RlcnMgJiZcbiAgICAgICAgICAgICAgICBvdXRwdXQuYXNzZXRzICYmXG4gICAgICAgICAgICAgICAgb3V0cHV0LmFzc2V0cy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICAgICAgb3V0cHV0LmFzc2V0c1swXS50b2tlbklkID09PSB0aGlzLlJXVCAmJlxuICAgICAgICAgICAgICAgIG91dHB1dC5lcmdvVHJlZSA9PT0gdGhpcy5ldmVudFRyaWdnZXJFcmdvVHJlZVxuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBSNCA9IG91dHB1dC5hZGRpdGlvbmFsUmVnaXN0ZXJzLlI0O1xuICAgICAgICAgICAgICAgIGNvbnN0IFI1ID0gb3V0cHV0LmFkZGl0aW9uYWxSZWdpc3RlcnMuUjU7XG4gICAgICAgICAgICAgICAgaWYgKFI0ICYmIFI1KSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBvdXRwdXRQYXJzZWQgPSB3YXNtLkVyZ29Cb3guZnJvbV9qc29uKFxuICAgICAgICAgICAgICAgICAgICBKc29uQkkuc3RyaW5naWZ5KG91dHB1dClcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICBjb25zdCBSNENvbnN0ID0gb3V0cHV0UGFyc2VkLnJlZ2lzdGVyX3ZhbHVlKFxuICAgICAgICAgICAgICAgICAgICB3YXNtLk5vbk1hbmRhdG9yeVJlZ2lzdGVySWQuUjRcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICBjb25zdCBSNUNvbnN0ID0gb3V0cHV0UGFyc2VkLnJlZ2lzdGVyX3ZhbHVlKFxuICAgICAgICAgICAgICAgICAgICB3YXNtLk5vbk1hbmRhdG9yeVJlZ2lzdGVySWQuUjVcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICBpZiAoUjRDb25zdCAmJiBSNUNvbnN0KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IFI0U2VyaWFsaXplZCA9IFI0Q29uc3QudG9fY29sbF9jb2xsX2J5dGUoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgUjVTZXJpYWxpemVkID0gUjVDb25zdC50b19jb2xsX2NvbGxfYnl0ZSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoUjRTZXJpYWxpemVkLmxlbmd0aCA+PSAxICYmIFI1U2VyaWFsaXplZC5sZW5ndGggPj0gMTIpIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXSURzID0gUjRTZXJpYWxpemVkLm1hcCgoYnl0ZUFycmF5KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyLmZyb20oYnl0ZUFycmF5KS50b1N0cmluZygnaGV4JylcbiAgICAgICAgICAgICAgICAgICAgICApLmpvaW4oJywnKTtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzb3VyY2VUeElkID0gQnVmZmVyLmZyb20oXG4gICAgICAgICAgICAgICAgICAgICAgICBSNVNlcmlhbGl6ZWRbMF1cbiAgICAgICAgICAgICAgICAgICAgICApLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXZlbnRJZCA9IEJ1ZmZlci5mcm9tKFxuICAgICAgICAgICAgICAgICAgICAgICAgYmxha2UyYihzb3VyY2VUeElkLCB1bmRlZmluZWQsIDMyKVxuICAgICAgICAgICAgICAgICAgICAgICkudG9TdHJpbmcoJ2hleCcpO1xuICAgICAgICAgICAgICAgICAgICAgIGJveGVzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRJZDogZXZlbnRJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR4SWQ6IHRyYW5zYWN0aW9uLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgYm94SWQ6IG91dHB1dC5ib3hJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveFNlcmlhbGl6ZWQ6IEJ1ZmZlci5mcm9tKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRQYXJzZWQuc2lnbWFfc2VyaWFsaXplX2J5dGVzKClcbiAgICAgICAgICAgICAgICAgICAgICAgICkudG9TdHJpbmcoJ2Jhc2U2NCcpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdG9DaGFpbjogQnVmZmVyLmZyb20oUjVTZXJpYWxpemVkWzJdKS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdG9BZGRyZXNzOiBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbNF0pLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXR3b3JrRmVlOiBCaWdJbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICcweCcgKyBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbN10pLnRvU3RyaW5nKCdoZXgnKVxuICAgICAgICAgICAgICAgICAgICAgICAgKS50b1N0cmluZygxMCksXG4gICAgICAgICAgICAgICAgICAgICAgICBicmlkZ2VGZWU6IEJpZ0ludChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJzB4JyArIEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFs2XSkudG9TdHJpbmcoJ2hleCcpXG4gICAgICAgICAgICAgICAgICAgICAgICApLnRvU3RyaW5nKDEwKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFtb3VudDogQmlnSW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnMHgnICsgQnVmZmVyLmZyb20oUjVTZXJpYWxpemVkWzVdKS50b1N0cmluZygnaGV4JylcbiAgICAgICAgICAgICAgICAgICAgICAgICkudG9TdHJpbmcoMTApLFxuICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlQ2hhaW5Ub2tlbklkOiBCdWZmZXIuZnJvbShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgUjVTZXJpYWxpemVkWzhdXG4gICAgICAgICAgICAgICAgICAgICAgICApLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRDaGFpblRva2VuSWQ6IEJ1ZmZlci5mcm9tKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBSNVNlcmlhbGl6ZWRbOV1cbiAgICAgICAgICAgICAgICAgICAgICAgICkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZVR4SWQ6IHNvdXJjZVR4SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBmcm9tQ2hhaW46IEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFsxXSkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZyb21BZGRyZXNzOiBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbM10pLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VCbG9ja0lkOiBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbMTBdKS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgV0lEczogV0lEcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUNoYWluSGVpZ2h0OiBOdW1iZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIEJpZ0ludChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMHgnICsgQnVmZmVyLmZyb20oUjVTZXJpYWxpemVkWzExXSkudG9TdHJpbmcoJ2hleCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICkudG9TdHJpbmcoMTApXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBwcm9jZXNzIGlucHV0c1xuICAgICAgICAgICAgdHhTcGVuZElkcy5wdXNoKHtcbiAgICAgICAgICAgICAgdHhJZDogdHJhbnNhY3Rpb24uaWQsXG4gICAgICAgICAgICAgIHNwZW5kQm94ZXM6IHRyYW5zYWN0aW9uLmlucHV0cy5tYXAoKGJveCkgPT4gYm94LmJveElkKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1xuICAgICAgICAgIC5zdG9yZUV2ZW50VHJpZ2dlcnMoYm94ZXMsIGJsb2NrLCB0aGlzLmdldElkKCkpXG4gICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgdHhTcGVuZElkcy5mb3JFYWNoKCh0eFNwZW5kcykgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmFjdGlvbnNcbiAgICAgICAgICAgICAgICAuc3BlbmRFdmVudFRyaWdnZXJzKFxuICAgICAgICAgICAgICAgICAgdHhTcGVuZHMuc3BlbmRCb3hlcyxcbiAgICAgICAgICAgICAgICAgIGJsb2NrLFxuICAgICAgICAgICAgICAgICAgdGhpcy5pZCxcbiAgICAgICAgICAgICAgICAgIHR4U3BlbmRzLnR4SWRcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcbiAgICAgICAgICAgICAgYEVycm9yIGluIHN0b3JpbmcgcGVybWl0cyBvZiB0aGUgYmxvY2sgJHtibG9ja306ICR7ZX1gXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcbiAgICAgICAgICBgYmxvY2sgJHtibG9ja30gZG9lc24ndCBzYXZlIGluIHRoZSBkYXRhYmFzZSB3aXRoIGVycm9yOiAke2V9YFxuICAgICAgICApO1xuICAgICAgICByZWplY3QoZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgZm9ya0Jsb2NrID0gYXN5bmMgKGhhc2g6IHN0cmluZykgPT4ge1xuICAgIGF3YWl0IHRoaXMuYWN0aW9ucy5kZWxldGVCbG9jayhoYXNoLCB0aGlzLmdldElkKCkpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBFeHRyYWN0b3IgYm94IGluaXRpYWxpemF0aW9uXG4gICAqIE5vIGFjdGlvbiBuZWVkZWQgaW4gZXZlbnQgdHJpZ2dlciBleHRyYWN0b3JzXG4gICAqL1xuICBpbml0aWFsaXplQm94ZXMgPSBhc3luYyAoKSA9PiB7XG4gICAgcmV0dXJuO1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBFdmVudFRyaWdnZXJFeHRyYWN0b3I7XG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { DataSource } from 'typeorm';
2
+ import { AbstractExtractor, BlockEntity, Transaction } from '@rosen-bridge/scanner';
3
+ import { AbstractLogger } from '@rosen-bridge/logger-interface';
4
+ declare class CommitmentExtractor extends AbstractExtractor<Transaction> {
5
+ readonly logger: AbstractLogger;
6
+ id: string;
7
+ private readonly dataSource;
8
+ private readonly commitmentsErgoTrees;
9
+ private readonly RWTId;
10
+ private readonly actions;
11
+ constructor(id: string, addresses: Array<string>, RWTId: string, dataSource: DataSource, logger?: AbstractLogger);
12
+ /**
13
+ * get Id for current extractor
14
+ */
15
+ getId: () => string;
16
+ /**
17
+ * gets block id and transactions corresponding to the block and saves if they are valid rosen
18
+ * transactions and in case of success return true and in case of failure returns false
19
+ * @param txs
20
+ * @param block
21
+ */
22
+ processTransactions: (txs: Array<Transaction>, block: BlockEntity) => Promise<boolean>;
23
+ /**
24
+ * fork one block and remove all stored information for this block
25
+ * @param hash: block hash
26
+ */
27
+ forkBlock: (hash: string) => Promise<void>;
28
+ /**
29
+ * Extractor box initialization
30
+ * No action needed for commitment extractor
31
+ */
32
+ initializeBoxes: () => Promise<void>;
33
+ }
34
+ export default CommitmentExtractor;
35
+ //# sourceMappingURL=commitmentExtractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commitmentExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractor/commitmentExtractor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAe,MAAM,gCAAgC,CAAC;AAM7E,cAAM,mBAAoB,SAAQ,iBAAiB,CAAC,WAAW,CAAC;IAC9D,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgB;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;gBAGzC,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EACxB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,UAAU,EACtB,MAAM,CAAC,EAAE,cAAc;IAazB;;OAEG;IACH,KAAK,eAAiB;IAEtB;;;;;OAKG;IACH,mBAAmB,QACZ,MAAM,WAAW,CAAC,SAChB,WAAW,KACjB,QAAQ,OAAO,CAAC,CAyEjB;IAEF;;;OAGG;IACH,SAAS,SAAgB,MAAM,KAAG,QAAQ,IAAI,CAAC,CAE7C;IAEF;;;OAGG;IACH,eAAe,sBAEb;CACH;AAED,eAAe,mBAAmB,CAAC"}