@rosen-bridge/address-extractor 2.1.4 → 2.1.6
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/package.json +3 -3
- package/dist/actions/boxAction.d.ts +0 -56
- package/dist/actions/boxAction.d.ts.map +0 -1
- package/dist/actions/boxAction.js +0 -144
- package/dist/constants.d.ts +0 -3
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -3
- package/dist/entities/boxEntity.d.ts +0 -12
- package/dist/entities/boxEntity.d.ts.map +0 -1
- package/dist/entities/boxEntity.js +0 -62
- package/dist/extractor/ergoUtxoExtractor.d.ts +0 -150
- package/dist/extractor/ergoUtxoExtractor.d.ts.map +0 -1
- package/dist/extractor/ergoUtxoExtractor.js +0 -235
- package/dist/index.d.ts +0 -4
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -4
- package/dist/interfaces/types.d.ts +0 -28
- package/dist/interfaces/types.d.ts.map +0 -1
- package/dist/interfaces/types.js +0 -2
- package/dist/migrations/index.d.ts +0 -7
- package/dist/migrations/index.d.ts.map +0 -1
- package/dist/migrations/index.js +0 -9
- package/dist/migrations/postgres/1688558553044-migration.d.ts +0 -7
- package/dist/migrations/postgres/1688558553044-migration.d.ts.map +0 -1
- package/dist/migrations/postgres/1688558553044-migration.js +0 -24
- package/dist/migrations/postgres/1689151869889-migration.d.ts +0 -7
- package/dist/migrations/postgres/1689151869889-migration.d.ts.map +0 -1
- package/dist/migrations/postgres/1689151869889-migration.js +0 -15
- package/dist/migrations/sqlite/1688555566662-migration.d.ts +0 -7
- package/dist/migrations/sqlite/1688555566662-migration.d.ts.map +0 -1
- package/dist/migrations/sqlite/1688555566662-migration.js +0 -23
- package/dist/migrations/sqlite/1689143753142-migration.d.ts +0 -7
- package/dist/migrations/sqlite/1689143753142-migration.d.ts.map +0 -1
- package/dist/migrations/sqlite/1689143753142-migration.js +0 -85
- package/dist/utils.d.ts +0 -9
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -6
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rosen-bridge/address-extractor",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.6",
|
|
4
4
|
"description": "UTXO box extractor for any address or token.",
|
|
5
5
|
"author": "Rosen Team",
|
|
6
6
|
"license": "GPL-3.0",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@rosen-bridge/logger-interface": "^0.1.0",
|
|
23
|
-
"@rosen-bridge/scanner": "^2.1.
|
|
24
|
-
"@rosen-clients/ergo-explorer": "^1.0.
|
|
23
|
+
"@rosen-bridge/scanner": "^2.1.5",
|
|
24
|
+
"@rosen-clients/ergo-explorer": "^1.0.2",
|
|
25
25
|
"blakejs": "^1.2.1",
|
|
26
26
|
"ergo-lib-wasm-nodejs": "^0.24.0-alpha-1f24f53",
|
|
27
27
|
"lodash-es": "^4.17.21",
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { DataSource } from 'typeorm';
|
|
2
|
-
import { AbstractLogger } from '@rosen-bridge/logger-interface';
|
|
3
|
-
import { BlockEntity } from '@rosen-bridge/scanner';
|
|
4
|
-
import { ExtractedBox } from '../interfaces/types';
|
|
5
|
-
export declare class BoxEntityAction {
|
|
6
|
-
private readonly datasource;
|
|
7
|
-
readonly logger: AbstractLogger;
|
|
8
|
-
private readonly repository;
|
|
9
|
-
constructor(dataSource: DataSource, logger: AbstractLogger);
|
|
10
|
-
/**
|
|
11
|
-
* insert new box into database
|
|
12
|
-
* @param box
|
|
13
|
-
* @param extractor
|
|
14
|
-
*/
|
|
15
|
-
insertBox: (box: ExtractedBox, extractor: string) => Promise<import("typeorm").InsertResult>;
|
|
16
|
-
/**
|
|
17
|
-
* Update an unspent box information in the database
|
|
18
|
-
* @param box
|
|
19
|
-
* @param extractor
|
|
20
|
-
*/
|
|
21
|
-
updateBox: (box: ExtractedBox, extractor: string) => Promise<import("typeorm").UpdateResult>;
|
|
22
|
-
/**
|
|
23
|
-
* It stores list of blocks in the dataSource with block id
|
|
24
|
-
* @param boxes
|
|
25
|
-
* @param spendBoxes
|
|
26
|
-
* @param block
|
|
27
|
-
* @param extractor
|
|
28
|
-
*/
|
|
29
|
-
storeBox: (boxes: Array<ExtractedBox>, spendBoxes: Array<string>, block: BlockEntity, extractor: string) => Promise<boolean>;
|
|
30
|
-
/**
|
|
31
|
-
* delete boxes in specific block from database. if box spend in this block marked as unspent
|
|
32
|
-
* and if created in this block remove it from database
|
|
33
|
-
* @param block
|
|
34
|
-
* @param extractor
|
|
35
|
-
*/
|
|
36
|
-
deleteBlockBoxes: (block: string, extractor: string) => Promise<void>;
|
|
37
|
-
/**
|
|
38
|
-
* Returns all stored box ids
|
|
39
|
-
*/
|
|
40
|
-
getAllBoxIds: (extractor: string) => Promise<Array<string>>;
|
|
41
|
-
/**
|
|
42
|
-
* Removes specified box
|
|
43
|
-
* @param boxId
|
|
44
|
-
* @param extractor
|
|
45
|
-
*/
|
|
46
|
-
removeBox: (boxId: string, extractor: string) => Promise<import("typeorm").DeleteResult>;
|
|
47
|
-
/**
|
|
48
|
-
* Update the box spending information
|
|
49
|
-
* @param boxId
|
|
50
|
-
* @param extractor
|
|
51
|
-
* @param blockId
|
|
52
|
-
* @param blockHeight
|
|
53
|
-
*/
|
|
54
|
-
updateSpendBlock: (boxId: string, extractor: string, blockId: string, blockHeight: number) => Promise<import("typeorm").UpdateResult>;
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=boxAction.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"boxAction.d.ts","sourceRoot":"","sources":["../../lib/actions/boxAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAkB,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;gBAEvC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;IAM1D;;;;OAIG;IACH,SAAS,QAAe,YAAY,aAAa,MAAM,6CASrD;IAEF;;;;OAIG;IACH,SAAS,QAAe,YAAY,aAAa,MAAM,6CAYrD;IAEF;;;;;;OAMG;IACH,QAAQ,UACC,MAAM,YAAY,CAAC,cACd,MAAM,MAAM,CAAC,SAClB,WAAW,aACP,MAAM,sBAkDjB;IAEF;;;;;OAKG;IACH,gBAAgB,UAAiB,MAAM,aAAa,MAAM,mBAYxD;IAEF;;OAEG;IACH,YAAY,cAAqB,MAAM,KAAG,QAAQ,MAAM,MAAM,CAAC,CAAC,CAU9D;IAEF;;;;OAIG;IACH,SAAS,UAAiB,MAAM,aAAa,MAAM,6CAEjD;IAEF;;;;;;OAMG;IACH,gBAAgB,UACP,MAAM,aACF,MAAM,WACR,MAAM,eACF,MAAM,6CAMnB;CACH"}
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import { In } from 'typeorm';
|
|
2
|
-
import { BoxEntity } from '../entities/boxEntity';
|
|
3
|
-
export class BoxEntityAction {
|
|
4
|
-
datasource;
|
|
5
|
-
logger;
|
|
6
|
-
repository;
|
|
7
|
-
constructor(dataSource, logger) {
|
|
8
|
-
this.datasource = dataSource;
|
|
9
|
-
this.logger = logger;
|
|
10
|
-
this.repository = dataSource.getRepository(BoxEntity);
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* insert new box into database
|
|
14
|
-
* @param box
|
|
15
|
-
* @param extractor
|
|
16
|
-
*/
|
|
17
|
-
insertBox = async (box, extractor) => {
|
|
18
|
-
return this.repository.insert({
|
|
19
|
-
address: box.address,
|
|
20
|
-
boxId: box.boxId,
|
|
21
|
-
createBlock: box.blockId,
|
|
22
|
-
creationHeight: box.height,
|
|
23
|
-
serialized: box.serialized,
|
|
24
|
-
extractor: extractor,
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* Update an unspent box information in the database
|
|
29
|
-
* @param box
|
|
30
|
-
* @param extractor
|
|
31
|
-
*/
|
|
32
|
-
updateBox = async (box, extractor) => {
|
|
33
|
-
return this.repository.update({ boxId: box.boxId, extractor: extractor }, {
|
|
34
|
-
address: box.address,
|
|
35
|
-
createBlock: box.blockId,
|
|
36
|
-
creationHeight: box.height,
|
|
37
|
-
serialized: box.serialized,
|
|
38
|
-
spendBlock: null,
|
|
39
|
-
spendHeight: 0,
|
|
40
|
-
});
|
|
41
|
-
};
|
|
42
|
-
/**
|
|
43
|
-
* It stores list of blocks in the dataSource with block id
|
|
44
|
-
* @param boxes
|
|
45
|
-
* @param spendBoxes
|
|
46
|
-
* @param block
|
|
47
|
-
* @param extractor
|
|
48
|
-
*/
|
|
49
|
-
storeBox = async (boxes, spendBoxes, block, extractor) => {
|
|
50
|
-
const boxIds = boxes.map((item) => item.boxId);
|
|
51
|
-
const dbBoxes = await this.datasource.getRepository(BoxEntity).findBy({
|
|
52
|
-
boxId: In(boxIds),
|
|
53
|
-
extractor: extractor,
|
|
54
|
-
});
|
|
55
|
-
let success = true;
|
|
56
|
-
const queryRunner = this.datasource.createQueryRunner();
|
|
57
|
-
await queryRunner.connect();
|
|
58
|
-
await queryRunner.startTransaction();
|
|
59
|
-
const repository = await queryRunner.manager.getRepository(BoxEntity);
|
|
60
|
-
try {
|
|
61
|
-
for (const box of boxes) {
|
|
62
|
-
const entity = {
|
|
63
|
-
address: box.address,
|
|
64
|
-
boxId: box.boxId,
|
|
65
|
-
createBlock: block.hash,
|
|
66
|
-
creationHeight: block.height,
|
|
67
|
-
spendBlock: undefined,
|
|
68
|
-
serialized: box.serialized,
|
|
69
|
-
extractor: extractor,
|
|
70
|
-
};
|
|
71
|
-
const dbBox = dbBoxes.filter((item) => item.boxId === box.boxId);
|
|
72
|
-
if (dbBox.length > 0) {
|
|
73
|
-
this.logger.info(`Updating box ${box.boxId} and extractor ${extractor}`);
|
|
74
|
-
this.logger.debug(`Entity: ${JSON.stringify(entity)}`);
|
|
75
|
-
await repository.update({ id: dbBoxes[0].id }, entity);
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
this.logger.info(`Storing box ${box.boxId}`);
|
|
79
|
-
this.logger.debug(JSON.stringify(entity));
|
|
80
|
-
await repository.insert(entity);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
this.logger.debug(`Updating spendBlock for boxes ${spendBoxes}`);
|
|
84
|
-
await repository.update({ boxId: In(spendBoxes), extractor: extractor }, { spendBlock: block.hash, spendHeight: block.height });
|
|
85
|
-
await queryRunner.commitTransaction();
|
|
86
|
-
}
|
|
87
|
-
catch (e) {
|
|
88
|
-
this.logger.error(`An error occurred during store boxes action: ${e}`);
|
|
89
|
-
await queryRunner.rollbackTransaction();
|
|
90
|
-
success = false;
|
|
91
|
-
}
|
|
92
|
-
finally {
|
|
93
|
-
await queryRunner.release();
|
|
94
|
-
}
|
|
95
|
-
return success;
|
|
96
|
-
};
|
|
97
|
-
/**
|
|
98
|
-
* delete boxes in specific block from database. if box spend in this block marked as unspent
|
|
99
|
-
* and if created in this block remove it from database
|
|
100
|
-
* @param block
|
|
101
|
-
* @param extractor
|
|
102
|
-
*/
|
|
103
|
-
deleteBlockBoxes = async (block, extractor) => {
|
|
104
|
-
this.logger.info(`Deleting boxes in block ${block} and extractor ${extractor}`);
|
|
105
|
-
await this.repository.delete({
|
|
106
|
-
extractor: extractor,
|
|
107
|
-
createBlock: block,
|
|
108
|
-
});
|
|
109
|
-
await this.repository.update({ spendBlock: block, extractor: extractor }, { spendBlock: null, spendHeight: 0 });
|
|
110
|
-
};
|
|
111
|
-
/**
|
|
112
|
-
* Returns all stored box ids
|
|
113
|
-
*/
|
|
114
|
-
getAllBoxIds = async (extractor) => {
|
|
115
|
-
const boxIds = await this.repository.find({
|
|
116
|
-
select: {
|
|
117
|
-
boxId: true,
|
|
118
|
-
},
|
|
119
|
-
where: {
|
|
120
|
-
extractor: extractor,
|
|
121
|
-
},
|
|
122
|
-
});
|
|
123
|
-
return boxIds.map((item) => item.boxId);
|
|
124
|
-
};
|
|
125
|
-
/**
|
|
126
|
-
* Removes specified box
|
|
127
|
-
* @param boxId
|
|
128
|
-
* @param extractor
|
|
129
|
-
*/
|
|
130
|
-
removeBox = async (boxId, extractor) => {
|
|
131
|
-
return await this.repository.delete({ boxId: boxId, extractor: extractor });
|
|
132
|
-
};
|
|
133
|
-
/**
|
|
134
|
-
* Update the box spending information
|
|
135
|
-
* @param boxId
|
|
136
|
-
* @param extractor
|
|
137
|
-
* @param blockId
|
|
138
|
-
* @param blockHeight
|
|
139
|
-
*/
|
|
140
|
-
updateSpendBlock = async (boxId, extractor, blockId, blockHeight) => {
|
|
141
|
-
return await this.repository.update({ boxId: boxId, extractor: extractor }, { spendBlock: blockId, spendHeight: blockHeight });
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94QWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2FjdGlvbnMvYm94QWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxFQUFFLEVBQWMsTUFBTSxTQUFTLENBQUM7QUFJckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR2xELE1BQU0sT0FBTyxlQUFlO0lBQ1QsVUFBVSxDQUFhO0lBQy9CLE1BQU0sQ0FBaUI7SUFDZixVQUFVLENBQXdCO0lBRW5ELFlBQVksVUFBc0IsRUFBRSxNQUFzQjtRQUN4RCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxTQUFTLEdBQUcsS0FBSyxFQUFFLEdBQWlCLEVBQUUsU0FBaUIsRUFBRSxFQUFFO1FBQ3pELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDNUIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO1lBQ3BCLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSztZQUNoQixXQUFXLEVBQUUsR0FBRyxDQUFDLE9BQU87WUFDeEIsY0FBYyxFQUFFLEdBQUcsQ0FBQyxNQUFNO1lBQzFCLFVBQVUsRUFBRSxHQUFHLENBQUMsVUFBVTtZQUMxQixTQUFTLEVBQUUsU0FBUztTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7SUFFRjs7OztPQUlHO0lBQ0gsU0FBUyxHQUFHLEtBQUssRUFBRSxHQUFpQixFQUFFLFNBQWlCLEVBQUUsRUFBRTtRQUN6RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUMzQixFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSyxFQUFFLFNB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TSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztZQUN4QyxNQUFNLEVBQUU7Z0JBQ04sS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNELEtBQUssRUFBRTtnQkFDTCxTQUFTLEVBQUUsU0FBUzthQUNyQjtTQUNGLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQXVCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3RCxDQUFDLENBQUM7SUFFRjs7OztPQUlHO0lBQ0gsU0FBUyxHQUFHLEtBQUssRUFBRSxLQUFhLEVBQUUsU0FBaUIsRUFBRSxFQUFFO1FBQ3JELE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDOUUsQ0FBQyxDQUFDO0lBRUY7Ozs7OztPQU1HO0lBQ0gsZ0JBQWdCLEdBQUcsS0FBSyxFQUN0QixLQUFhLEVBQ2IsU0FBaUIsRUFDakIsT0FBZSxFQUNmLFdBQW1CLEVBQ25CLEVBQUU7UUFDRixPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQ2pDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQ3RDLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLENBQ2xELENBQUM7SUFDSixDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTb3VyY2UsIEluLCBSZXBvc2l0b3J5IH0gZnJvbSAndHlwZW9ybSc7XG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvbG9nZ2VyLWludGVyZmFjZSc7XG5pbXBvcnQgeyBCbG9ja0VudGl0eSB9IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lcic7XG5cbmltcG9ydCB7IEJveEVudGl0eSB9IGZyb20gJy4uL2VudGl0aWVzL2JveEVudGl0eSc7XG5pbXBvcnQgeyBFeHRyYWN0ZWRCb3ggfSBmcm9tICcuLi9pbnRlcmZhY2VzL3R5cGVzJztcblxuZXhwb3J0IGNsYXNzIEJveEVudGl0eUFjdGlvbiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0YXNvdXJjZTogRGF0YVNvdXJjZTtcbiAgcmVhZG9ubHkgbG9nZ2VyOiBBYnN0cmFjdExvZ2dlcjtcbiAgcHJpdmF0ZSByZWFkb25seSByZXBvc2l0b3J5OiBSZXBvc2l0b3J5PEJveEVudGl0eT47XG5cbiAgY29uc3RydWN0b3IoZGF0YVNvdXJjZTogRGF0YVNvdXJjZSwgbG9nZ2VyOiBBYnN0cmFjdExvZ2dlcikge1xuICAgIHRoaXMuZGF0YXNvdXJjZSA9IGRhdGFTb3VyY2U7XG4gICAgdGhpcy5sb2dnZXIgPSBsb2dnZXI7XG4gICAgdGhpcy5yZXBvc2l0b3J5ID0gZGF0YVNvdXJjZS5nZXRSZXBvc2l0b3J5KEJveEVudGl0eSk7XG4gIH1cblxuICAvKipcbiAgICogaW5zZXJ0IG5ldyBib3ggaW50byBkYXRhYmFzZVxuICAgKiBAcGFyYW0gYm94XG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICovXG4gIGluc2VydEJveCA9IGFzeW5jIChib3g6IEV4dHJhY3RlZEJveCwgZXh0cmFjdG9yOiBzdHJpbmcpID0+IHtcbiAgICByZXR1cm4gdGhpcy5yZXBvc2l0b3J5Lmluc2VydCh7XG4gICAgICBhZGRyZXNzOiBib3guYWRkcmVzcyxcbiAgICAgIGJveElkOiBib3guYm94SWQsXG4gICAgICBjcmVhdGVCbG9jazogYm94LmJsb2NrSWQsXG4gICAgICBjcmVhdGlvbkhlaWdodDogYm94LmhlaWdodCxcbiAgICAgIHNlcmlhbGl6ZWQ6IGJveC5zZXJpYWxpemVkLFxuICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgfSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBhbiB1bnNwZW50IGJveCBpbmZvcm1hdGlvbiBpbiB0aGUgZGF0YWJhc2VcbiAgICogQHBhcmFtIGJveFxuICAgKiBAcGFyYW0gZXh0cmFjdG9yXG4gICAqL1xuICB1cGRhdGVCb3ggPSBhc3luYyAoYm94OiBFeHRyYWN0ZWRCb3gsIGV4dHJhY3Rvcjogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMucmVwb3NpdG9yeS51cGRhdGUoXG4gICAgICB7IGJveElkOiBib3guYm94SWQsIGV4dHJhY3RvcjogZXh0cmFjdG9yIH0sXG4gICAgICB7XG4gICAgICAgIGFkZHJlc3M6IGJveC5hZGRyZXNzLFxuICAgICAgICBjcmVhdGVCbG9jazogYm94LmJsb2NrSWQsXG4gICAgICAgIGNyZWF0aW9uSGVpZ2h0OiBib3guaGVpZ2h0LFxuICAgICAgICBzZXJpYWxpemVkOiBib3guc2VyaWFsaXplZCxcbiAgICAgICAgc3BlbmRCbG9jazogbnVsbCxcbiAgICAgICAgc3BlbmRIZWlnaHQ6IDAsXG4gICAgICB9XG4gICAgKTtcbiAgfTtcblxuICAvKipcbiAgICogSXQgc3RvcmVzIGxpc3Qgb2YgYmxvY2tzIGluIHRoZSBkYXRhU291cmNlIHdpdGggYmxvY2sgaWRcbiAgICogQHBhcmFtIGJveGVzXG4gICAqIEBwYXJhbSBzcGVuZEJveGVzXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKiBAcGFyYW0gZXh0cmFjdG9yXG4gICAqL1xuICBzdG9yZUJveCA9IGFzeW5jIChcbiAgICBib3hlczogQXJyYXk8RXh0cmFjdGVkQm94PixcbiAgICBzcGVuZEJveGVzOiBBcnJheTxzdHJpbmc+LFxuICAgIGJsb2NrOiBCbG9ja0VudGl0eSxcbiAgICBleHRyYWN0b3I6IHN0cmluZ1xuICApID0+IHtcbiAgICBjb25zdCBib3hJZHMgPSBib3hlcy5tYXAoKGl0ZW0pID0+IGl0ZW0uYm94SWQpO1xuICAgIGNvbnN0IGRiQm94ZXMgPSBhd2FpdCB0aGlzLmRhdGFzb3VyY2UuZ2V0UmVwb3NpdG9yeShCb3hFbnRpdHkpLmZpbmRCeSh7XG4gICAgICBib3hJZDogSW4oYm94SWRzKSxcbiAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgIH0pO1xuICAgIGxldCBzdWNjZXNzID0gdHJ1ZTtcbiAgICBjb25zdCBxdWVyeVJ1bm5lciA9IHRoaXMuZGF0YXNvdXJjZS5jcmVhdGVRdWVyeVJ1bm5lcigpO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLmNvbm5lY3QoKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5zdGFydFRyYW5zYWN0aW9uKCk7XG4gICAgY29uc3QgcmVwb3NpdG9yeSA9IGF3YWl0IHF1ZXJ5UnVubmVyLm1hbmFnZXIuZ2V0UmVwb3NpdG9yeShCb3hFbnRpdHkpO1xuICAgIHRyeSB7XG4gICAgICBmb3IgKGNvbnN0IGJveCBvZiBib3hlcykge1xuICAgICAgICBjb25zdCBlbnRpdHkgPSB7XG4gICAgICAgICAgYWRkcmVzczogYm94LmFkZHJlc3MsXG4gICAgICAgICAgYm94SWQ6IGJveC5ib3hJZCxcbiAgICAgICAgICBjcmVhdGVCbG9jazogYmxvY2suaGFzaCxcbiAgICAgICAgICBjcmVhdGlvbkhlaWdodDogYmxvY2suaGVpZ2h0LFxuICAgICAgICAgIHNwZW5kQmxvY2s6IHVuZGVmaW5lZCxcbiAgICAgICAgICBzZXJpYWxpemVkOiBib3guc2VyaWFsaXplZCxcbiAgICAgICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZGJCb3ggPSBkYkJveGVzLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5ib3hJZCA9PT0gYm94LmJveElkKTtcbiAgICAgICAgaWYgKGRiQm94Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKFxuICAgICAgICAgICAgYFVwZGF0aW5nIGJveCAke2JveC5ib3hJZH0gYW5kIGV4dHJhY3RvciAke2V4dHJhY3Rvcn1gXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgRW50aXR5OiAke0pTT04uc3RyaW5naWZ5KGVudGl0eSl9YCk7XG4gICAgICAgICAgYXdhaXQgcmVwb3NpdG9yeS51cGRhdGUoeyBpZDogZGJCb3hlc1swXS5pZCB9LCBlbnRpdHkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmluZm8oYFN0b3JpbmcgYm94ICR7Ym94LmJveElkfWApO1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKEpTT04uc3RyaW5naWZ5KGVudGl0eSkpO1xuICAgICAgICAgIGF3YWl0IHJlcG9zaXRvcnkuaW5zZXJ0KGVudGl0eSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBVcGRhdGluZyBzcGVuZEJsb2NrIGZvciBib3hlcyAke3NwZW5kQm94ZXN9YCk7XG4gICAgICBhd2FpdCByZXBvc2l0b3J5LnVwZGF0ZShcbiAgICAgICAgeyBib3hJZDogSW4oc3BlbmRCb3hlcyksIGV4dHJhY3RvcjogZXh0cmFjdG9yIH0sXG4gICAgICAgIHsgc3BlbmRCbG9jazogYmxvY2suaGFzaCwgc3BlbmRIZWlnaHQ6IGJsb2NrLmhlaWdodCB9XG4gICAgICApO1xuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIuY29tbWl0VHJhbnNhY3Rpb24oKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcihgQW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHN0b3JlIGJveGVzIGFjdGlvbjogJHtlfWApO1xuICAgICAgYXdhaXQgcXVlcnlSdW5uZXIucm9sbGJhY2tUcmFuc2FjdGlvbigpO1xuICAgICAgc3VjY2VzcyA9IGZhbHNlO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCBxdWVyeVJ1bm5lci5yZWxlYXNlKCk7XG4gICAgfVxuICAgIHJldHVybiBzdWNjZXNzO1xuICB9O1xuXG4gIC8qKlxuICAgKiBkZWxldGUgYm94ZXMgaW4gc3BlY2lmaWMgYmxvY2sgZnJvbSBkYXRhYmFzZS4gaWYgYm94IHNwZW5kIGluIHRoaXMgYmxvY2sgbWFya2VkIGFzIHVuc3BlbnRcbiAgICogYW5kIGlmIGNyZWF0ZWQgaW4gdGhpcyBibG9jayByZW1vdmUgaXQgZnJvbSBkYXRhYmFzZVxuICAgKiBAcGFyYW0gYmxvY2tcbiAgICogQHBhcmFtIGV4dHJhY3RvclxuICAgKi9cbiAgZGVsZXRlQmxvY2tCb3hlcyA9IGFzeW5jIChibG9jazogc3RyaW5nLCBleHRyYWN0b3I6IHN0cmluZykgPT4ge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oXG4gICAgICBgRGVsZXRpbmcgYm94ZXMgaW4gYmxvY2sgJHtibG9ja30gYW5kIGV4dHJhY3RvciAke2V4dHJhY3Rvcn1gXG4gICAgKTtcbiAgICBhd2FpdCB0aGlzLnJlcG9zaXRvcnkuZGVsZXRlKHtcbiAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgICAgY3JlYXRlQmxvY2s6IGJsb2NrLFxuICAgIH0pO1xuICAgIGF3YWl0IHRoaXMucmVwb3NpdG9yeS51cGRhdGUoXG4gICAgICB7IHNwZW5kQmxvY2s6IGJsb2NrLCBleHRyYWN0b3I6IGV4dHJhY3RvciB9LFxuICAgICAgeyBzcGVuZEJsb2NrOiBudWxsLCBzcGVuZEhlaWdodDogMCB9XG4gICAgKTtcbiAgfTtcblxuICAvKipcbiAgICogIFJldHVybnMgYWxsIHN0b3JlZCBib3ggaWRzXG4gICAqL1xuICBnZXRBbGxCb3hJZHMgPSBhc3luYyAoZXh0cmFjdG9yOiBzdHJpbmcpOiBQcm9taXNlPEFycmF5PHN0cmluZz4+ID0+IHtcbiAgICBjb25zdCBib3hJZHMgPSBhd2FpdCB0aGlzLnJlcG9zaXRvcnkuZmluZCh7XG4gICAgICBzZWxlY3Q6IHtcbiAgICAgICAgYm94SWQ6IHRydWUsXG4gICAgICB9LFxuICAgICAgd2hlcmU6IHtcbiAgICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHJldHVybiBib3hJZHMubWFwKChpdGVtOiB7IGJveElkOiBzdHJpbmcgfSkgPT4gaXRlbS5ib3hJZCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgc3BlY2lmaWVkIGJveFxuICAgKiBAcGFyYW0gYm94SWRcbiAgICogQHBhcmFtIGV4dHJhY3RvclxuICAgKi9cbiAgcmVtb3ZlQm94ID0gYXN5bmMgKGJveElkOiBzdHJpbmcsIGV4dHJhY3Rvcjogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucmVwb3NpdG9yeS5kZWxldGUoeyBib3hJZDogYm94SWQsIGV4dHJhY3RvcjogZXh0cmFjdG9yIH0pO1xuICB9O1xuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIGJveCBzcGVuZGluZyBpbmZvcm1hdGlvblxuICAgKiBAcGFyYW0gYm94SWRcbiAgICogQHBhcmFtIGV4dHJhY3RvclxuICAgKiBAcGFyYW0gYmxvY2tJZFxuICAgKiBAcGFyYW0gYmxvY2tIZWlnaHRcbiAgICovXG4gIHVwZGF0ZVNwZW5kQmxvY2sgPSBhc3luYyAoXG4gICAgYm94SWQ6IHN0cmluZyxcbiAgICBleHRyYWN0b3I6IHN0cmluZyxcbiAgICBibG9ja0lkOiBzdHJpbmcsXG4gICAgYmxvY2tIZWlnaHQ6IG51bWJlclxuICApID0+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5yZXBvc2l0b3J5LnVwZGF0ZShcbiAgICAgIHsgYm94SWQ6IGJveElkLCBleHRyYWN0b3I6IGV4dHJhY3RvciB9LFxuICAgICAgeyBzcGVuZEJsb2NrOiBibG9ja0lkLCBzcGVuZEhlaWdodDogYmxvY2tIZWlnaHQgfVxuICAgICk7XG4gIH07XG59XG4iXX0=
|
package/dist/constants.d.ts
DELETED
package/dist/constants.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../lib/constants.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,eAAe,MAAM,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
package/dist/constants.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const DefaultApiLimit = 100;
|
|
2
|
-
export { DefaultApiLimit };
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vbGliL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUM7QUFFNUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgRGVmYXVsdEFwaUxpbWl0ID0gMTAwO1xuXG5leHBvcnQgeyBEZWZhdWx0QXBpTGltaXQgfTtcbiJdfQ==
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export declare class BoxEntity {
|
|
2
|
-
id: number;
|
|
3
|
-
address: string;
|
|
4
|
-
boxId: string;
|
|
5
|
-
createBlock: string;
|
|
6
|
-
creationHeight: number;
|
|
7
|
-
serialized: string;
|
|
8
|
-
spendBlock?: string | null;
|
|
9
|
-
spendHeight?: number;
|
|
10
|
-
extractor: string;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=boxEntity.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"boxEntity.d.ts","sourceRoot":"","sources":["../../lib/entities/boxEntity.ts"],"names":[],"mappings":"AAEA,qBACa,SAAS;IAEpB,EAAE,EAAE,MAAM,CAAC;IAGX,OAAO,EAAE,MAAM,CAAC;IAGhB,KAAK,EAAE,MAAM,CAAC;IAGd,WAAW,EAAE,MAAM,CAAC;IAGpB,cAAc,EAAE,MAAM,CAAC;IAGvB,UAAU,EAAE,MAAM,CAAC;IAGnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAG3B,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -1,62 +0,0 @@
|
|
|
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 } from 'typeorm';
|
|
11
|
-
let BoxEntity = class BoxEntity {
|
|
12
|
-
id;
|
|
13
|
-
address;
|
|
14
|
-
boxId;
|
|
15
|
-
createBlock;
|
|
16
|
-
creationHeight;
|
|
17
|
-
serialized;
|
|
18
|
-
spendBlock;
|
|
19
|
-
spendHeight;
|
|
20
|
-
extractor;
|
|
21
|
-
};
|
|
22
|
-
__decorate([
|
|
23
|
-
PrimaryGeneratedColumn(),
|
|
24
|
-
__metadata("design:type", Number)
|
|
25
|
-
], BoxEntity.prototype, "id", void 0);
|
|
26
|
-
__decorate([
|
|
27
|
-
Column(),
|
|
28
|
-
__metadata("design:type", String)
|
|
29
|
-
], BoxEntity.prototype, "address", void 0);
|
|
30
|
-
__decorate([
|
|
31
|
-
Column(),
|
|
32
|
-
__metadata("design:type", String)
|
|
33
|
-
], BoxEntity.prototype, "boxId", void 0);
|
|
34
|
-
__decorate([
|
|
35
|
-
Column(),
|
|
36
|
-
__metadata("design:type", String)
|
|
37
|
-
], BoxEntity.prototype, "createBlock", void 0);
|
|
38
|
-
__decorate([
|
|
39
|
-
Column(),
|
|
40
|
-
__metadata("design:type", Number)
|
|
41
|
-
], BoxEntity.prototype, "creationHeight", void 0);
|
|
42
|
-
__decorate([
|
|
43
|
-
Column(),
|
|
44
|
-
__metadata("design:type", String)
|
|
45
|
-
], BoxEntity.prototype, "serialized", void 0);
|
|
46
|
-
__decorate([
|
|
47
|
-
Column({ nullable: true, type: 'text' }),
|
|
48
|
-
__metadata("design:type", Object)
|
|
49
|
-
], BoxEntity.prototype, "spendBlock", void 0);
|
|
50
|
-
__decorate([
|
|
51
|
-
Column({ nullable: true }),
|
|
52
|
-
__metadata("design:type", Number)
|
|
53
|
-
], BoxEntity.prototype, "spendHeight", void 0);
|
|
54
|
-
__decorate([
|
|
55
|
-
Column(),
|
|
56
|
-
__metadata("design:type", String)
|
|
57
|
-
], BoxEntity.prototype, "extractor", void 0);
|
|
58
|
-
BoxEntity = __decorate([
|
|
59
|
-
Entity()
|
|
60
|
-
], BoxEntity);
|
|
61
|
-
export { BoxEntity };
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94RW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2VudGl0aWVzL2JveEVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUcxRCxJQUFNLFNBQVMsR0FBZixNQUFNLFNBQVM7SUFFcEIsRUFBRSxDQUFTO0lBR1gsT0FBTyxDQUFTO0lBR2hCLEtBQUssQ0FBUztJQUdkLFdBQVcsQ0FBUztJQUdwQixjQUFjLENBQVM7SUFHdkIsVUFBVSxDQUFTO0lBR25CLFVBQVUsQ0FBaUI7SUFHM0IsV0FBVyxDQUFVO0lBR3JCLFNBQVMsQ0FBUztDQUNuQixDQUFBO0FBMUJDO0lBQUMsc0JBQXNCLEVBQUU7O3FDQUNkO0FBRVg7SUFBQyxNQUFNLEVBQUU7OzBDQUNPO0FBRWhCO0lBQUMsTUFBTSxFQUFFOzt3Q0FDSztBQUVkO0lBQUMsTUFBTSxFQUFFOzs4Q0FDVztBQUVwQjtJQUFDLE1BQU0sRUFBRTs7aURBQ2M7QUFFdkI7SUFBQyxNQUFNLEVBQUU7OzZDQUNVO0FBRW5CO0lBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7OzZDQUNkO0FBRTNCO0lBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDOzs4Q0FDTjtBQUVyQjtJQUFDLE1BQU0sRUFBRTs7NENBQ1M7QUExQlAsU0FBUztJQURyQixNQUFNLEVBQUU7R0FDSSxTQUFTLENBMkJyQjtTQTNCWSxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sdW1uLCBFbnRpdHksIFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4gfSBmcm9tICd0eXBlb3JtJztcblxuQEVudGl0eSgpXG5leHBvcnQgY2xhc3MgQm94RW50aXR5IHtcbiAgQFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4oKVxuICBpZDogbnVtYmVyO1xuXG4gIEBDb2x1bW4oKVxuICBhZGRyZXNzOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIGJveElkOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIGNyZWF0ZUJsb2NrOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIGNyZWF0aW9uSGVpZ2h0OiBudW1iZXI7XG5cbiAgQENvbHVtbigpXG4gIHNlcmlhbGl6ZWQ6IHN0cmluZztcblxuICBAQ29sdW1uKHsgbnVsbGFibGU6IHRydWUsIHR5cGU6ICd0ZXh0JyB9KVxuICBzcGVuZEJsb2NrPzogc3RyaW5nIHwgbnVsbDtcblxuICBAQ29sdW1uKHsgbnVsbGFibGU6IHRydWUgfSlcbiAgc3BlbmRIZWlnaHQ/OiBudW1iZXI7XG5cbiAgQENvbHVtbigpXG4gIGV4dHJhY3Rvcjogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
import { DataSource } from 'typeorm';
|
|
2
|
-
import * as ergoLib from 'ergo-lib-wasm-nodejs';
|
|
3
|
-
import { AbstractExtractor } from '@rosen-bridge/scanner';
|
|
4
|
-
import { AbstractLogger } from '@rosen-bridge/logger-interface';
|
|
5
|
-
import { BlockEntity } from '@rosen-bridge/scanner';
|
|
6
|
-
import { Transaction } from '@rosen-bridge/scanner';
|
|
7
|
-
import { ItemsOutputInfo, OutputInfo } from '@rosen-clients/ergo-explorer/dist/src/v1/types';
|
|
8
|
-
import { BoxEntityAction } from '../actions/boxAction';
|
|
9
|
-
import { ExtractedBox } from '../interfaces/types';
|
|
10
|
-
export declare class ErgoUTXOExtractor implements AbstractExtractor<Transaction> {
|
|
11
|
-
readonly logger: AbstractLogger;
|
|
12
|
-
private readonly dataSource;
|
|
13
|
-
readonly actions: BoxEntityAction;
|
|
14
|
-
private readonly id;
|
|
15
|
-
private readonly networkType;
|
|
16
|
-
private readonly ergoTree?;
|
|
17
|
-
private readonly tokens;
|
|
18
|
-
readonly api: {
|
|
19
|
-
v0: {
|
|
20
|
-
getApiV0AddressesP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v0/types").GetApiV0AddressesP1Params | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").AddressInfo>;
|
|
21
|
-
getApiV0AddressesP1Transactions: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v0/types").GetApiV0AddressesP1TransactionsParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").ItemsTransactionInfo>;
|
|
22
|
-
getApiV0AddressesAssetholdersP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v0/types").GetApiV0AddressesAssetholdersP1Params | undefined) => Promise<string[]>;
|
|
23
|
-
getApiV0AddressesBalances: (params?: import("@rosen-clients/ergo-explorer/dist/src/v0/types").GetApiV0AddressesBalancesParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").ItemsBalanceInfo>;
|
|
24
|
-
getApiV0AssetsIssuingboxes: (params?: import("@rosen-clients/ergo-explorer/dist/src/v0/types").GetApiV0AssetsIssuingboxesParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").ItemsOutputInfo>;
|
|
25
|
-
getApiV0AssetsP1Issuingbox: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").OutputInfo[]>;
|
|
26
|
-
getApiV0Blocks: (params?: import("@rosen-clients/ergo-explorer/dist/src/v0/types").GetApiV0BlocksParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").ItemsBlockInfo>;
|
|
27
|
-
getApiV0BlocksP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").BlockSummary>;
|
|
28
|
-
getApiV0BlocksAtP1: (p1: number) => Promise<string[]>;
|
|
29
|
-
getApiV0DexTokensP1Unspentsellorders: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v0/types").GetApiV0DexTokensP1UnspentsellordersParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").DexSellOrderInfo[]>;
|
|
30
|
-
getApiV0DexTokensP1Unspentbuyorders: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v0/types").GetApiV0DexTokensP1UnspentbuyordersParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").DexBuyOrderInfo[]>;
|
|
31
|
-
getApiV0TransactionsP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").TransactionSummary>;
|
|
32
|
-
getApiV0TransactionsUnconfirmedP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").UTransactionSummary>;
|
|
33
|
-
getApiV0TransactionsUnconfirmedByaddressP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v0/types").GetApiV0TransactionsUnconfirmedByaddressP1Params | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").ItemsUTransactionInfo>;
|
|
34
|
-
getApiV0TransactionsUnconfirmed: (params?: import("@rosen-clients/ergo-explorer/dist/src/v0/types").GetApiV0TransactionsUnconfirmedParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").ItemsUTransactionInfo>;
|
|
35
|
-
getApiV0TransactionsSinceP1: (p1: number, params?: import("@rosen-clients/ergo-explorer/dist/src/v0/types").GetApiV0TransactionsSinceP1Params | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").TransactionInfo[]>;
|
|
36
|
-
postApiV0TransactionsSend: (postApiV0TransactionsSendBody: import("@rosen-clients/ergo-explorer/dist/src/v0/types").PostApiV0TransactionsSendBody) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").TxIdResponse>;
|
|
37
|
-
getApiV0TransactionsBoxesP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").OutputInfo>;
|
|
38
|
-
getApiV0TransactionsBoxesByergotreeP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").OutputInfo[]>;
|
|
39
|
-
getApiV0TransactionsBoxesByergotreeUnspentP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").OutputInfo[]>;
|
|
40
|
-
getApiV0TransactionsBoxesByaddressP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").OutputInfo[]>;
|
|
41
|
-
getApiV0TransactionsBoxesByaddressUnspentP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").OutputInfo[]>;
|
|
42
|
-
getApiV0Info: () => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").BlockChainInfo>;
|
|
43
|
-
getApiV0InfoSupply: () => Promise<string>;
|
|
44
|
-
getApiV0Stats: () => Promise<import("@rosen-clients/ergo-explorer/dist/src/v0/types").StatsSummary>;
|
|
45
|
-
getApiV0DocsOpenapi: () => Promise<string>;
|
|
46
|
-
};
|
|
47
|
-
v1: {
|
|
48
|
-
getApiV1TransactionsP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").TransactionInfo>;
|
|
49
|
-
getApiV1TransactionsByinputsscripttemplatehashP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1TransactionsByinputsscripttemplatehashP1Params | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ItemsTransactionInfo>;
|
|
50
|
-
getApiV1TransactionsByglobalindexStream: (params: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1TransactionsByglobalindexStreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ListTransactionInfo>;
|
|
51
|
-
getApiV1BoxesUnspentBylastepochsStream: (params: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesUnspentBylastepochsStreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ListOutputInfo>;
|
|
52
|
-
getApiV1BoxesUnspentByglobalindexStream: (params: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesUnspentByglobalindexStreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ListOutputInfo>;
|
|
53
|
-
getApiV1BoxesUnspentStream: (params: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesUnspentStreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ListOutputInfo>;
|
|
54
|
-
getApiV1BoxesByergotreetemplatehashP1Stream: (p1: string, params: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesByergotreetemplatehashP1StreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ListOutputInfo>;
|
|
55
|
-
getApiV1BoxesUnspentByergotreetemplatehashP1Stream: (p1: string, params: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesUnspentByergotreetemplatehashP1StreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ListOutputInfo>;
|
|
56
|
-
getApiV1BoxesUnspentBytokenidP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesUnspentBytokenidP1Params | undefined) => Promise<ItemsOutputInfo>;
|
|
57
|
-
getApiV1BoxesBytokenidP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesBytokenidP1Params | undefined) => Promise<ItemsOutputInfo>;
|
|
58
|
-
getApiV1BoxesP1: (p1: string) => Promise<OutputInfo>;
|
|
59
|
-
getApiV1BoxesByergotreeP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesByergotreeP1Params | undefined) => Promise<ItemsOutputInfo>;
|
|
60
|
-
getApiV1BoxesByergotreetemplatehashP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesByergotreetemplatehashP1Params | undefined) => Promise<ItemsOutputInfo>;
|
|
61
|
-
getApiV1BoxesUnspentByergotreeP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesUnspentByergotreeP1Params | undefined) => Promise<ItemsOutputInfo>;
|
|
62
|
-
getApiV1BoxesUnspentByergotreetemplatehashP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesUnspentByergotreetemplatehashP1Params | undefined) => Promise<ItemsOutputInfo>;
|
|
63
|
-
getApiV1BoxesByaddressP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesByaddressP1Params | undefined) => Promise<ItemsOutputInfo>;
|
|
64
|
-
getApiV1BoxesUnspentByaddressP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesUnspentByaddressP1Params | undefined) => Promise<ItemsOutputInfo>;
|
|
65
|
-
getApiV1BoxesByglobalindexStream: (params: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BoxesByglobalindexStreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ListOutputInfo>;
|
|
66
|
-
postApiV1BoxesUnspentSearchUnion: (boxAssetsQuery: import("@rosen-clients/ergo-explorer/dist/src/v1/types").BoxAssetsQuery, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").PostApiV1BoxesUnspentSearchUnionParams | undefined) => Promise<ItemsOutputInfo>;
|
|
67
|
-
postApiV1BoxesUnspentSearch: (boxQuery: import("@rosen-clients/ergo-explorer/dist/src/v1/types").BoxQuery, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").PostApiV1BoxesUnspentSearchParams | undefined) => Promise<ItemsOutputInfo>;
|
|
68
|
-
postApiV1BoxesSearch: (boxQuery: import("@rosen-clients/ergo-explorer/dist/src/v1/types").BoxQuery, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").PostApiV1BoxesSearchParams | undefined) => Promise<ItemsOutputInfo>;
|
|
69
|
-
getApiV1Tokens: (params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1TokensParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ItemsTokenInfo>;
|
|
70
|
-
getApiV1TokensSearch: (params: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1TokensSearchParams) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ItemsTokenInfo>;
|
|
71
|
-
getApiV1TokensBysymbolP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").TokenInfo[]>;
|
|
72
|
-
getApiV1TokensP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").TokenInfo>;
|
|
73
|
-
getApiV1Assets: (params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1AssetsParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ItemsTokenInfo>;
|
|
74
|
-
getApiV1AssetsSearchBytokenid: (params: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1AssetsSearchBytokenidParams) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ItemsAssetInfo>;
|
|
75
|
-
getApiV1EpochsParams: () => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").EpochInfo>;
|
|
76
|
-
getApiV1AddressesP1Transactions: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1AddressesP1TransactionsParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ItemsTransactionInfo>;
|
|
77
|
-
getApiV1AddressesP1BalanceConfirmed: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1AddressesP1BalanceConfirmedParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").Balance>;
|
|
78
|
-
getApiV1AddressesP1BalanceTotal: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").TotalBalance>;
|
|
79
|
-
getApiV1Blocks: (params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BlocksParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ItemsBlockInfo>;
|
|
80
|
-
getApiV1BlocksP1: (p1: string) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").BlockSummary>;
|
|
81
|
-
getApiV1BlocksHeaders: (params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BlocksHeadersParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ItemsBlockHeader>;
|
|
82
|
-
getApiV1BlocksByglobalindexStream: (params: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BlocksByglobalindexStreamParams) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ListBlockInfo>;
|
|
83
|
-
getApiV1BlocksStreamSummary: (params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1BlocksStreamSummaryParams | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ListBlockSummaryV1>;
|
|
84
|
-
postApiV1MempoolTransactionsSubmit: (postApiV1MempoolTransactionsSubmitBody: import("@rosen-clients/ergo-explorer/dist/src/v1/types").PostApiV1MempoolTransactionsSubmitBody) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").TxIdResponse>;
|
|
85
|
-
getApiV1MempoolTransactionsByaddressP1: (p1: string, params?: import("@rosen-clients/ergo-explorer/dist/src/v1/types").GetApiV1MempoolTransactionsByaddressP1Params | undefined) => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ItemsUTransactionInfo>;
|
|
86
|
-
getApiV1MempoolBoxesUnspent: () => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").ListOutputInfo>;
|
|
87
|
-
getApiV1Info: () => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").NetworkState>;
|
|
88
|
-
getApiV1Networkstate: () => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").NetworkState>;
|
|
89
|
-
getApiV1Networkstats: () => Promise<import("@rosen-clients/ergo-explorer/dist/src/v1/types").NetworkStats>;
|
|
90
|
-
};
|
|
91
|
-
};
|
|
92
|
-
constructor(dataSource: DataSource, id: string, networkType: ergoLib.NetworkPrefix, explorerUrl: string, address?: string, tokens?: Array<string>, logger?: AbstractLogger);
|
|
93
|
-
/**
|
|
94
|
-
* get Id for current extractor
|
|
95
|
-
*/
|
|
96
|
-
getId: () => string;
|
|
97
|
-
/**
|
|
98
|
-
* gets block id and transactions corresponding to the block and saves if they are valid rosen
|
|
99
|
-
* transactions and in case of success return true and in case of failure returns false
|
|
100
|
-
* @param txs
|
|
101
|
-
* @param block
|
|
102
|
-
*/
|
|
103
|
-
processTransactions: (txs: Array<Transaction>, block: BlockEntity) => Promise<boolean>;
|
|
104
|
-
/**
|
|
105
|
-
* fork one block and remove all stored information for this block
|
|
106
|
-
* @param hash: block hash
|
|
107
|
-
*/
|
|
108
|
-
forkBlock: (hash: string) => Promise<void>;
|
|
109
|
-
/**
|
|
110
|
-
* Initializes the database with older boxes related to the address
|
|
111
|
-
*/
|
|
112
|
-
initializeBoxes: (initialHeight: number) => Promise<void>;
|
|
113
|
-
/**
|
|
114
|
-
* Validate all remaining boxes in the database
|
|
115
|
-
* update the correct ones and remove the invalid ones
|
|
116
|
-
* @param unchangedStoredBoxIds
|
|
117
|
-
* @param initialHeight
|
|
118
|
-
*/
|
|
119
|
-
validateOldStoredBoxes: (unchangedStoredBoxIds: Array<string>, initialHeight: number) => Promise<void>;
|
|
120
|
-
/**
|
|
121
|
-
* Return extracted information of a box
|
|
122
|
-
* @param boxId
|
|
123
|
-
*/
|
|
124
|
-
getBoxInfoWithBoxId: (boxId: string) => Promise<ExtractedBox | undefined>;
|
|
125
|
-
/**
|
|
126
|
-
* Get unspent boxes created bellow the initial height
|
|
127
|
-
* @param initialHeight
|
|
128
|
-
* @returns
|
|
129
|
-
*/
|
|
130
|
-
getUnspentBoxes: (initialHeight: number) => Promise<Array<ExtractedBox>>;
|
|
131
|
-
/**
|
|
132
|
-
* Returns block information of tx
|
|
133
|
-
* @param txId
|
|
134
|
-
*/
|
|
135
|
-
getTxBlock: (txId: string) => Promise<{
|
|
136
|
-
id: string;
|
|
137
|
-
height: number;
|
|
138
|
-
}>;
|
|
139
|
-
/**
|
|
140
|
-
* Extract needed information for storing in database from api json outputs
|
|
141
|
-
* @param boxes
|
|
142
|
-
*/
|
|
143
|
-
extractBoxData: (boxes: Array<OutputInfo>) => Promise<ExtractedBox[]>;
|
|
144
|
-
/**
|
|
145
|
-
* Returns true if box has the required token and false otherwise
|
|
146
|
-
* @param box
|
|
147
|
-
*/
|
|
148
|
-
boxHasToken: (box: OutputInfo) => boolean;
|
|
149
|
-
}
|
|
150
|
-
//# sourceMappingURL=ergoUtxoExtractor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ergoUtxoExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractor/ergoUtxoExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAe,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EACL,eAAe,EACf,UAAU,EACX,MAAM,gDAAgD,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,qBAAa,iBAAkB,YAAW,iBAAiB,CAAC,WAAW,CAAC;IACtE,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAC;gBAGX,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,OAAO,CAAC,aAAa,EAClC,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EACtB,MAAM,CAAC,EAAE,cAAc;IAczB;;OAEG;IACH,KAAK,eAAsB;IAE3B;;;;;OAKG;IACH,mBAAmB,QACZ,MAAM,WAAW,CAAC,SAChB,WAAW,KACjB,QAAQ,OAAO,CAAC,CAyDjB;IAEF;;;OAGG;IACH,SAAS,SAAgB,MAAM,KAAG,QAAQ,IAAI,CAAC,CAE7C;IAEF;;OAEG;IACH,eAAe,kBAAyB,MAAM,mBA2B5C;IAEF;;;;;OAKG;IACH,sBAAsB,0BACG,MAAM,MAAM,CAAC,iBACrB,MAAM,mBAmBrB;IAEF;;;OAGG;IACH,mBAAmB,UACV,MAAM,KACZ,QAAQ,YAAY,GAAG,SAAS,CAAC,CAQlC;IAEF;;;;OAIG;IACH,eAAe,kBACE,MAAM,KACpB,QAAQ,MAAM,YAAY,CAAC,CAAC,CAmC7B;IAEF;;;OAGG;IACH,UAAU,SAAgB,MAAM;;;OAM9B;IAEF;;;OAGG;IACH,cAAc,UAAiB,MAAM,UAAU,CAAC,6BA2B9C;IAEF;;;OAGG;IACH,WAAW,QAAS,UAAU,aAM5B;CACH"}
|
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
import * as ergoLib from 'ergo-lib-wasm-nodejs';
|
|
2
|
-
import { Buffer } from 'buffer';
|
|
3
|
-
import { intersection, difference } from 'lodash-es';
|
|
4
|
-
import { DummyLogger } from '@rosen-bridge/logger-interface';
|
|
5
|
-
import ergoExplorerClientFactory from '@rosen-clients/ergo-explorer';
|
|
6
|
-
import { BoxEntityAction } from '../actions/boxAction';
|
|
7
|
-
import { JsonBI } from '../utils';
|
|
8
|
-
import { DefaultApiLimit } from '../constants';
|
|
9
|
-
export class ErgoUTXOExtractor {
|
|
10
|
-
logger;
|
|
11
|
-
dataSource;
|
|
12
|
-
actions;
|
|
13
|
-
id;
|
|
14
|
-
networkType;
|
|
15
|
-
ergoTree;
|
|
16
|
-
tokens;
|
|
17
|
-
api;
|
|
18
|
-
constructor(dataSource, id, networkType, explorerUrl, address, tokens, logger) {
|
|
19
|
-
this.dataSource = dataSource;
|
|
20
|
-
this.id = id;
|
|
21
|
-
this.networkType = networkType;
|
|
22
|
-
this.ergoTree = address
|
|
23
|
-
? ergoLib.Address.from_base58(address).to_ergo_tree().to_base16_bytes()
|
|
24
|
-
: undefined;
|
|
25
|
-
this.tokens = tokens ? tokens : [];
|
|
26
|
-
this.logger = logger ? logger : new DummyLogger();
|
|
27
|
-
this.actions = new BoxEntityAction(dataSource, this.logger);
|
|
28
|
-
this.api = ergoExplorerClientFactory(explorerUrl);
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* get Id for current extractor
|
|
32
|
-
*/
|
|
33
|
-
getId = () => `${this.id}`;
|
|
34
|
-
/**
|
|
35
|
-
* gets block id and transactions corresponding to the block and saves if they are valid rosen
|
|
36
|
-
* transactions and in case of success return true and in case of failure returns false
|
|
37
|
-
* @param txs
|
|
38
|
-
* @param block
|
|
39
|
-
*/
|
|
40
|
-
processTransactions = (txs, block) => {
|
|
41
|
-
return new Promise((resolve, reject) => {
|
|
42
|
-
try {
|
|
43
|
-
const boxes = [];
|
|
44
|
-
const spendBoxes = [];
|
|
45
|
-
txs.forEach((transaction) => {
|
|
46
|
-
for (const output of transaction.outputs) {
|
|
47
|
-
if (this.ergoTree && output.ergoTree !== this.ergoTree) {
|
|
48
|
-
continue;
|
|
49
|
-
}
|
|
50
|
-
const filteredTokens = this.tokens.filter((token) => {
|
|
51
|
-
const outputTokens = output.assets ? output.assets : [];
|
|
52
|
-
for (const outputToken of outputTokens) {
|
|
53
|
-
if (outputToken.tokenId === token) {
|
|
54
|
-
return true;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return false;
|
|
58
|
-
});
|
|
59
|
-
if (this.tokens.filter((token) => filteredTokens.indexOf(token) === -1).length > 0) {
|
|
60
|
-
continue;
|
|
61
|
-
}
|
|
62
|
-
boxes.push({
|
|
63
|
-
boxId: output.boxId,
|
|
64
|
-
address: ergoLib.Address.recreate_from_ergo_tree(ergoLib.ErgoTree.from_base16_bytes(output.ergoTree)).to_base58(this.networkType),
|
|
65
|
-
serialized: Buffer.from(ergoLib.ErgoBox.from_json(JsonBI.stringify(output)).sigma_serialize_bytes()).toString('base64'),
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
for (const input of transaction.inputs) {
|
|
69
|
-
spendBoxes.push(input.boxId);
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
this.actions
|
|
73
|
-
.storeBox(boxes, spendBoxes, block, this.getId())
|
|
74
|
-
.then((status) => {
|
|
75
|
-
resolve(status);
|
|
76
|
-
})
|
|
77
|
-
.catch((e) => {
|
|
78
|
-
this.logger.error(`An error uncached exception occurred during store ergo observation: ${e}`);
|
|
79
|
-
reject(e);
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
catch (e) {
|
|
83
|
-
reject(e);
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
};
|
|
87
|
-
/**
|
|
88
|
-
* fork one block and remove all stored information for this block
|
|
89
|
-
* @param hash: block hash
|
|
90
|
-
*/
|
|
91
|
-
forkBlock = async (hash) => {
|
|
92
|
-
await this.actions.deleteBlockBoxes(hash, this.getId());
|
|
93
|
-
};
|
|
94
|
-
/**
|
|
95
|
-
* Initializes the database with older boxes related to the address
|
|
96
|
-
*/
|
|
97
|
-
initializeBoxes = async (initialHeight) => {
|
|
98
|
-
// Getting unspent boxes
|
|
99
|
-
const unspentBoxes = await this.getUnspentBoxes(initialHeight);
|
|
100
|
-
const unspentBoxIds = unspentBoxes.map((box) => box.boxId);
|
|
101
|
-
// Storing extracted boxes
|
|
102
|
-
let allStoredBoxIds = await this.actions.getAllBoxIds(this.getId());
|
|
103
|
-
for (const permit of unspentBoxes) {
|
|
104
|
-
if (allStoredBoxIds.includes(permit.boxId)) {
|
|
105
|
-
await this.actions.updateBox(permit, this.getId());
|
|
106
|
-
this.logger.info(`Updated the existing unspent box with boxId, [${permit.boxId}]`);
|
|
107
|
-
this.logger.debug(`Updated box [${JSON.stringify(permit)}]`);
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
await this.actions.insertBox(permit, this.getId());
|
|
111
|
-
this.logger.info(`Inserted new unspent box with boxId, [${permit.boxId}]`);
|
|
112
|
-
this.logger.debug(`Inserted permit [${JSON.stringify(permit)}]`);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
// Remove updated box ids from existing boxes in database
|
|
116
|
-
allStoredBoxIds = difference(allStoredBoxIds, unspentBoxIds);
|
|
117
|
-
// Validating remained boxes
|
|
118
|
-
await this.validateOldStoredBoxes(allStoredBoxIds, initialHeight);
|
|
119
|
-
};
|
|
120
|
-
/**
|
|
121
|
-
* Validate all remaining boxes in the database
|
|
122
|
-
* update the correct ones and remove the invalid ones
|
|
123
|
-
* @param unchangedStoredBoxIds
|
|
124
|
-
* @param initialHeight
|
|
125
|
-
*/
|
|
126
|
-
validateOldStoredBoxes = async (unchangedStoredBoxIds, initialHeight) => {
|
|
127
|
-
for (const boxId of unchangedStoredBoxIds) {
|
|
128
|
-
const box = await this.getBoxInfoWithBoxId(boxId);
|
|
129
|
-
if (box && box.spendBlock && box.spendHeight) {
|
|
130
|
-
if (box.spendHeight < initialHeight)
|
|
131
|
-
await this.actions.updateSpendBlock(boxId, this.getId(), box.spendBlock, box.spendHeight);
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
await this.actions.removeBox(boxId, this.getId());
|
|
135
|
-
this.logger.info(`Removed invalid box [${boxId}] in initialization validation`);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
};
|
|
139
|
-
/**
|
|
140
|
-
* Return extracted information of a box
|
|
141
|
-
* @param boxId
|
|
142
|
-
*/
|
|
143
|
-
getBoxInfoWithBoxId = async (boxId) => {
|
|
144
|
-
try {
|
|
145
|
-
const box = await this.api.v1.getApiV1BoxesP1(boxId);
|
|
146
|
-
return (await this.extractBoxData([box]))[0];
|
|
147
|
-
}
|
|
148
|
-
catch {
|
|
149
|
-
this.logger.warn(`Box with id [${boxId}] does not exists`);
|
|
150
|
-
return undefined;
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
/**
|
|
154
|
-
* Get unspent boxes created bellow the initial height
|
|
155
|
-
* @param initialHeight
|
|
156
|
-
* @returns
|
|
157
|
-
*/
|
|
158
|
-
getUnspentBoxes = async (initialHeight) => {
|
|
159
|
-
let allBoxes = [];
|
|
160
|
-
let offset = 0, total = DefaultApiLimit, boxes;
|
|
161
|
-
while (offset < total) {
|
|
162
|
-
if (this.ergoTree) {
|
|
163
|
-
boxes = await this.api.v1.getApiV1BoxesUnspentByergotreeP1(this.ergoTree, { offset: offset, limit: DefaultApiLimit });
|
|
164
|
-
}
|
|
165
|
-
else if (!this.ergoTree && this.tokens.length > 0) {
|
|
166
|
-
boxes = await this.api.v1.getApiV1BoxesUnspentBytokenidP1(this.tokens[0], { offset: offset, limit: DefaultApiLimit });
|
|
167
|
-
}
|
|
168
|
-
else
|
|
169
|
-
return [];
|
|
170
|
-
if (!boxes.items) {
|
|
171
|
-
this.logger.warn('Explorer api output items should not be undefined.');
|
|
172
|
-
throw new Error('Incorrect explorer api output');
|
|
173
|
-
}
|
|
174
|
-
allBoxes = [
|
|
175
|
-
...allBoxes,
|
|
176
|
-
...(await this.extractBoxData(boxes.items.filter((box) => box.creationHeight < initialHeight &&
|
|
177
|
-
(this.tokens.length == 0 || this.boxHasToken(box))))),
|
|
178
|
-
];
|
|
179
|
-
total = boxes.total;
|
|
180
|
-
offset += DefaultApiLimit;
|
|
181
|
-
}
|
|
182
|
-
return allBoxes;
|
|
183
|
-
};
|
|
184
|
-
/**
|
|
185
|
-
* Returns block information of tx
|
|
186
|
-
* @param txId
|
|
187
|
-
*/
|
|
188
|
-
getTxBlock = async (txId) => {
|
|
189
|
-
const tx = await this.api.v1.getApiV1TransactionsP1(txId);
|
|
190
|
-
return {
|
|
191
|
-
id: tx.blockId,
|
|
192
|
-
height: tx.inclusionHeight,
|
|
193
|
-
};
|
|
194
|
-
};
|
|
195
|
-
/**
|
|
196
|
-
* Extract needed information for storing in database from api json outputs
|
|
197
|
-
* @param boxes
|
|
198
|
-
*/
|
|
199
|
-
extractBoxData = async (boxes) => {
|
|
200
|
-
const extractedBoxes = [];
|
|
201
|
-
for (const box of boxes) {
|
|
202
|
-
let spendBlock, spendHeight;
|
|
203
|
-
if (box.spentTransactionId) {
|
|
204
|
-
const block = await this.getTxBlock(box.spentTransactionId);
|
|
205
|
-
spendBlock = block.id;
|
|
206
|
-
spendHeight = block.height;
|
|
207
|
-
}
|
|
208
|
-
const ergoBox = ergoLib.ErgoBox.from_json(JsonBI.stringify(box));
|
|
209
|
-
extractedBoxes.push({
|
|
210
|
-
boxId: ergoBox.box_id().to_str(),
|
|
211
|
-
address: ergoLib.Address.recreate_from_ergo_tree(ergoLib.ErgoTree.from_base16_bytes(ergoBox.ergo_tree().to_base16_bytes())).to_base58(this.networkType),
|
|
212
|
-
serialized: Buffer.from(ergoBox.sigma_serialize_bytes()).toString('base64'),
|
|
213
|
-
blockId: box.blockId,
|
|
214
|
-
height: box.settlementHeight,
|
|
215
|
-
spendBlock: spendBlock,
|
|
216
|
-
spendHeight: spendHeight,
|
|
217
|
-
});
|
|
218
|
-
}
|
|
219
|
-
return extractedBoxes;
|
|
220
|
-
};
|
|
221
|
-
/**
|
|
222
|
-
* Returns true if box has the required token and false otherwise
|
|
223
|
-
* @param box
|
|
224
|
-
*/
|
|
225
|
-
boxHasToken = (box) => {
|
|
226
|
-
if (!box.assets)
|
|
227
|
-
return false;
|
|
228
|
-
const boxTokens = box.assets.map((token) => token.tokenId);
|
|
229
|
-
const requiredTokens = intersection(this.tokens, boxTokens);
|
|
230
|
-
if (requiredTokens.length == this.tokens.length)
|
|
231
|
-
return true;
|
|
232
|
-
return false;
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJnb1V0eG9FeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZXh0cmFjdG9yL2VyZ29VdHhvRXh0cmFjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNoQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVyRCxPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzdFLE9BQU8seUJBQXlCLE1BQU0sOEJBQThCLENBQUM7QUFNckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUcvQyxNQUFNLE9BQU8saUJBQWlCO0lBQ25CLE1BQU0sQ0FBaUI7SUFDZixVQUFVLENBQWE7SUFDL0IsT0FBTyxDQUFrQjtJQUNqQixFQUFFLENBQVM7SUFDWCxXQUFXLENBQXdCO0lBQ25DLFFBQVEsQ0FBVTtJQUNsQixNQUFNLENBQWdCO0lBQzlCLEdBQUcsQ0FBQztJQUViLFlBQ0UsVUFBc0IsRUFDdEIsRUFBVSxFQUNWLFdBQWtDLEVBQ2xDLFdBQW1CLEVBQ25CLE9BQWdCLEVBQ2hCLE1BQXNCLEVBQ3RCLE1BQXVCO1FBRXZCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPO1lBQ3JCLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENB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LFFBQVEsQ0FBQyxpQkFBaUIsQ0FDaEMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUN0QyxDQUNGLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQzdCLFVBQVUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUMvRCxRQUFRLENBQ1Q7Z0JBQ0QsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO2dCQUNwQixNQUFNLEVBQUUsR0FBRyxDQUFDLGdCQUFnQjtnQkFDNUIsVUFBVSxFQUFFLFVBQVU7Z0JBQ3RCLFdBQVcsRUFBRSxXQUFXO2FBQ3pCLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQyxDQUFDO0lBRUY7OztPQUdHO0lBQ0gsV0FBVyxHQUFHLENBQUMsR0FBZSxFQUFFLEVBQUU7UUFDaEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDOUIsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM1RCxJQUFJLGNBQWMsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDN0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICd0eXBlb3JtJztcbmltcG9ydCAqIGFzIGVyZ29MaWIgZnJvbSAnZXJnby1saWItd2FzbS1ub2RlanMnO1xuaW1wb3J0IHsgQnVmZmVyIH0gZnJvbSAnYnVmZmVyJztcbmltcG9ydCB7IGludGVyc2VjdGlvbiwgZGlmZmVyZW5jZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEV4dHJhY3RvciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lcic7XG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciwgRHVtbXlMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2xvZ2dlci1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmxvY2tFbnRpdHkgfSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXInO1xuaW1wb3J0IGVyZ29FeHBsb3JlckNsaWVudEZhY3RvcnkgZnJvbSAnQHJvc2VuLWNsaWVudHMvZXJnby1leHBsb3Jlcic7XG5pbXBvcnQge1xuICBJdGVtc091dHB1dEluZm8sXG4gIE91dHB1dEluZm8sXG59IGZyb20gJ0Byb3Nlbi1jbGllbnRzL2VyZ28tZXhwbG9yZXIvZGlzdC9zcmMvdjEvdHlwZXMnO1xuXG5pbXBvcnQgeyBCb3hFbnRpdHlBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zL2JveEFjdGlvbic7XG5pbXBvcnQgeyBKc29uQkkgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBEZWZhdWx0QXBpTGltaXQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRXh0cmFjdGVkQm94IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBFcmdvVVRYT0V4dHJhY3RvciBpbXBsZW1lbnRzIEFic3RyYWN0RXh0cmFjdG9yPFRyYW5zYWN0aW9uPiB7XG4gIHJlYWRvbmx5IGxvZ2dlcjogQWJzdHJhY3RMb2dnZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0YVNvdXJjZTogRGF0YVNvdXJjZTtcbiAgcmVhZG9ubHkgYWN0aW9uczogQm94RW50aXR5QWN0aW9uO1xuICBwcml2YXRlIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgbmV0d29ya1R5cGU6IGVyZ29MaWIuTmV0d29ya1ByZWZpeDtcbiAgcHJpdmF0ZSByZWFkb25seSBlcmdvVHJlZT86IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSB0b2tlbnM6IEFycmF5PHN0cmluZz47XG4gIHJlYWRvbmx5IGFwaTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBkYXRhU291cmNlOiBEYXRhU291cmNlLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgbmV0d29ya1R5cGU6IGVyZ29MaWIuTmV0d29ya1ByZWZpeCxcbiAgICBleHBsb3JlclVybDogc3RyaW5nLFxuICAgIGFkZHJlc3M/OiBzdHJpbmcsXG4gICAgdG9rZW5zPzogQXJyYXk8c3RyaW5nPixcbiAgICBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlclxuICApIHtcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBkYXRhU291cmNlO1xuICAgIHRoaXMuaWQgPSBpZDtcbiAgICB0aGlzLm5ldHdvcmtUeXBlID0gbmV0d29ya1R5cGU7XG4gICAgdGhpcy5lcmdvVHJlZSA9IGFkZHJlc3NcbiAgICAgID8gZXJnb0xpYi5BZGRyZXNzLmZyb21fYmFzZTU4KGFkZHJlc3MpLnRvX2VyZ29fdHJlZSgpLnRvX2Jhc2UxNl9ieXRlcygpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLnRva2VucyA9IHRva2VucyA/IHRva2VucyA6IFtdO1xuICAgIHRoaXMubG9nZ2VyID0gbG9nZ2VyID8gbG9nZ2VyIDogbmV3IER1bW15TG9nZ2VyKCk7XG4gICAgdGhpcy5hY3Rpb25zID0gbmV3IEJveEVudGl0eUFjdGlvbihkYXRhU291cmNlLCB0aGlzLmxvZ2dlcik7XG4gICAgdGhpcy5hcGkgPSBlcmdvRXhwbG9yZXJDbGllbnRGYWN0b3J5KGV4cGxvcmVyVXJsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgSWQgZm9yIGN1cnJlbnQgZXh0cmFjdG9yXG4gICAqL1xuICBnZXRJZCA9ICgpID0+IGAke3RoaXMuaWR9YDtcblxuICAvKipcbiAgICogZ2V0cyBibG9jayBpZCBhbmQgdHJhbnNhY3Rpb25zIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGJsb2NrIGFuZCBzYXZlcyBpZiB0aGV5IGFyZSB2YWxpZCByb3NlblxuICAgKiAgdHJhbnNhY3Rpb25zIGFuZCBpbiBjYXNlIG9mIHN1Y2Nlc3MgcmV0dXJuIHRydWUgYW5kIGluIGNhc2Ugb2YgZmFpbHVyZSByZXR1cm5zIGZhbHNlXG4gICAqIEBwYXJhbSB0eHNcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqL1xuICBwcm9jZXNzVHJhbnNhY3Rpb25zID0gKFxuICAgIHR4czogQXJyYXk8VHJhbnNhY3Rpb24+LFxuICAgIGJsb2NrOiBCbG9ja0VudGl0eVxuICApOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgYm94ZXM6IEFycmF5PEV4dHJhY3RlZEJveD4gPSBbXTtcbiAgICAgICAgY29uc3Qgc3BlbmRCb3hlczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICAgICAgICB0eHMuZm9yRWFjaCgodHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgICBmb3IgKGNvbnN0IG91dHB1dCBvZiB0cmFuc2FjdGlvbi5vdXRwdXRzKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5lcmdvVHJlZSAmJiBvdXRwdXQuZXJnb1RyZWUgIT09IHRoaXMuZXJnb1RyZWUpIHtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJlZFRva2VucyA9IHRoaXMudG9rZW5zLmZpbHRlcigodG9rZW4pID0+IHtcbiAgICAgICAgICAgICAgY29uc3Qgb3V0cHV0VG9rZW5zID0gb3V0cHV0LmFzc2V0cyA/IG91dHB1dC5hc3NldHMgOiBbXTtcbiAgICAgICAgICAgICAgZm9yIChjb25zdCBvdXRwdXRUb2tlbiBvZiBvdXRwdXRUb2tlbnMpIHtcbiAgICAgICAgICAgICAgICBpZiAob3V0cHV0VG9rZW4udG9rZW5JZCA9PT0gdG9rZW4pIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgdGhpcy50b2tlbnMuZmlsdGVyKFxuICAgICAgICAgICAgICAgICh0b2tlbikgPT4gZmlsdGVyZWRUb2tlbnMuaW5kZXhPZih0b2tlbikgPT09IC0xXG4gICAgICAgICAgICAgICkubGVuZ3RoID4gMFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYm94ZXMucHVzaCh7XG4gICAgICAgICAgICAgIGJveElkOiBvdXRwdXQuYm94SWQsXG4gICAgICAgICAgICAgIGFkZHJlc3M6IGVyZ29MaWIuQWRkcmVzcy5yZWNyZWF0ZV9mcm9tX2VyZ29fdHJlZShcbiAgICAgICAgICAgICAgICBlcmdvTGliLkVyZ29UcmVlLmZyb21fYmFzZTE2X2J5dGVzKG91dHB1dC5lcmdvVHJlZSlcbiAgICAgICAgICAgICAgKS50b19iYXNlNTgodGhpcy5uZXR3b3JrVHlwZSksXG4gICAgICAgICAgICAgIHNlcmlhbGl6ZWQ6IEJ1ZmZlci5mcm9tKFxuICAgICAgICAgICAgICAgIGVyZ29MaWIuRXJnb0JveC5mcm9tX2pzb24oXG4gICAgICAgICAgICAgICAgICBKc29uQkkuc3RyaW5naWZ5KG91dHB1dClcbiAgICAgICAgICAgICAgICApLnNpZ21hX3NlcmlhbGl6ZV9ieXRlcygpXG4gICAgICAgICAgICAgICkudG9TdHJpbmcoJ2Jhc2U2NCcpLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGZvciAoY29uc3QgaW5wdXQgb2YgdHJhbnNhY3Rpb24uaW5wdXRzKSB7XG4gICAgICAgICAgICBzcGVuZEJveGVzLnB1c2goaW5wdXQuYm94SWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1xuICAgICAgICAgIC5zdG9yZUJveChib3hlcywgc3BlbmRCb3hlcywgYmxvY2ssIHRoaXMuZ2V0SWQoKSlcbiAgICAgICAgICAudGhlbigoc3RhdHVzKSA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKHN0YXR1cyk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFxuICAgICAgICAgICAgICBgQW4gZXJyb3IgdW5jYWNoZWQgZXhjZXB0aW9uIG9jY3VycmVkIGR1cmluZyBzdG9yZSBlcmdvIG9ic2VydmF0aW9uOiAke2V9YFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIC8qKlxuICAgKiBmb3JrIG9uZSBibG9jayBhbmQgcmVtb3ZlIGFsbCBzdG9yZWQgaW5mb3JtYXRpb24gZm9yIHRoaXMgYmxvY2tcbiAgICogQHBhcmFtIGhhc2g6IGJsb2NrIGhhc2hcbiAgICovXG4gIGZvcmtCbG9jayA9IGFzeW5jIChoYXNoOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBhd2FpdCB0aGlzLmFjdGlvbnMuZGVsZXRlQmxvY2tCb3hlcyhoYXNoLCB0aGlzLmdldElkKCkpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyB0aGUgZGF0YWJhc2Ugd2l0aCBvbGRlciBib3hlcyByZWxhdGVkIHRvIHRoZSBhZGRyZXNzXG4gICAqL1xuICBpbml0aWFsaXplQm94ZXMgPSBhc3luYyAoaW5pdGlhbEhlaWdodDogbnVtYmVyKSA9PiB7XG4gICAgLy8gR2V0dGluZyB1bnNwZW50IGJveGVzXG4gICAgY29uc3QgdW5zcGVudEJveGVzID0gYXdhaXQgdGhpcy5nZXRVbnNwZW50Qm94ZXMoaW5pdGlhbEhlaWdodCk7XG4gICAgY29uc3QgdW5zcGVudEJveElkcyA9IHVuc3BlbnRCb3hlcy5tYXAoKGJveCkgPT4gYm94LmJveElkKTtcblxuICAgIC8vIFN0b3JpbmcgZXh0cmFjdGVkIGJveGVzXG4gICAgbGV0IGFsbFN0b3JlZEJveElkcyA9IGF3YWl0IHRoaXMuYWN0aW9ucy5nZXRBbGxCb3hJZHModGhpcy5nZXRJZCgpKTtcbiAgICBmb3IgKGNvbnN0IHBlcm1pdCBvZiB1bnNwZW50Qm94ZXMpIHtcbiAgICAgIGlmIChhbGxTdG9yZWRCb3hJZHMuaW5jbHVkZXMocGVybWl0LmJveElkKSkge1xuICAgICAgICBhd2FpdCB0aGlzLmFjdGlvbnMudXBkYXRlQm94KHBlcm1pdCwgdGhpcy5nZXRJZCgpKTtcbiAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhcbiAgICAgICAgICBgVXBkYXRlZCB0aGUgZXhpc3RpbmcgdW5zcGVudCBib3ggd2l0aCBib3hJZCwgWyR7cGVybWl0LmJveElkfV1gXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBVcGRhdGVkIGJveCBbJHtKU09OLnN0cmluZ2lmeShwZXJtaXQpfV1gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF3YWl0IHRoaXMuYWN0aW9ucy5pbnNlcnRCb3gocGVybWl0LCB0aGlzLmdldElkKCkpO1xuICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKFxuICAgICAgICAgIGBJbnNlcnRlZCBuZXcgdW5zcGVudCBib3ggd2l0aCBib3hJZCwgWyR7cGVybWl0LmJveElkfV1gXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBJbnNlcnRlZCBwZXJtaXQgWyR7SlNPTi5zdHJpbmdpZnkocGVybWl0KX1dYCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHVwZGF0ZWQgYm94IGlkcyBmcm9tIGV4aXN0aW5nIGJveGVzIGluIGRhdGFiYXNlXG4gICAgYWxsU3RvcmVkQm94SWRzID0gZGlmZmVyZW5jZShhbGxTdG9yZWRCb3hJZHMsIHVuc3BlbnRCb3hJZHMpO1xuICAgIC8vIFZhbGlkYXRpbmcgcmVtYWluZWQgYm94ZXNcbiAgICBhd2FpdCB0aGlzLnZhbGlkYXRlT2xkU3RvcmVkQm94ZXMoYWxsU3RvcmVkQm94SWRzLCBpbml0aWFsSGVpZ2h0KTtcbiAgfTtcblxuICAvKipcbiAgICogVmFsaWRhdGUgYWxsIHJlbWFpbmluZyBib3hlcyBpbiB0aGUgZGF0YWJhc2VcbiAgICogdXBkYXRlIHRoZSBjb3JyZWN0IG9uZXMgYW5kIHJlbW92ZSB0aGUgaW52YWxpZCBvbmVzXG4gICAqIEBwYXJhbSB1bmNoYW5nZWRTdG9yZWRCb3hJZHNcbiAgICogQHBhcmFtIGluaXRpYWxIZWlnaHRcbiAgICovXG4gIHZhbGlkYXRlT2xkU3RvcmVkQm94ZXMgPSBhc3luYyAoXG4gICAgdW5jaGFuZ2VkU3RvcmVkQm94SWRzOiBBcnJheTxzdHJpbmc+LFxuICAgIGluaXRpYWxIZWlnaHQ6IG51bWJlclxuICApID0+IHtcbiAgICBmb3IgKGNvbnN0IGJveElkIG9mIHVuY2hhbmdlZFN0b3JlZEJveElkcykge1xuICAgICAgY29uc3QgYm94ID0gYXdhaXQgdGhpcy5nZXRCb3hJbmZvV2l0aEJveElkKGJveElkKTtcbiAgICAgIGlmIChib3ggJiYgYm94LnNwZW5kQmxvY2sgJiYgYm94LnNwZW5kSGVpZ2h0KSB7XG4gICAgICAgIGlmIChib3guc3BlbmRIZWlnaHQgPCBpbml0aWFsSGVpZ2h0KVxuICAgICAgICAgIGF3YWl0IHRoaXMuYWN0aW9ucy51cGRhdGVTcGVuZEJsb2NrKFxuICAgICAgICAgICAgYm94SWQsXG4gICAgICAgICAgICB0aGlzLmdldElkKCksXG4gICAgICAgICAgICBib3guc3BlbmRCbG9jayxcbiAgICAgICAgICAgIGJveC5zcGVuZEhlaWdodFxuICAgICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhd2FpdCB0aGlzLmFjdGlvbnMucmVtb3ZlQm94KGJveElkLCB0aGlzLmdldElkKCkpO1xuICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKFxuICAgICAgICAgIGBSZW1vdmVkIGludmFsaWQgYm94IFske2JveElkfV0gaW4gaW5pdGlhbGl6YXRpb24gdmFsaWRhdGlvbmBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIFJldHVybiBleHRyYWN0ZWQgaW5mb3JtYXRpb24gb2YgYSBib3hcbiAgICogQHBhcmFtIGJveElkXG4gICAqL1xuICBnZXRCb3hJbmZvV2l0aEJveElkID0gYXN5bmMgKFxuICAgIGJveElkOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxFeHRyYWN0ZWRCb3ggfCB1bmRlZmluZWQ+ID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYm94ID0gYXdhaXQgdGhpcy5hcGkudjEuZ2V0QXBpVjFCb3hlc1AxKGJveElkKTtcbiAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5leHRyYWN0Qm94RGF0YShbYm94XSkpWzBdO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdGhpcy5sb2dnZXIud2FybihgQm94IHdpdGggaWQgWyR7Ym94SWR9XSBkb2VzIG5vdCBleGlzdHNgKTtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBHZXQgdW5zcGVudCBib3hlcyBjcmVhdGVkIGJlbGxvdyB0aGUgaW5pdGlhbCBoZWlnaHRcbiAgICogQHBhcmFtIGluaXRpYWxIZWlnaHRcbiAgICogQHJldHVybnNcbiAgICovXG4gIGdldFVuc3BlbnRCb3hlcyA9IGFzeW5jIChcbiAgICBpbml0aWFsSGVpZ2h0OiBudW1iZXJcbiAgKTogUHJvbWlzZTxBcnJheTxFeHRyYWN0ZWRCb3g+PiA9PiB7XG4gICAgbGV0IGFsbEJveGVzOiBBcnJheTxFeHRyYWN0ZWRCb3g+ID0gW107XG4gICAgbGV0IG9mZnNldCA9IDAsXG4gICAgICB0b3RhbCA9IERlZmF1bHRBcGlMaW1pdCxcbiAgICAgIGJveGVzOiBJdGVtc091dHB1dEluZm87XG4gICAgd2hpbGUgKG9mZnNldCA8IHRvdGFsKSB7XG4gICAgICBpZiAodGhpcy5lcmdvVHJlZSkge1xuICAgICAgICBib3hlcyA9IGF3YWl0IHRoaXMuYXBpLnYxLmdldEFwaVYxQm94ZXNVbnNwZW50QnllcmdvdHJlZVAxKFxuICAgICAgICAgIHRoaXMuZXJnb1RyZWUsXG4gICAgICAgICAgeyBvZmZzZXQ6IG9mZnNldCwgbGltaXQ6IERlZmF1bHRBcGlMaW1pdCB9XG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLmVyZ29UcmVlICYmIHRoaXMudG9rZW5zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgYm94ZXMgPSBhd2FpdCB0aGlzLmFwaS52MS5nZXRBcGlWMUJveGVzVW5zcGVudEJ5dG9rZW5pZFAxKFxuICAgICAgICAgIHRoaXMudG9rZW5zWzBdLFxuICAgICAgICAgIHsgb2Zmc2V0OiBvZmZzZXQsIGxpbWl0OiBEZWZhdWx0QXBpTGltaXQgfVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHJldHVybiBbXTtcbiAgICAgIGlmICghYm94ZXMuaXRlbXMpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIud2FybignRXhwbG9yZXIgYXBpIG91dHB1dCBpdGVtcyBzaG91bGQgbm90IGJlIHVuZGVmaW5lZC4nKTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbmNvcnJlY3QgZXhwbG9yZXIgYXBpIG91dHB1dCcpO1xuICAgICAgfVxuICAgICAgYWxsQm94ZXMgPSBbXG4gICAgICAgIC4uLmFsbEJveGVzLFxuICAgICAgICAuLi4oYXdhaXQgdGhpcy5leHRyYWN0Qm94RGF0YShcbiAgICAgICAgICBib3hlcy5pdGVtcy5maWx0ZXIoXG4gICAgICAgICAgICAoYm94KSA9PlxuICAgICAgICAgICAgICBib3guY3JlYXRpb25IZWlnaHQgPCBpbml0aWFsSGVpZ2h0ICYmXG4gICAgICAgICAgICAgICh0aGlzLnRva2Vucy5sZW5ndGggPT0gMCB8fCB0aGlzLmJveEhhc1Rva2VuKGJveCkpXG4gICAgICAgICAgKVxuICAgICAgICApKSxcbiAgICAgIF07XG4gICAgICB0b3RhbCA9IGJveGVzLnRvdGFsO1xuICAgICAgb2Zmc2V0ICs9IERlZmF1bHRBcGlMaW1pdDtcbiAgICB9XG4gICAgcmV0dXJuIGFsbEJveGVzO1xuICB9O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGJsb2NrIGluZm9ybWF0aW9uIG9mIHR4XG4gICAqIEBwYXJhbSB0eElkXG4gICAqL1xuICBnZXRUeEJsb2NrID0gYXN5bmMgKHR4SWQ6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgdGhpcy5hcGkudjEuZ2V0QXBpVjFUcmFuc2FjdGlvbnNQMSh0eElkKTtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHR4LmJsb2NrSWQsXG4gICAgICBoZWlnaHQ6IHR4LmluY2x1c2lvbkhlaWdodCxcbiAgICB9O1xuICB9O1xuXG4gIC8qKlxuICAgKiBFeHRyYWN0IG5lZWRlZCBpbmZvcm1hdGlvbiBmb3Igc3RvcmluZyBpbiBkYXRhYmFzZSBmcm9tIGFwaSBqc29uIG91dHB1dHNcbiAgICogQHBhcmFtIGJveGVzXG4gICAqL1xuICBleHRyYWN0Qm94RGF0YSA9IGFzeW5jIChib3hlczogQXJyYXk8T3V0cHV0SW5mbz4pID0+IHtcbiAgICBjb25zdCBleHRyYWN0ZWRCb3hlczogQXJyYXk8RXh0cmFjdGVkQm94PiA9IFtdO1xuICAgIGZvciAoY29uc3QgYm94IG9mIGJveGVzKSB7XG4gICAgICBsZXQgc3BlbmRCbG9jaywgc3BlbmRIZWlnaHQ7XG4gICAgICBpZiAoYm94LnNwZW50VHJhbnNhY3Rpb25JZCkge1xuICAgICAgICBjb25zdCBibG9jayA9IGF3YWl0IHRoaXMuZ2V0VHhCbG9jayhib3guc3BlbnRUcmFuc2FjdGlvbklkKTtcbiAgICAgICAgc3BlbmRCbG9jayA9IGJsb2NrLmlkO1xuICAgICAgICBzcGVuZEhlaWdodCA9IGJsb2NrLmhlaWdodDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVyZ29Cb3ggPSBlcmdvTGliLkVyZ29Cb3guZnJvbV9qc29uKEpzb25CSS5zdHJpbmdpZnkoYm94KSk7XG4gICAgICBleHRyYWN0ZWRCb3hlcy5wdXNoKHtcbiAgICAgICAgYm94SWQ6IGVyZ29Cb3guYm94X2lkKCkudG9fc3RyKCksXG4gICAgICAgIGFkZHJlc3M6IGVyZ29MaWIuQWRkcmVzcy5yZWNyZWF0ZV9mcm9tX2VyZ29fdHJlZShcbiAgICAgICAgICBlcmdvTGliLkVyZ29UcmVlLmZyb21fYmFzZTE2X2J5dGVzKFxuICAgICAgICAgICAgZXJnb0JveC5lcmdvX3RyZWUoKS50b19iYXNlMTZfYnl0ZXMoKVxuICAgICAgICAgIClcbiAgICAgICAgKS50b19iYXNlNTgodGhpcy5uZXR3b3JrVHlwZSksXG4gICAgICAgIHNlcmlhbGl6ZWQ6IEJ1ZmZlci5mcm9tKGVyZ29Cb3guc2lnbWFfc2VyaWFsaXplX2J5dGVzKCkpLnRvU3RyaW5nKFxuICAgICAgICAgICdiYXNlNjQnXG4gICAgICAgICksXG4gICAgICAgIGJsb2NrSWQ6IGJveC5ibG9ja0lkLFxuICAgICAgICBoZWlnaHQ6IGJveC5zZXR0bGVtZW50SGVpZ2h0LFxuICAgICAgICBzcGVuZEJsb2NrOiBzcGVuZEJsb2NrLFxuICAgICAgICBzcGVuZEhlaWdodDogc3BlbmRIZWlnaHQsXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGV4dHJhY3RlZEJveGVzO1xuICB9O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgYm94IGhhcyB0aGUgcmVxdWlyZWQgdG9rZW4gYW5kIGZhbHNlIG90aGVyd2lzZVxuICAgKiBAcGFyYW0gYm94XG4gICAqL1xuICBib3hIYXNUb2tlbiA9IChib3g6IE91dHB1dEluZm8pID0+IHtcbiAgICBpZiAoIWJveC5hc3NldHMpIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBib3hUb2tlbnMgPSBib3guYXNzZXRzLm1hcCgodG9rZW4pID0+IHRva2VuLnRva2VuSWQpO1xuICAgIGNvbnN0IHJlcXVpcmVkVG9rZW5zID0gaW50ZXJzZWN0aW9uKHRoaXMudG9rZW5zLCBib3hUb2tlbnMpO1xuICAgIGlmIChyZXF1aXJlZFRva2Vucy5sZW5ndGggPT0gdGhpcy50b2tlbnMubGVuZ3RoKSByZXR1cm4gdHJ1ZTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG59XG4iXX0=
|
package/dist/index.d.ts
DELETED
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { ErgoUTXOExtractor } from './extractor/ergoUtxoExtractor';
|
|
2
|
-
export { BoxEntity } from './entities/boxEntity';
|
|
3
|
-
export { migrations } from './migrations/index';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEVyZ29VVFhPRXh0cmFjdG9yIH0gZnJvbSAnLi9leHRyYWN0b3IvZXJnb1V0eG9FeHRyYWN0b3InO1xuZXhwb3J0IHsgQm94RW50aXR5IH0gZnJvbSAnLi9lbnRpdGllcy9ib3hFbnRpdHknO1xuZXhwb3J0IHsgbWlncmF0aW9ucyB9IGZyb20gJy4vbWlncmF0aW9ucy9pbmRleCc7XG4iXX0=
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
type Asset = {
|
|
2
|
-
tokenId: string;
|
|
3
|
-
index: number;
|
|
4
|
-
amount: bigint;
|
|
5
|
-
};
|
|
6
|
-
interface ErgoBoxJson {
|
|
7
|
-
boxId: string;
|
|
8
|
-
address: string;
|
|
9
|
-
value: bigint;
|
|
10
|
-
blockId: string;
|
|
11
|
-
settlementHeight: number;
|
|
12
|
-
assets: Array<Asset>;
|
|
13
|
-
}
|
|
14
|
-
interface Boxes {
|
|
15
|
-
items: Array<ErgoBoxJson>;
|
|
16
|
-
total: number;
|
|
17
|
-
}
|
|
18
|
-
interface ExtractedBox {
|
|
19
|
-
boxId: string;
|
|
20
|
-
address: string;
|
|
21
|
-
serialized: string;
|
|
22
|
-
blockId?: string;
|
|
23
|
-
height?: number;
|
|
24
|
-
spendBlock?: string;
|
|
25
|
-
spendHeight?: number;
|
|
26
|
-
}
|
|
27
|
-
export { ErgoBoxJson, Boxes, ExtractedBox };
|
|
28
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/interfaces/types.ts"],"names":[],"mappings":"AAAA,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;CACtB;AAED,UAAU,KAAK;IACb,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC"}
|
package/dist/interfaces/types.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvaW50ZXJmYWNlcy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsidHlwZSBBc3NldCA9IHtcbiAgdG9rZW5JZDogc3RyaW5nO1xuICBpbmRleDogbnVtYmVyO1xuICBhbW91bnQ6IGJpZ2ludDtcbn07XG5cbmludGVyZmFjZSBFcmdvQm94SnNvbiB7XG4gIGJveElkOiBzdHJpbmc7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgdmFsdWU6IGJpZ2ludDtcbiAgYmxvY2tJZDogc3RyaW5nO1xuICBzZXR0bGVtZW50SGVpZ2h0OiBudW1iZXI7XG4gIGFzc2V0czogQXJyYXk8QXNzZXQ+O1xufVxuXG5pbnRlcmZhY2UgQm94ZXMge1xuICBpdGVtczogQXJyYXk8RXJnb0JveEpzb24+O1xuICB0b3RhbDogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgRXh0cmFjdGVkQm94IHtcbiAgYm94SWQ6IHN0cmluZztcbiAgYWRkcmVzczogc3RyaW5nO1xuICBzZXJpYWxpemVkOiBzdHJpbmc7XG4gIGJsb2NrSWQ/OiBzdHJpbmc7XG4gIGhlaWdodD86IG51bWJlcjtcbiAgc3BlbmRCbG9jaz86IHN0cmluZztcbiAgc3BlbmRIZWlnaHQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCB7IEVyZ29Cb3hKc29uLCBCb3hlcywgRXh0cmFjdGVkQm94IH07XG4iXX0=
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { migration1688558553044 } from './postgres/1688558553044-migration';
|
|
2
|
-
import { migration1688555566662 } from './sqlite/1688555566662-migration';
|
|
3
|
-
export declare const migrations: {
|
|
4
|
-
sqlite: (typeof migration1688555566662)[];
|
|
5
|
-
postgres: (typeof migration1688558553044)[];
|
|
6
|
-
};
|
|
7
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/migrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAG1E,eAAO,MAAM,UAAU;;;CAGtB,CAAC"}
|
package/dist/migrations/index.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { migration1688558553044 } from './postgres/1688558553044-migration';
|
|
2
|
-
import { migration1689151869889 } from './postgres/1689151869889-migration';
|
|
3
|
-
import { migration1688555566662 } from './sqlite/1688555566662-migration';
|
|
4
|
-
import { migration1689143753142 } from './sqlite/1689143753142-migration';
|
|
5
|
-
export const migrations = {
|
|
6
|
-
sqlite: [migration1688555566662, migration1689143753142],
|
|
7
|
-
postgres: [migration1688558553044, migration1689151869889],
|
|
8
|
-
};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbWlncmF0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUUxRSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDeEIsTUFBTSxFQUFFLENBQUMsc0JBQXNCLEVBQUUsc0JBQXNCLENBQUM7SUFDeEQsUUFBUSxFQUFFLENBQUMsc0JBQXNCLEVBQUUsc0JBQXNCLENBQUM7Q0FDM0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1pZ3JhdGlvbjE2ODg1NTg1NTMwNDQgfSBmcm9tICcuL3Bvc3RncmVzLzE2ODg1NTg1NTMwNDQtbWlncmF0aW9uJztcbmltcG9ydCB7IG1pZ3JhdGlvbjE2ODkxNTE4Njk4ODkgfSBmcm9tICcuL3Bvc3RncmVzLzE2ODkxNTE4Njk4ODktbWlncmF0aW9uJztcbmltcG9ydCB7IG1pZ3JhdGlvbjE2ODg1NTU1NjY2NjIgfSBmcm9tICcuL3NxbGl0ZS8xNjg4NTU1NTY2NjYyLW1pZ3JhdGlvbic7XG5pbXBvcnQgeyBtaWdyYXRpb24xNjg5MTQzNzUzMTQyIH0gZnJvbSAnLi9zcWxpdGUvMTY4OTE0Mzc1MzE0Mi1taWdyYXRpb24nO1xuXG5leHBvcnQgY29uc3QgbWlncmF0aW9ucyA9IHtcbiAgc3FsaXRlOiBbbWlncmF0aW9uMTY4ODU1NTU2NjY2MiwgbWlncmF0aW9uMTY4OTE0Mzc1MzE0Ml0sXG4gIHBvc3RncmVzOiBbbWlncmF0aW9uMTY4ODU1ODU1MzA0NCwgbWlncmF0aW9uMTY4OTE1MTg2OTg4OV0sXG59O1xuIl19
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { MigrationInterface, QueryRunner } from 'typeorm';
|
|
2
|
-
export declare class migration1688558553044 implements MigrationInterface {
|
|
3
|
-
name: string;
|
|
4
|
-
up(queryRunner: QueryRunner): Promise<void>;
|
|
5
|
-
down(queryRunner: QueryRunner): Promise<void>;
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=1688558553044-migration.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"1688558553044-migration.d.ts","sourceRoot":"","sources":["../../../lib/migrations/postgres/1688558553044-migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE1D,qBAAa,sBAAuB,YAAW,kBAAkB;IAC/D,IAAI,SAA4B;IAEnB,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAK3D"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export class migration1688558553044 {
|
|
2
|
-
name = 'migration1688558553044';
|
|
3
|
-
async up(queryRunner) {
|
|
4
|
-
await queryRunner.query(`
|
|
5
|
-
CREATE TABLE "box_entity" (
|
|
6
|
-
"id" SERIAL NOT NULL,
|
|
7
|
-
"address" character varying NOT NULL,
|
|
8
|
-
"boxId" character varying NOT NULL,
|
|
9
|
-
"createBlock" character varying NOT NULL,
|
|
10
|
-
"creationHeight" integer NOT NULL,
|
|
11
|
-
"serialized" character varying NOT NULL,
|
|
12
|
-
"spendBlock" text,
|
|
13
|
-
"extractor" character varying NOT NULL,
|
|
14
|
-
CONSTRAINT "PK_b3b74bea44218399800c0136bb6" PRIMARY KEY ("id")
|
|
15
|
-
)
|
|
16
|
-
`);
|
|
17
|
-
}
|
|
18
|
-
async down(queryRunner) {
|
|
19
|
-
await queryRunner.query(`
|
|
20
|
-
DROP TABLE "box_entity"
|
|
21
|
-
`);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTY4ODU1ODU1MzA0NC1taWdyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvbWlncmF0aW9ucy9wb3N0Z3Jlcy8xNjg4NTU4NTUzMDQ0LW1pZ3JhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLElBQUksR0FBRyx3QkFBd0IsQ0FBQztJQUV6QixLQUFLLENBQUMsRUFBRSxDQUFDLFdBQXdCO1FBQ3RDLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7Ozs7Ozs7Ozs7O1NBWW5CLENBQUMsQ0FBQztJQUNULENBQUM7SUFFTSxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQXdCO1FBQ3hDLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7U0FFbkIsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWlncmF0aW9uSW50ZXJmYWNlLCBRdWVyeVJ1bm5lciB9IGZyb20gJ3R5cGVvcm0nO1xuXG5leHBvcnQgY2xhc3MgbWlncmF0aW9uMTY4ODU1ODU1MzA0NCBpbXBsZW1lbnRzIE1pZ3JhdGlvbkludGVyZmFjZSB7XG4gIG5hbWUgPSAnbWlncmF0aW9uMTY4ODU1ODU1MzA0NCc7XG5cbiAgcHVibGljIGFzeW5jIHVwKHF1ZXJ5UnVubmVyOiBRdWVyeVJ1bm5lcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnF1ZXJ5KGBcbiAgICAgICAgICAgIENSRUFURSBUQUJMRSBcImJveF9lbnRpdHlcIiAoXG4gICAgICAgICAgICAgICAgXCJpZFwiIFNFUklBTCBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImFkZHJlc3NcIiBjaGFyYWN0ZXIgdmFyeWluZyBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImJveElkXCIgY2hhcmFjdGVyIHZhcnlpbmcgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJjcmVhdGVCbG9ja1wiIGNoYXJhY3RlciB2YXJ5aW5nIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiY3JlYXRpb25IZWlnaHRcIiBpbnRlZ2VyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwic2VyaWFsaXplZFwiIGNoYXJhY3RlciB2YXJ5aW5nIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwic3BlbmRCbG9ja1wiIHRleHQsXG4gICAgICAgICAgICAgICAgXCJleHRyYWN0b3JcIiBjaGFyYWN0ZXIgdmFyeWluZyBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBDT05TVFJBSU5UIFwiUEtfYjNiNzRiZWE0NDIxODM5OTgwMGMwMTM2YmI2XCIgUFJJTUFSWSBLRVkgKFwiaWRcIilcbiAgICAgICAgICAgIClcbiAgICAgICAgYCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZG93bihxdWVyeVJ1bm5lcjogUXVlcnlSdW5uZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5xdWVyeShgXG4gICAgICAgICAgICBEUk9QIFRBQkxFIFwiYm94X2VudGl0eVwiXG4gICAgICAgIGApO1xuICB9XG59XG4iXX0=
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { MigrationInterface, QueryRunner } from 'typeorm';
|
|
2
|
-
export declare class migration1689151869889 implements MigrationInterface {
|
|
3
|
-
name: string;
|
|
4
|
-
up(queryRunner: QueryRunner): Promise<void>;
|
|
5
|
-
down(queryRunner: QueryRunner): Promise<void>;
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=1689151869889-migration.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"1689151869889-migration.d.ts","sourceRoot":"","sources":["../../../lib/migrations/postgres/1689151869889-migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE1D,qBAAa,sBAAuB,YAAW,kBAAkB;IAC/D,IAAI,SAA4B;IAEnB,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAK3D"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export class migration1689151869889 {
|
|
2
|
-
name = 'migration1689151869889';
|
|
3
|
-
async up(queryRunner) {
|
|
4
|
-
await queryRunner.query(`
|
|
5
|
-
ALTER TABLE "box_entity"
|
|
6
|
-
ADD "spendHeight" integer
|
|
7
|
-
`);
|
|
8
|
-
}
|
|
9
|
-
async down(queryRunner) {
|
|
10
|
-
await queryRunner.query(`
|
|
11
|
-
ALTER TABLE "box_entity" DROP COLUMN "spendHeight"
|
|
12
|
-
`);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTY4OTE1MTg2OTg4OS1taWdyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvbWlncmF0aW9ucy9wb3N0Z3Jlcy8xNjg5MTUxODY5ODg5LW1pZ3JhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLElBQUksR0FBRyx3QkFBd0IsQ0FBQztJQUV6QixLQUFLLENBQUMsRUFBRSxDQUFDLFdBQXdCO1FBQ3RDLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7O1NBR25CLENBQUMsQ0FBQztJQUNULENBQUM7SUFFTSxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQXdCO1FBQ3hDLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7U0FFbkIsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWlncmF0aW9uSW50ZXJmYWNlLCBRdWVyeVJ1bm5lciB9IGZyb20gJ3R5cGVvcm0nO1xuXG5leHBvcnQgY2xhc3MgbWlncmF0aW9uMTY4OTE1MTg2OTg4OSBpbXBsZW1lbnRzIE1pZ3JhdGlvbkludGVyZmFjZSB7XG4gIG5hbWUgPSAnbWlncmF0aW9uMTY4OTE1MTg2OTg4OSc7XG5cbiAgcHVibGljIGFzeW5jIHVwKHF1ZXJ5UnVubmVyOiBRdWVyeVJ1bm5lcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnF1ZXJ5KGBcbiAgICAgICAgICAgIEFMVEVSIFRBQkxFIFwiYm94X2VudGl0eVwiXG4gICAgICAgICAgICBBREQgXCJzcGVuZEhlaWdodFwiIGludGVnZXJcbiAgICAgICAgYCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZG93bihxdWVyeVJ1bm5lcjogUXVlcnlSdW5uZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5xdWVyeShgXG4gICAgICAgICAgICBBTFRFUiBUQUJMRSBcImJveF9lbnRpdHlcIiBEUk9QIENPTFVNTiBcInNwZW5kSGVpZ2h0XCJcbiAgICAgICAgYCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { MigrationInterface, QueryRunner } from 'typeorm';
|
|
2
|
-
export declare class migration1688555566662 implements MigrationInterface {
|
|
3
|
-
name: string;
|
|
4
|
-
up(queryRunner: QueryRunner): Promise<void>;
|
|
5
|
-
down(queryRunner: QueryRunner): Promise<void>;
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=1688555566662-migration.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"1688555566662-migration.d.ts","sourceRoot":"","sources":["../../../lib/migrations/sqlite/1688555566662-migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE1D,qBAAa,sBAAuB,YAAW,kBAAkB;IAC/D,IAAI,SAA4B;IAEnB,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAK3D"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export class migration1688555566662 {
|
|
2
|
-
name = 'migration1688555566662';
|
|
3
|
-
async up(queryRunner) {
|
|
4
|
-
await queryRunner.query(`
|
|
5
|
-
CREATE TABLE "box_entity" (
|
|
6
|
-
"id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
7
|
-
"address" varchar NOT NULL,
|
|
8
|
-
"boxId" varchar NOT NULL,
|
|
9
|
-
"createBlock" varchar NOT NULL,
|
|
10
|
-
"creationHeight" integer NOT NULL,
|
|
11
|
-
"serialized" varchar NOT NULL,
|
|
12
|
-
"spendBlock" text,
|
|
13
|
-
"extractor" varchar NOT NULL
|
|
14
|
-
)
|
|
15
|
-
`);
|
|
16
|
-
}
|
|
17
|
-
async down(queryRunner) {
|
|
18
|
-
await queryRunner.query(`
|
|
19
|
-
DROP TABLE "box_entity"
|
|
20
|
-
`);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTY4ODU1NTU2NjY2Mi1taWdyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvbWlncmF0aW9ucy9zcWxpdGUvMTY4ODU1NTU2NjY2Mi1taWdyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxJQUFJLEdBQUcsd0JBQXdCLENBQUM7SUFFekIsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUF3QjtRQUN0QyxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUM7Ozs7Ozs7Ozs7O1NBV25CLENBQUMsQ0FBQztJQUNULENBQUM7SUFFTSxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQXdCO1FBQ3hDLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7U0FFbkIsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWlncmF0aW9uSW50ZXJmYWNlLCBRdWVyeVJ1bm5lciB9IGZyb20gJ3R5cGVvcm0nO1xuXG5leHBvcnQgY2xhc3MgbWlncmF0aW9uMTY4ODU1NTU2NjY2MiBpbXBsZW1lbnRzIE1pZ3JhdGlvbkludGVyZmFjZSB7XG4gIG5hbWUgPSAnbWlncmF0aW9uMTY4ODU1NTU2NjY2Mic7XG5cbiAgcHVibGljIGFzeW5jIHVwKHF1ZXJ5UnVubmVyOiBRdWVyeVJ1bm5lcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnF1ZXJ5KGBcbiAgICAgICAgICAgIENSRUFURSBUQUJMRSBcImJveF9lbnRpdHlcIiAoXG4gICAgICAgICAgICAgICAgXCJpZFwiIGludGVnZXIgUFJJTUFSWSBLRVkgQVVUT0lOQ1JFTUVOVCBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImFkZHJlc3NcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiYm94SWRcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiY3JlYXRlQmxvY2tcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiY3JlYXRpb25IZWlnaHRcIiBpbnRlZ2VyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwic2VyaWFsaXplZFwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJzcGVuZEJsb2NrXCIgdGV4dCxcbiAgICAgICAgICAgICAgICBcImV4dHJhY3RvclwiIHZhcmNoYXIgTk9UIE5VTExcbiAgICAgICAgICAgIClcbiAgICAgICAgYCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZG93bihxdWVyeVJ1bm5lcjogUXVlcnlSdW5uZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5xdWVyeShgXG4gICAgICAgICAgICBEUk9QIFRBQkxFIFwiYm94X2VudGl0eVwiXG4gICAgICAgIGApO1xuICB9XG59XG4iXX0=
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { MigrationInterface, QueryRunner } from 'typeorm';
|
|
2
|
-
export declare class migration1689143753142 implements MigrationInterface {
|
|
3
|
-
name: string;
|
|
4
|
-
up(queryRunner: QueryRunner): Promise<void>;
|
|
5
|
-
down(queryRunner: QueryRunner): Promise<void>;
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=1689143753142-migration.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"1689143753142-migration.d.ts","sourceRoot":"","sources":["../../../lib/migrations/sqlite/1689143753142-migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE1D,qBAAa,sBAAuB,YAAW,kBAAkB;IAC/D,IAAI,SAA4B;IAEnB,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA4C3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAsC3D"}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
export class migration1689143753142 {
|
|
2
|
-
name = 'migration1689143753142';
|
|
3
|
-
async up(queryRunner) {
|
|
4
|
-
await queryRunner.query(`
|
|
5
|
-
CREATE TABLE "temporary_box_entity" (
|
|
6
|
-
"id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
7
|
-
"address" varchar NOT NULL,
|
|
8
|
-
"boxId" varchar NOT NULL,
|
|
9
|
-
"createBlock" varchar NOT NULL,
|
|
10
|
-
"creationHeight" integer NOT NULL,
|
|
11
|
-
"serialized" varchar NOT NULL,
|
|
12
|
-
"spendBlock" text,
|
|
13
|
-
"extractor" varchar NOT NULL,
|
|
14
|
-
"spendHeight" integer
|
|
15
|
-
)
|
|
16
|
-
`);
|
|
17
|
-
await queryRunner.query(`
|
|
18
|
-
INSERT INTO "temporary_box_entity"(
|
|
19
|
-
"id",
|
|
20
|
-
"address",
|
|
21
|
-
"boxId",
|
|
22
|
-
"createBlock",
|
|
23
|
-
"creationHeight",
|
|
24
|
-
"serialized",
|
|
25
|
-
"spendBlock",
|
|
26
|
-
"extractor"
|
|
27
|
-
)
|
|
28
|
-
SELECT "id",
|
|
29
|
-
"address",
|
|
30
|
-
"boxId",
|
|
31
|
-
"createBlock",
|
|
32
|
-
"creationHeight",
|
|
33
|
-
"serialized",
|
|
34
|
-
"spendBlock",
|
|
35
|
-
"extractor"
|
|
36
|
-
FROM "box_entity"
|
|
37
|
-
`);
|
|
38
|
-
await queryRunner.query(`
|
|
39
|
-
DROP TABLE "box_entity"
|
|
40
|
-
`);
|
|
41
|
-
await queryRunner.query(`
|
|
42
|
-
ALTER TABLE "temporary_box_entity"
|
|
43
|
-
RENAME TO "box_entity"
|
|
44
|
-
`);
|
|
45
|
-
}
|
|
46
|
-
async down(queryRunner) {
|
|
47
|
-
await queryRunner.query(`
|
|
48
|
-
CREATE TABLE "box_entity" (
|
|
49
|
-
"id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
50
|
-
"address" varchar NOT NULL,
|
|
51
|
-
"boxId" varchar NOT NULL,
|
|
52
|
-
"createBlock" varchar NOT NULL,
|
|
53
|
-
"creationHeight" integer NOT NULL,
|
|
54
|
-
"serialized" varchar NOT NULL,
|
|
55
|
-
"spendBlock" text,
|
|
56
|
-
"extractor" varchar NOT NULL
|
|
57
|
-
)
|
|
58
|
-
`);
|
|
59
|
-
await queryRunner.query(`
|
|
60
|
-
INSERT INTO "box_entity"(
|
|
61
|
-
"id",
|
|
62
|
-
"address",
|
|
63
|
-
"boxId",
|
|
64
|
-
"createBlock",
|
|
65
|
-
"creationHeight",
|
|
66
|
-
"serialized",
|
|
67
|
-
"spendBlock",
|
|
68
|
-
"extractor"
|
|
69
|
-
)
|
|
70
|
-
SELECT "id",
|
|
71
|
-
"address",
|
|
72
|
-
"boxId",
|
|
73
|
-
"createBlock",
|
|
74
|
-
"creationHeight",
|
|
75
|
-
"serialized",
|
|
76
|
-
"spendBlock",
|
|
77
|
-
"extractor"
|
|
78
|
-
FROM "temporary_box_entity"
|
|
79
|
-
`);
|
|
80
|
-
await queryRunner.query(`
|
|
81
|
-
DROP TABLE "temporary_box_entity"
|
|
82
|
-
`);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTY4OTE0Mzc1MzE0Mi1taWdyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvbWlncmF0aW9ucy9zcWxpdGUvMTY4OTE0Mzc1MzE0Mi1taWdyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxJQUFJLEdBQUcsd0JBQXdCLENBQUM7SUFFekIsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUF3QjtRQUN0QyxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUM7Ozs7Ozs7Ozs7OztTQVluQixDQUFDLENBQUM7UUFDUCxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1NBb0JuQixDQUFDLENBQUM7UUFDUCxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUM7O1NBRW5CLENBQUMsQ0FBQztRQUNQLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7O1NBR25CLENBQUMsQ0FBQztJQUNULENBQUM7SUFFTSxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQXdCO1FBQ3hDLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQzs7Ozs7Ozs7Ozs7U0FXbkIsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxXQUFXLENBQUMsS0FBSyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztTQW9CbkIsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxXQUFXLENBQUMsS0FBSyxDQUFDOztTQUVuQixDQUFDLENBQUM7SUFDVCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNaWdyYXRpb25JbnRlcmZhY2UsIFF1ZXJ5UnVubmVyIH0gZnJvbSAndHlwZW9ybSc7XG5cbmV4cG9ydCBjbGFzcyBtaWdyYXRpb24xNjg5MTQzNzUzMTQyIGltcGxlbWVudHMgTWlncmF0aW9uSW50ZXJmYWNlIHtcbiAgbmFtZSA9ICdtaWdyYXRpb24xNjg5MTQzNzUzMTQyJztcblxuICBwdWJsaWMgYXN5bmMgdXAocXVlcnlSdW5uZXI6IFF1ZXJ5UnVubmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIucXVlcnkoYFxuICAgICAgICAgICAgQ1JFQVRFIFRBQkxFIFwidGVtcG9yYXJ5X2JveF9lbnRpdHlcIiAoXG4gICAgICAgICAgICAgICAgXCJpZFwiIGludGVnZXIgUFJJTUFSWSBLRVkgQVVUT0lOQ1JFTUVOVCBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImFkZHJlc3NcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiYm94SWRcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiY3JlYXRlQmxvY2tcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwiY3JlYXRpb25IZWlnaHRcIiBpbnRlZ2VyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwic2VyaWFsaXplZFwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJzcGVuZEJsb2NrXCIgdGV4dCxcbiAgICAgICAgICAgICAgICBcImV4dHJhY3RvclwiIHZhcmNoYXIgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJzcGVuZEhlaWdodFwiIGludGVnZXJcbiAgICAgICAgICAgIClcbiAgICAgICAgYCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIucXVlcnkoYFxuICAgICAgICAgICAgSU5TRVJUIElOVE8gXCJ0ZW1wb3JhcnlfYm94X2VudGl0eVwiKFxuICAgICAgICAgICAgICAgICAgICBcImlkXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiYWRkcmVzc1wiLFxuICAgICAgICAgICAgICAgICAgICBcImJveElkXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiY3JlYXRlQmxvY2tcIixcbiAgICAgICAgICAgICAgICAgICAgXCJjcmVhdGlvbkhlaWdodFwiLFxuICAgICAgICAgICAgICAgICAgICBcInNlcmlhbGl6ZWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzcGVuZEJsb2NrXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiZXh0cmFjdG9yXCJcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICBTRUxFQ1QgXCJpZFwiLFxuICAgICAgICAgICAgICAgIFwiYWRkcmVzc1wiLFxuICAgICAgICAgICAgICAgIFwiYm94SWRcIixcbiAgICAgICAgICAgICAgICBcImNyZWF0ZUJsb2NrXCIsXG4gICAgICAgICAgICAgICAgXCJjcmVhdGlvbkhlaWdodFwiLFxuICAgICAgICAgICAgICAgIFwic2VyaWFsaXplZFwiLFxuICAgICAgICAgICAgICAgIFwic3BlbmRCbG9ja1wiLFxuICAgICAgICAgICAgICAgIFwiZXh0cmFjdG9yXCJcbiAgICAgICAgICAgIEZST00gXCJib3hfZW50aXR5XCJcbiAgICAgICAgYCk7XG4gICAgYXdhaXQgcXVlcnlSdW5uZXIucXVlcnkoYFxuICAgICAgICAgICAgRFJPUCBUQUJMRSBcImJveF9lbnRpdHlcIlxuICAgICAgICBgKTtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5xdWVyeShgXG4gICAgICAgICAgICBBTFRFUiBUQUJMRSBcInRlbXBvcmFyeV9ib3hfZW50aXR5XCJcbiAgICAgICAgICAgICAgICBSRU5BTUUgVE8gXCJib3hfZW50aXR5XCJcbiAgICAgICAgYCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZG93bihxdWVyeVJ1bm5lcjogUXVlcnlSdW5uZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBxdWVyeVJ1bm5lci5xdWVyeShgXG4gICAgICAgICAgICBDUkVBVEUgVEFCTEUgXCJib3hfZW50aXR5XCIgKFxuICAgICAgICAgICAgICAgIFwiaWRcIiBpbnRlZ2VyIFBSSU1BUlkgS0VZIEFVVE9JTkNSRU1FTlQgTk9UIE5VTEwsXG4gICAgICAgICAgICAgICAgXCJhZGRyZXNzXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImJveElkXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImNyZWF0ZUJsb2NrXCIgdmFyY2hhciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcImNyZWF0aW9uSGVpZ2h0XCIgaW50ZWdlciBOT1QgTlVMTCxcbiAgICAgICAgICAgICAgICBcInNlcmlhbGl6ZWRcIiB2YXJjaGFyIE5PVCBOVUxMLFxuICAgICAgICAgICAgICAgIFwic3BlbmRCbG9ja1wiIHRleHQsXG4gICAgICAgICAgICAgICAgXCJleHRyYWN0b3JcIiB2YXJjaGFyIE5PVCBOVUxMXG4gICAgICAgICAgICApXG4gICAgICAgIGApO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnF1ZXJ5KGBcbiAgICAgICAgICAgIElOU0VSVCBJTlRPIFwiYm94X2VudGl0eVwiKFxuICAgICAgICAgICAgICAgICAgICBcImlkXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiYWRkcmVzc1wiLFxuICAgICAgICAgICAgICAgICAgICBcImJveElkXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiY3JlYXRlQmxvY2tcIixcbiAgICAgICAgICAgICAgICAgICAgXCJjcmVhdGlvbkhlaWdodFwiLFxuICAgICAgICAgICAgICAgICAgICBcInNlcmlhbGl6ZWRcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzcGVuZEJsb2NrXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiZXh0cmFjdG9yXCJcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICBTRUxFQ1QgXCJpZFwiLFxuICAgICAgICAgICAgICAgIFwiYWRkcmVzc1wiLFxuICAgICAgICAgICAgICAgIFwiYm94SWRcIixcbiAgICAgICAgICAgICAgICBcImNyZWF0ZUJsb2NrXCIsXG4gICAgICAgICAgICAgICAgXCJjcmVhdGlvbkhlaWdodFwiLFxuICAgICAgICAgICAgICAgIFwic2VyaWFsaXplZFwiLFxuICAgICAgICAgICAgICAgIFwic3BlbmRCbG9ja1wiLFxuICAgICAgICAgICAgICAgIFwiZXh0cmFjdG9yXCJcbiAgICAgICAgICAgIEZST00gXCJ0ZW1wb3JhcnlfYm94X2VudGl0eVwiXG4gICAgICAgIGApO1xuICAgIGF3YWl0IHF1ZXJ5UnVubmVyLnF1ZXJ5KGBcbiAgICAgICAgICAgIERST1AgVEFCTEUgXCJ0ZW1wb3JhcnlfYm94X2VudGl0eVwiXG4gICAgICAgIGApO1xuICB9XG59XG4iXX0=
|
package/dist/utils.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
declare const JsonBI: {
|
|
2
|
-
parse: (text: string, reviver?: ((this: any, key: string, value: any) => any) | undefined) => any;
|
|
3
|
-
stringify: {
|
|
4
|
-
(value: any, replacer?: ((this: any, key: string, value: any) => any) | undefined, space?: string | number | undefined): string;
|
|
5
|
-
(value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string;
|
|
6
|
-
};
|
|
7
|
-
};
|
|
8
|
-
export { JsonBI };
|
|
9
|
-
//# sourceMappingURL=utils.d.ts.map
|
package/dist/utils.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,MAAM;;;;;;CAEV,CAAC;AAEH,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
package/dist/utils.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import JSONBigInt from 'json-bigint';
|
|
2
|
-
const JsonBI = JSONBigInt({
|
|
3
|
-
useNativeBigInt: true,
|
|
4
|
-
});
|
|
5
|
-
export { JsonBI };
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxVQUFVLE1BQU0sYUFBYSxDQUFDO0FBRXJDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQztJQUN4QixlQUFlLEVBQUUsSUFBSTtDQUN0QixDQUFDLENBQUM7QUFFSCxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgSlNPTkJpZ0ludCBmcm9tICdqc29uLWJpZ2ludCc7XG5cbmNvbnN0IEpzb25CSSA9IEpTT05CaWdJbnQoe1xuICB1c2VOYXRpdmVCaWdJbnQ6IHRydWUsXG59KTtcblxuZXhwb3J0IHsgSnNvbkJJIH07XG4iXX0=
|