@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.
Files changed (37) hide show
  1. package/package.json +3 -3
  2. package/dist/actions/boxAction.d.ts +0 -56
  3. package/dist/actions/boxAction.d.ts.map +0 -1
  4. package/dist/actions/boxAction.js +0 -144
  5. package/dist/constants.d.ts +0 -3
  6. package/dist/constants.d.ts.map +0 -1
  7. package/dist/constants.js +0 -3
  8. package/dist/entities/boxEntity.d.ts +0 -12
  9. package/dist/entities/boxEntity.d.ts.map +0 -1
  10. package/dist/entities/boxEntity.js +0 -62
  11. package/dist/extractor/ergoUtxoExtractor.d.ts +0 -150
  12. package/dist/extractor/ergoUtxoExtractor.d.ts.map +0 -1
  13. package/dist/extractor/ergoUtxoExtractor.js +0 -235
  14. package/dist/index.d.ts +0 -4
  15. package/dist/index.d.ts.map +0 -1
  16. package/dist/index.js +0 -4
  17. package/dist/interfaces/types.d.ts +0 -28
  18. package/dist/interfaces/types.d.ts.map +0 -1
  19. package/dist/interfaces/types.js +0 -2
  20. package/dist/migrations/index.d.ts +0 -7
  21. package/dist/migrations/index.d.ts.map +0 -1
  22. package/dist/migrations/index.js +0 -9
  23. package/dist/migrations/postgres/1688558553044-migration.d.ts +0 -7
  24. package/dist/migrations/postgres/1688558553044-migration.d.ts.map +0 -1
  25. package/dist/migrations/postgres/1688558553044-migration.js +0 -24
  26. package/dist/migrations/postgres/1689151869889-migration.d.ts +0 -7
  27. package/dist/migrations/postgres/1689151869889-migration.d.ts.map +0 -1
  28. package/dist/migrations/postgres/1689151869889-migration.js +0 -15
  29. package/dist/migrations/sqlite/1688555566662-migration.d.ts +0 -7
  30. package/dist/migrations/sqlite/1688555566662-migration.d.ts.map +0 -1
  31. package/dist/migrations/sqlite/1688555566662-migration.js +0 -23
  32. package/dist/migrations/sqlite/1689143753142-migration.d.ts +0 -7
  33. package/dist/migrations/sqlite/1689143753142-migration.d.ts.map +0 -1
  34. package/dist/migrations/sqlite/1689143753142-migration.js +0 -85
  35. package/dist/utils.d.ts +0 -9
  36. package/dist/utils.d.ts.map +0 -1
  37. 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.4",
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.4",
24
- "@rosen-clients/ergo-explorer": "^1.0.1",
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=
@@ -1,3 +0,0 @@
1
- declare const DefaultApiLimit = 100;
2
- export { DefaultApiLimit };
3
- //# sourceMappingURL=constants.d.ts.map
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJnb1V0eG9FeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZXh0cmFjdG9yL2VyZ29VdHhvRXh0cmFjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNoQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVyRCxPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzdFLE9BQU8seUJBQXlCLE1BQU0sOEJBQThCLENBQUM7QUFNckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUcvQyxNQUFNLE9BQU8saUJBQWlCO0lBQ25CLE1BQU0sQ0FBaUI7SUFDZixVQUFVLENBQWE7SUFDL0IsT0FBTyxDQUFrQjtJQUNqQixFQUFFLENBQVM7SUFDWCxXQUFXLENBQXdCO0lBQ25DLFFBQVEsQ0FBVTtJQUNsQixNQUFNLENBQWdCO0lBQzlCLEdBQUcsQ0FBQztJQUViLFlBQ0UsVUFBc0IsRUFDdEIsRUFBVSxFQUNWLFdBQWtDLEVBQ2xDLFdBQW1CLEVBQ25CLE9BQWdCLEVBQ2hCLE1BQXNCLEVBQ3RCLE1BQXVCO1FBRXZCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPO1lBQ3JCLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxlQUFlLEVBQUU7WUFDdkUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNkLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsR0FBRyxHQUFHLHlCQUF5QixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUUzQjs7Ozs7T0FLRztJQUNILG1CQUFtQixHQUFHLENBQ3BCLEdBQXVCLEVBQ3ZCLEtBQWtCLEVBQ0EsRUFBRTtRQUNwQixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLElBQUk7Z0JBQ0YsTUFBTSxLQUFLLEdBQXdCLEVBQUUsQ0FBQztnQkFDdEMsTUFBTSxVQUFVLEdBQWtCLEVBQUUsQ0FBQztnQkFDckMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO29CQUMxQixLQUFLLE1BQU0sTUFBTSxJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUU7d0JBQ3hDLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUU7NEJBQ3RELFNBQVM7eUJBQ1Y7d0JBQ0QsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTs0QkFDbEQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDOzRCQUN4RCxLQUFLLE1BQU0sV0FBVyxJQUFJLFlBQVksRUFBRTtnQ0FDdEMsSUFBSSxXQUFXLENBQUMsT0FBTyxLQUFLLEtBQUssRUFBRTtvQ0FDakMsT0FBTyxJQUFJLENBQUM7aUNBQ2I7NkJBQ0Y7NEJBQ0QsT0FBTyxLQUFLLENBQUM7d0JBQ2YsQ0FBQyxDQUFDLENBQUM7d0JBQ0gsSUFDRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FDaEIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ2hELENBQUMsTUFBTSxHQUFHLENBQUMsRUFDWjs0QkFDQSxTQUFTO3lCQUNWO3dCQUNELEtBQUssQ0FBQyxJQUFJLENBQUM7NEJBQ1QsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLOzRCQUNuQixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FDOUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQ3BELENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7NEJBQzdCLFVBQVUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUNyQixPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FDdkIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FDekIsQ0FBQyxxQkFBcUIsRUFBRSxDQUMxQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7eUJBQ3JCLENBQUMsQ0FBQztxQkFDSjtvQkFDRCxLQUFLLE1BQU0sS0FBSyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUU7d0JBQ3RDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUM5QjtnQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsT0FBTztxQkFDVCxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO3FCQUNoRCxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDZixPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2xCLENBQUMsQ0FBQztxQkFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZix1RUFBdUUsQ0FBQyxFQUFFLENBQzNFLENBQUM7b0JBQ0YsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNaLENBQUMsQ0FBQyxDQUFDO2FBQ047WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDWDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBRUY7OztPQUdHO0lBQ0gsU0FBUyxHQUFHLEtBQUssRUFBRSxJQUFZLEVBQWlCLEVBQUU7UUFDaEQsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDLENBQUM7SUFFRjs7T0FFRztJQUNILGVBQWUsR0FBRyxLQUFLLEVBQUUsYUFBcUIsRUFBRSxFQUFFO1FBQ2hELHdCQUF3QjtRQUN4QixNQUFNLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0QsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNELDBCQUEwQjtRQUMxQixJQUFJLGVBQWUsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLEtBQUssTUFBTSxNQUFNLElBQUksWUFBWSxFQUFFO1lBQ2pDLElBQUksZUFBZSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCxpREFBaUQsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUNqRSxDQUFDO2dCQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM5RDtpQkFBTTtnQkFDTCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2QseUNBQXlDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FDekQsQ0FBQztnQkFDRixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDbEU7U0FDRjtRQUVELHlEQUF5RDtRQUN6RCxlQUFlLEdBQUcsVUFBVSxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUM3RCw0QkFBNEI7UUFDNUIsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3BFLENBQUMsQ0FBQztJQUVGOzs7OztPQUtHO0lBQ0gsc0JBQXNCLEdBQUcsS0FBSyxFQUM1QixxQkFBb0MsRUFDcEMsYUFBcUIsRUFDckIsRUFBRTtRQUNGLEtBQUssTUFBTSxLQUFLLElBQUkscUJBQXFCLEVBQUU7WUFDekMsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEQsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLFVBQVUsSUFBSSxHQUFHLENBQUMsV0FBVyxFQUFFO2dCQUM1QyxJQUFJLEdBQUcsQ0FBQyxXQUFXLEdBQUcsYUFBYTtvQkFDakMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUNqQyxLQUFLLEVBQ0wsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUNaLEdBQUcsQ0FBQyxVQUFVLEVBQ2QsR0FBRyxDQUFDLFdBQVcsQ0FDaEIsQ0FBQzthQUNMO2lCQUFNO2dCQUNMLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCx3QkFBd0IsS0FBSyxnQ0FBZ0MsQ0FDOUQsQ0FBQzthQUNIO1NBQ0Y7SUFDSCxDQUFDLENBQUM7SUFFRjs7O09BR0c7SUFDSCxtQkFBbUIsR0FBRyxLQUFLLEVBQ3pCLEtBQWEsRUFDc0IsRUFBRTtRQUNyQyxJQUFJO1lBQ0YsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckQsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM5QztRQUFDLE1BQU07WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxtQkFBbUIsQ0FBQyxDQUFDO1lBQzNELE9BQU8sU0FBUyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQyxDQUFDO0lBRUY7Ozs7T0FJRztJQUNILGVBQWUsR0FBRyxLQUFLLEVBQ3JCLGFBQXFCLEVBQ1MsRUFBRTtRQUNoQyxJQUFJLFFBQVEsR0FBd0IsRUFBRSxDQUFDO1FBQ3ZDLElBQUksTUFBTSxHQUFHLENBQUMsRUFDWixLQUFLLEdBQUcsZUFBZSxFQUN2QixLQUFzQixDQUFDO1FBQ3pCLE9BQU8sTUFBTSxHQUFHLEtBQUssRUFBRTtZQUNyQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLGdDQUFnQyxDQUN4RCxJQUFJLENBQUMsUUFBUSxFQUNiLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLENBQzNDLENBQUM7YUFDSDtpQkFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ25ELEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLCtCQUErQixDQUN2RCxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUNkLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLENBQzNDLENBQUM7YUFDSDs7Z0JBQU0sT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG9EQUFvRCxDQUFDLENBQUM7Z0JBQ3ZFLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQzthQUNsRDtZQUNELFFBQVEsR0FBRztnQkFDVCxHQUFHLFFBQVE7Z0JBQ1gsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FDM0IsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ2hCLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDTixHQUFHLENBQUMsY0FBYyxHQUFHLGFBQWE7b0JBQ2xDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDckQsQ0FDRixDQUFDO2FBQ0gsQ0FBQztZQUNGLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxlQUFlLENBQUM7U0FDM0I7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDLENBQUM7SUFFRjs7O09BR0c7SUFDSCxVQUFVLEdBQUcsS0FBSyxFQUFFLElBQVksRUFBRSxFQUFFO1FBQ2xDLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUQsT0FBTztZQUNMLEVBQUUsRUFBRSxFQUFFLENBQUMsT0FBTztZQUNkLE1BQU0sRUFBRSxFQUFFLENBQUMsZUFBZTtTQUMzQixDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUY7OztPQUdHO0lBQ0gsY0FBYyxHQUFHLEtBQUssRUFBRSxLQUF3QixFQUFFLEVBQUU7UUFDbEQsTUFBTSxjQUFjLEdBQXdCLEVBQUUsQ0FBQztRQUMvQyxLQUFLLE1BQU0sR0FBRyxJQUFJLEtBQUssRUFBRTtZQUN2QixJQUFJLFVBQVUsRUFBRSxXQUFXLENBQUM7WUFDNUIsSUFBSSxHQUFHLENBQUMsa0JBQWtCLEVBQUU7Z0JBQzFCLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztnQkFDNUQsVUFBVSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3RCLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO2FBQzVCO1lBQ0QsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ2pFLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ2xCLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFO2dCQUNoQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FDOUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FDaEMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUN0QyxDQUNGLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQzdCLFVBQVUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUMvRCxRQUFRLENBQ1Q7Z0JBQ0QsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO2dCQUNwQixNQUFNLEVBQUUsR0FBRyxDQUFDLGdCQUFnQjtnQkFDNUIsVUFBVSxFQUFFLFVBQVU7Z0JBQ3RCLFdBQVcsRUFBRSxXQUFXO2FBQ3pCLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQyxDQUFDO0lBRUY7OztPQUdHO0lBQ0gsV0FBVyxHQUFHLENBQUMsR0FBZSxFQUFFLEVBQUU7UUFDaEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDOUIsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM1RCxJQUFJLGNBQWMsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDN0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICd0eXBlb3JtJztcbmltcG9ydCAqIGFzIGVyZ29MaWIgZnJvbSAnZXJnby1saWItd2FzbS1ub2RlanMnO1xuaW1wb3J0IHsgQnVmZmVyIH0gZnJvbSAnYnVmZmVyJztcbmltcG9ydCB7IGludGVyc2VjdGlvbiwgZGlmZmVyZW5jZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEV4dHJhY3RvciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lcic7XG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciwgRHVtbXlMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2xvZ2dlci1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmxvY2tFbnRpdHkgfSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXInO1xuaW1wb3J0IGVyZ29FeHBsb3JlckNsaWVudEZhY3RvcnkgZnJvbSAnQHJvc2VuLWNsaWVudHMvZXJnby1leHBsb3Jlcic7XG5pbXBvcnQge1xuICBJdGVtc091dHB1dEluZm8sXG4gIE91dHB1dEluZm8sXG59IGZyb20gJ0Byb3Nlbi1jbGllbnRzL2VyZ28tZXhwbG9yZXIvZGlzdC9zcmMvdjEvdHlwZXMnO1xuXG5pbXBvcnQgeyBCb3hFbnRpdHlBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zL2JveEFjdGlvbic7XG5pbXBvcnQgeyBKc29uQkkgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBEZWZhdWx0QXBpTGltaXQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRXh0cmFjdGVkQm94IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBFcmdvVVRYT0V4dHJhY3RvciBpbXBsZW1lbnRzIEFic3RyYWN0RXh0cmFjdG9yPFRyYW5zYWN0aW9uPiB7XG4gIHJlYWRvbmx5IGxvZ2dlcjogQWJzdHJhY3RMb2dnZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0YVNvdXJjZTogRGF0YVNvdXJjZTtcbiAgcmVhZG9ubHkgYWN0aW9uczogQm94RW50aXR5QWN0aW9uO1xuICBwcml2YXRlIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgbmV0d29ya1R5cGU6IGVyZ29MaWIuTmV0d29ya1ByZWZpeDtcbiAgcHJpdmF0ZSByZWFkb25seSBlcmdvVHJlZT86IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSB0b2tlbnM6IEFycmF5PHN0cmluZz47XG4gIHJlYWRvbmx5IGFwaTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBkYXRhU291cmNlOiBEYXRhU291cmNlLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgbmV0d29ya1R5cGU6IGVyZ29MaWIuTmV0d29ya1ByZWZpeCxcbiAgICBleHBsb3JlclVybDogc3RyaW5nLFxuICAgIGFkZHJlc3M/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
@@ -1,4 +0,0 @@
1
- export { ErgoUTXOExtractor } from './extractor/ergoUtxoExtractor';
2
- export { BoxEntity } from './entities/boxEntity';
3
- export { migrations } from './migrations/index';
4
- //# sourceMappingURL=index.d.ts.map
@@ -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"}
@@ -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"}
@@ -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
@@ -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=