@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.
- package/dist/actions/EventTriggerAction.d.ts +35 -0
- package/dist/actions/EventTriggerAction.d.ts.map +1 -0
- package/dist/actions/EventTriggerAction.js +122 -0
- package/dist/actions/commitmentAction.d.ts +33 -0
- package/dist/actions/commitmentAction.d.ts.map +1 -0
- package/dist/actions/commitmentAction.js +110 -0
- package/dist/actions/permitAction.d.ts +64 -0
- package/dist/actions/permitAction.d.ts.map +1 -0
- package/dist/actions/permitAction.js +173 -0
- package/dist/constants.d.ts +4 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +4 -0
- package/dist/entities/CommitmentEntity.d.ts +17 -0
- package/dist/entities/CommitmentEntity.d.ts.map +1 -0
- package/dist/entities/CommitmentEntity.js +83 -0
- package/dist/entities/EventTriggerEntity.d.ts +28 -0
- package/dist/entities/EventTriggerEntity.d.ts.map +1 -0
- package/dist/entities/EventTriggerEntity.js +138 -0
- package/dist/entities/PermitEntity.d.ts +14 -0
- package/dist/entities/PermitEntity.d.ts.map +1 -0
- package/dist/entities/PermitEntity.js +68 -0
- package/dist/extractor/EventTriggerExtractor.d.ts +28 -0
- package/dist/extractor/EventTriggerExtractor.d.ts.map +1 -0
- package/dist/extractor/EventTriggerExtractor.js +126 -0
- package/dist/extractor/commitmentExtractor.d.ts +35 -0
- package/dist/extractor/commitmentExtractor.d.ts.map +1 -0
- package/dist/extractor/commitmentExtractor.js +110 -0
- package/dist/extractor/permitExtractor.d.ts +139 -0
- package/dist/extractor/permitExtractor.d.ts.map +1 -0
- package/dist/extractor/permitExtractor.js +227 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/interfaces/extractedCommitment.d.ts +11 -0
- package/dist/interfaces/extractedCommitment.d.ts.map +1 -0
- package/dist/interfaces/extractedCommitment.js +2 -0
- package/dist/interfaces/extractedEventTrigger.d.ts +21 -0
- package/dist/interfaces/extractedEventTrigger.d.ts.map +1 -0
- package/dist/interfaces/extractedEventTrigger.js +2 -0
- package/dist/interfaces/extractedPermit.d.ts +12 -0
- package/dist/interfaces/extractedPermit.d.ts.map +1 -0
- package/dist/interfaces/extractedPermit.js +2 -0
- package/dist/interfaces/types.d.ts +20 -0
- package/dist/interfaces/types.d.ts.map +1 -0
- package/dist/interfaces/types.js +2 -0
- package/dist/migrations/index.d.ts +7 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +9 -0
- package/dist/migrations/postgres/1688554842087-migration.d.ts +7 -0
- package/dist/migrations/postgres/1688554842087-migration.d.ts.map +1 -0
- package/dist/migrations/postgres/1688554842087-migration.js +82 -0
- package/dist/migrations/postgres/1689175974257-migration.d.ts +7 -0
- package/dist/migrations/postgres/1689175974257-migration.d.ts.map +1 -0
- package/dist/migrations/postgres/1689175974257-migration.js +50 -0
- package/dist/migrations/sqlite/1688555766601-migration.d.ts +7 -0
- package/dist/migrations/sqlite/1688555766601-migration.d.ts.map +1 -0
- package/dist/migrations/sqlite/1688555766601-migration.js +79 -0
- package/dist/migrations/sqlite/1689175103163-migration.d.ts +7 -0
- package/dist/migrations/sqlite/1689175103163-migration.d.ts.map +1 -0
- package/dist/migrations/sqlite/1689175103163-migration.js +392 -0
- package/dist/utils.d.ts +9 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +6 -0
- 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"}
|